{{ 'form.warning' | trans }}:
- {{ 'security.login.logged_in_as'|trans({'%username%': app.user.username}) }}
+ {{ 'security.login.logged_in_as'|trans({'%username%': attribute(app.user, 'userIdentifier') is defined ? app.user.userIdentifier : app.user.username }) }}
{{ 'security.login.logout'|trans }}
diff --git a/src/Kunstmaan/AdminListBundle/Repository/EntityVersionLockRepository.php b/src/Kunstmaan/AdminListBundle/Repository/EntityVersionLockRepository.php
index 6c2b5cdc47..ba4725633c 100644
--- a/src/Kunstmaan/AdminListBundle/Repository/EntityVersionLockRepository.php
+++ b/src/Kunstmaan/AdminListBundle/Repository/EntityVersionLockRepository.php
@@ -31,7 +31,7 @@ public function getLocksForLockableEntity(LockableEntity $entity, $threshold, Us
if (!\is_null($userToExclude)) {
$qb->andWhere('evl.owner <> :owner')
- ->setParameter('owner', $userToExclude->getUsername())
+ ->setParameter('owner', method_exists($userToExclude, 'getUserIdentifier') ? $userToExclude->getUserIdentifier() : $userToExclude->getUsername())
;
}
diff --git a/src/Kunstmaan/AdminListBundle/Service/EntityVersionLockService.php b/src/Kunstmaan/AdminListBundle/Service/EntityVersionLockService.php
index 6980e18d2d..9a7da5c9fb 100644
--- a/src/Kunstmaan/AdminListBundle/Service/EntityVersionLockService.php
+++ b/src/Kunstmaan/AdminListBundle/Service/EntityVersionLockService.php
@@ -80,13 +80,13 @@ protected function createEntityVersionLock(UserInterface $user, LockableEntity $
{
/** @var EntityVersionLock $lock */
$lock = $this->objectManager->getRepository(EntityVersionLock::class)->findOneBy([
- 'owner' => $user->getUsername(),
+ 'owner' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(),
'lockableEntity' => $entity,
]);
if (!$lock) {
$lock = new EntityVersionLock();
}
- $lock->setOwner($user->getUsername());
+ $lock->setOwner(method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername());
$lock->setLockableEntity($entity);
$lock->setCreatedAt(new \DateTime());
$this->objectManager->persist($lock);
diff --git a/src/Kunstmaan/AdminListBundle/Tests/Service/EntityVersionLockServiceTest.php b/src/Kunstmaan/AdminListBundle/Tests/Service/EntityVersionLockServiceTest.php
index 57b1e57f23..8342ce2288 100644
--- a/src/Kunstmaan/AdminListBundle/Tests/Service/EntityVersionLockServiceTest.php
+++ b/src/Kunstmaan/AdminListBundle/Tests/Service/EntityVersionLockServiceTest.php
@@ -80,7 +80,7 @@ protected function setUp(): void
$entityVersionLock->setCreatedAt(new \DateTime());
$expiredEntityVersionLock = new EntityVersionLock();
- $expiredEntityVersionLock->setOwner($user->getUsername());
+ $expiredEntityVersionLock->setOwner(method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername());
$expiredEntityVersionLock->setLockableEntity($outDatedEntity);
$expiredEntityVersionLock->setCreatedAt(new \DateTime('-1 days'));
diff --git a/src/Kunstmaan/NodeBundle/EventListener/LogPageEventsSubscriber.php b/src/Kunstmaan/NodeBundle/EventListener/LogPageEventsSubscriber.php
index 239226a623..af04361b3e 100644
--- a/src/Kunstmaan/NodeBundle/EventListener/LogPageEventsSubscriber.php
+++ b/src/Kunstmaan/NodeBundle/EventListener/LogPageEventsSubscriber.php
@@ -38,26 +38,6 @@ public function __construct(Logger $logger, TokenStorageInterface $tokenStorage)
$this->tokenStorage = $tokenStorage;
}
- /**
- * Returns an array of event names this subscriber wants to listen to.
- *
- * The array keys are event names and the value can be:
- *
- * * The method name to call (priority defaults to 0)
- * * An array composed of the method name to call and the priority
- * * An array of arrays composed of the method names to call and respective
- * priorities, or 0 if unset
- *
- * For instance:
- *
- * * array('eventName' => 'methodName')
- * * array('eventName' => array('methodName', $priority))
- * * array('eventName' => array(array('methodName1', $priority), array('methodName2'))
- *
- * @return array The event names to listen to
- *
- * @api
- */
public static function getSubscribedEvents()
{
return [
@@ -74,10 +54,7 @@ public static function getSubscribedEvents()
];
}
- /**
- * @return UserInterface
- */
- private function getUser()
+ private function getUser(): UserInterface
{
if (\is_null($this->user)) {
$this->user = $this->tokenStorage->getToken()->getUser();
@@ -88,51 +65,58 @@ private function getUser()
public function onCopyPageTranslation(CopyPageTranslationNodeEvent $event)
{
- $this->logger->info(sprintf('%s just copied the page translation from %s (%d) to %s (%d) for node with id %d', $this->getUser()->getUsername(), $event->getOriginalLanguage(), $event->getOriginalPage()->getId(), $event->getNodeTranslation()->getLang(), $event->getPage()->getId(), $event->getNode()->getId()));
+ $this->logger->info(sprintf('%s just copied the page translation from %s (%d) to %s (%d) for node with id %d', $this->getUsername(), $event->getOriginalLanguage(), $event->getOriginalPage()->getId(), $event->getNodeTranslation()->getLang(), $event->getPage()->getId(), $event->getNode()->getId()));
}
public function onRecopyPageTranslation(RecopyPageTranslationNodeEvent $event)
{
- $this->logger->info(sprintf('%s just recopied the page translation from %s (%d) to %s (%d) for node with id %d', $this->getUser()->getUsername(), $event->getOriginalLanguage(), $event->getOriginalPage()->getId(), $event->getNodeTranslation()->getLang(), $event->getPage()->getId(), $event->getNode()->getId()));
+ $this->logger->info(sprintf('%s just recopied the page translation from %s (%d) to %s (%d) for node with id %d', $this->getUsername(), $event->getOriginalLanguage(), $event->getOriginalPage()->getId(), $event->getNodeTranslation()->getLang(), $event->getPage()->getId(), $event->getNode()->getId()));
}
public function onAddEmptyPageTranslation(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just added an empty page translation (%d) for node with id %d in language %s', $this->getUser()->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just added an empty page translation (%d) for node with id %d in language %s', $this->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function postPublish(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just published the page with id %d for node %d in language %s', $this->getUser()->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just published the page with id %d for node %d in language %s', $this->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function postUnPublish(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just unpublished the page with id %d for node %d in language %s', $this->getUser()->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just unpublished the page with id %d for node %d in language %s', $this->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function postDelete(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just deleted node with id %d', $this->getUser()->getUsername(), $event->getNode()->getId()));
+ $this->logger->info(sprintf('%s just deleted node with id %d', $this->getUsername(), $event->getNode()->getId()));
}
public function onAddNode(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just added node with id %d in language %s', $this->getUser()->getUsername(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just added node with id %d in language %s', $this->getUsername(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function postPersist(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just updated page with id %d for node %d in language %s', $this->getUser()->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just updated page with id %d for node %d in language %s', $this->getUsername(), $event->getPage()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function onCreatePublicVersion(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just created a new public version %d for node %d in language %s', $this->getUser()->getUsername(), $event->getNodeVersion()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just created a new public version %d for node %d in language %s', $this->getUsername(), $event->getNodeVersion()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
}
public function onCreateDraftVersion(NodeEvent $event)
{
- $this->logger->info(sprintf('%s just created a draft version %d for node %d in language %s', $this->getUser()->getUsername(), $event->getNodeVersion()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ $this->logger->info(sprintf('%s just created a draft version %d for node %d in language %s', $this->getUsername(), $event->getNodeVersion()->getId(), $event->getNode()->getId(), $event->getNodeTranslation()->getLang()));
+ }
+
+ private function getUsername(): string
+ {
+ $user = $this->getUser();
+
+ return method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername();
}
}
diff --git a/src/Kunstmaan/NodeBundle/Helper/NodeAdmin/NodeVersionLockHelper.php b/src/Kunstmaan/NodeBundle/Helper/NodeAdmin/NodeVersionLockHelper.php
index 63d108c35f..00528ee8a3 100644
--- a/src/Kunstmaan/NodeBundle/Helper/NodeAdmin/NodeVersionLockHelper.php
+++ b/src/Kunstmaan/NodeBundle/Helper/NodeAdmin/NodeVersionLockHelper.php
@@ -88,14 +88,14 @@ protected function removeExpiredLocks(NodeTranslation $nodeTranslation)
protected function createNodeVersionLock(BaseUser $user, NodeTranslation $nodeTranslation, $isPublicVersion)
{
$lock = $this->objectManager->getRepository(NodeVersionLock::class)->findOneBy([
- 'owner' => $user->getUsername(),
+ 'owner' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(),
'nodeTranslation' => $nodeTranslation,
'publicVersion' => $isPublicVersion,
]);
if (!$lock) {
$lock = new NodeVersionLock();
}
- $lock->setOwner($user->getUsername());
+ $lock->setOwner(method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername());
$lock->setNodeTranslation($nodeTranslation);
$lock->setPublicVersion($isPublicVersion);
$lock->setCreatedAt(new \DateTime());
diff --git a/src/Kunstmaan/NodeBundle/Repository/NodeVersionLockRepository.php b/src/Kunstmaan/NodeBundle/Repository/NodeVersionLockRepository.php
index de831d6f9e..07a4736d8e 100644
--- a/src/Kunstmaan/NodeBundle/Repository/NodeVersionLockRepository.php
+++ b/src/Kunstmaan/NodeBundle/Repository/NodeVersionLockRepository.php
@@ -31,7 +31,7 @@ public function getLocksForNodeTranslation(NodeTranslation $nodeTranslation, $is
if (!\is_null($userToExclude)) {
$qb->andWhere('nvl.owner <> :owner')
- ->setParameter('owner', $userToExclude->getUsername())
+ ->setParameter('owner', method_exists($userToExclude, 'getUserIdentifier') ? $userToExclude->getUserIdentifier() : $userToExclude->getUsername())
;
}
diff --git a/src/Kunstmaan/UserManagementBundle/Controller/UsersController.php b/src/Kunstmaan/UserManagementBundle/Controller/UsersController.php
index 0f92290a61..f38ab225a5 100644
--- a/src/Kunstmaan/UserManagementBundle/Controller/UsersController.php
+++ b/src/Kunstmaan/UserManagementBundle/Controller/UsersController.php
@@ -129,13 +129,13 @@ public function addAction(Request $request)
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$user->setPasswordChanged(true);
- $user->setCreatedBy($this->getUser()->getUsername());
+ $user->setCreatedBy(method_exists($this->getUser(), 'getUserIdentifier') ? $this->getUser()->getUserIdentifier() : $this->getUser()->getUsername());
$this->userManager->updateUser($user, true);
$this->addFlash(
FlashTypes::SUCCESS,
$this->translator->trans('kuma_user.users.add.flash.success.%username%', [
- '%username%' => $user->getUsername(),
+ '%username%' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(),
])
);
@@ -208,7 +208,7 @@ public function editAction(Request $request, $id)
$this->addFlash(
FlashTypes::SUCCESS,
$this->translator->trans('kuma_user.users.edit.flash.success.%username%', [
- '%username%' => $user->getUsername(),
+ '%username%' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(),
])
);
@@ -245,7 +245,10 @@ public function deleteFormAction(Request $request, $id)
/* @var UserInterface $user */
$user = $em->getRepository($this->getParameter('kunstmaan_admin.user_class'))->find($id);
if (!\is_null($user)) {
- $afterDeleteEvent = new AfterUserDeleteEvent($user->getUsername(), $this->getUser()->getUsername());
+ $deletedUser = method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername();
+ $deletedBy = method_exists($this->getUser(), 'getUserIdentifier') ? $this->getUser()->getUserIdentifier() : $this->getUser()->getUsername()
+
+ $afterDeleteEvent = new AfterUserDeleteEvent($deletedUser, $deletedBy);
$em->remove($user);
$em->flush();
@@ -255,7 +258,7 @@ public function deleteFormAction(Request $request, $id)
$this->addFlash(
FlashTypes::SUCCESS,
$this->translator->trans('kuma_user.users.delete.flash.success.%username%', [
- '%username%' => $user->getUsername(),
+ '%username%' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(),
])
);
}
diff --git a/src/Kunstmaan/UserManagementBundle/Resources/views/AdminList/ItemAction/delete.html.twig b/src/Kunstmaan/UserManagementBundle/Resources/views/AdminList/ItemAction/delete.html.twig
index ae092a7c7b..9add333ac8 100644
--- a/src/Kunstmaan/UserManagementBundle/Resources/views/AdminList/ItemAction/delete.html.twig
+++ b/src/Kunstmaan/UserManagementBundle/Resources/views/AdminList/ItemAction/delete.html.twig
@@ -15,7 +15,7 @@
-
{{ 'settings.user.delete' | trans }}: {{ item.username }}
+
{{ 'settings.user.delete' | trans }}: {{ attribute(item, 'userIdentifier') is defined ? item.userIdentifier : item.username }}