mirror of
https://github.com/nextcloud/server.git
synced 2026-03-21 18:11:02 -04:00
Differenciate the activity depending on admin vs user action
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
f98044ddce
commit
a6882deebc
2 changed files with 12 additions and 2 deletions
|
|
@ -115,7 +115,11 @@ class Provider implements IProvider {
|
|||
} elseif ($event->getSubject() === self::EMAIL_CHANGED) {
|
||||
$subject = $this->l->t('Your email address was changed by an administrator');
|
||||
} elseif ($event->getSubject() === self::APP_TOKEN_CREATED) {
|
||||
$subject = $this->l->t('You created app password "{token}"');
|
||||
if ($event->getAffectedUser() === $event->getAuthor()) {
|
||||
$subject = $this->l->t('You created app password "{token}"');
|
||||
} else {
|
||||
$subject = $this->l->t('An administrator created app password "{token}"');
|
||||
}
|
||||
} elseif ($event->getSubject() === self::APP_TOKEN_DELETED) {
|
||||
$subject = $this->l->t('You deleted app password "{token}"');
|
||||
} elseif ($event->getSubject() === self::APP_TOKEN_RENAMED) {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ use OCA\Settings\Activity\Provider;
|
|||
use OCP\Activity\IManager as IActivityManager;
|
||||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventListener;
|
||||
use OCP\IUserSession;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
|
|
@ -40,12 +41,17 @@ class AppPasswordCreatedActivityListener implements IEventListener {
|
|||
/** @var IActivityManager */
|
||||
private $activityManager;
|
||||
|
||||
/** @var IUserSession */
|
||||
private $userSession;
|
||||
|
||||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
|
||||
public function __construct(IActivityManager $activityManager,
|
||||
IUserSession $userSession,
|
||||
LoggerInterface $logger) {
|
||||
$this->activityManager = $activityManager;
|
||||
$this->userSession = $userSession;
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +64,7 @@ class AppPasswordCreatedActivityListener implements IEventListener {
|
|||
$activity->setApp('settings')
|
||||
->setType('security')
|
||||
->setAffectedUser($event->getToken()->getUID())
|
||||
->setAuthor($event->getToken()->getUID())
|
||||
->setAuthor($this->userSession->getUser() ? $this->userSession->getUser()->getUID() : '')
|
||||
->setSubject(Provider::APP_TOKEN_CREATED, ['name' => $event->getToken()->getName()])
|
||||
->setObject('app_token', $event->getToken()->getId());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue