Skip to content

Commit 23d9c58

Browse files
Merge pull request #6622 from christianbeeznest/GH-2791
User: Associate new users to current AccessUrl - refs #2791
2 parents 953ee51 + 60d3f56 commit 23d9c58

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

src/CoreBundle/Entity/Listener/UserListener.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
use Chamilo\CoreBundle\Entity\ResourceNode;
1010
use Chamilo\CoreBundle\Entity\User;
11+
use Chamilo\CoreBundle\Helpers\AccessUrlHelper;
1112
use Chamilo\CoreBundle\Repository\Node\UserRepository;
1213
use Doctrine\ORM\Event\PrePersistEventArgs;
1314
use Doctrine\ORM\Event\PreRemoveEventArgs;
@@ -21,7 +22,8 @@ class UserListener
2122
public function __construct(
2223
private UserRepository $userRepository,
2324
private Security $security,
24-
private readonly TranslatorInterface $translator
25+
private readonly TranslatorInterface $translator,
26+
private AccessUrlHelper $accessUrlHelper
2527
) {}
2628

2729
/**
@@ -32,6 +34,13 @@ public function prePersist(User $user, PrePersistEventArgs $args): void
3234
$this->userRepository->updateCanonicalFields($user);
3335
$this->userRepository->updatePassword($user);
3436

37+
if ($user->getPortals()->isEmpty()) {
38+
$currentUrl = $this->accessUrlHelper->getCurrent();
39+
if (null !== $currentUrl) {
40+
$user->setCurrentUrl($currentUrl);
41+
}
42+
}
43+
3544
if ($user->isSkipResourceNode()) {
3645
return;
3746
}

src/CoreBundle/Resources/config/listeners.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,13 @@ services:
8787

8888
# When the User entity is created/updated -
8989
Chamilo\CoreBundle\Entity\Listener\UserListener:
90-
tags:
91-
- {name: doctrine.orm.entity_listener, entity_manager: default, lazy: true}
90+
arguments:
91+
- '@Chamilo\CoreBundle\Repository\Node\UserRepository'
92+
- '@security.helper'
93+
- '@translator'
94+
- '@Chamilo\CoreBundle\Helpers\AccessUrlHelper'
95+
tags:
96+
- { name: doctrine.orm.entity_listener, entity_manager: default, lazy: true }
9297

9398
Chamilo\CoreBundle\Entity\Listener\UserRelUserListener:
9499
tags:

0 commit comments

Comments
 (0)