From af9ffadb0824892ec148f6b67374d114981f683c Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos <1697880+AngelFQC@users.noreply.github.com> Date: Fri, 29 Nov 2024 19:22:16 -0500 Subject: [PATCH] Internal: create login record after inscription of new user --- public/main/auth/inscription.php | 8 ++++++-- src/CoreBundle/Framework/Container.php | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/public/main/auth/inscription.php b/public/main/auth/inscription.php index 15c713b32a..b97a55ff63 100644 --- a/public/main/auth/inscription.php +++ b/public/main/auth/inscription.php @@ -2,6 +2,7 @@ /* For licensing terms, see /license.txt */ use Chamilo\CoreBundle\Entity\User; +use Chamilo\CoreBundle\Framework\Container; use Chamilo\CoreBundle\ServiceHelper\ContainerHelper; use ChamiloSession as Session; use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken; @@ -1159,6 +1160,7 @@ if ($form->validate()) { $token = new UsernamePasswordToken($userEntity, $providerKey, $roles); $container->get(ContainerHelper::class)->getTokenStorage()->setToken($token); + $request = $container->get('request_stack')->getMainRequest(); $sessionHandler = $container->get('request_stack')->getSession(); $sessionHandler->set('_security_' . $providerKey, serialize($token)); $userData = [ @@ -1174,9 +1176,11 @@ if ($form->validate()) { $is_allowedCreateCourse = isset($values['status']) && 1 == $values['status']; $sessionHandler->set('is_allowedCreateCourse', $is_allowedCreateCourse); - // Stats - //Event::eventLogin($user_id); + Container::getTrackELoginRepository() + ->createLoginRecord($userEntity, new DateTime(), $request->getClientIp()) + ; + // @todo implement Auto-subscribe according to STATUS_autosubscribe setting // last user login date is now $user_last_login_datetime = 0; // used as a unix timestamp it will correspond to : 1 1 1970 diff --git a/src/CoreBundle/Framework/Container.php b/src/CoreBundle/Framework/Container.php index 821d7472aa..a15e42fe2e 100644 --- a/src/CoreBundle/Framework/Container.php +++ b/src/CoreBundle/Framework/Container.php @@ -39,6 +39,7 @@ use Chamilo\CoreBundle\Repository\TagRepository; use Chamilo\CoreBundle\Repository\TrackEDownloadsRepository; use Chamilo\CoreBundle\Repository\TrackEExerciseRepository; use Chamilo\CoreBundle\Repository\TrackELoginRecordRepository; +use Chamilo\CoreBundle\Repository\TrackELoginRepository; use Chamilo\CoreBundle\Serializer\UserToJsonNormalizer; use Chamilo\CoreBundle\ServiceHelper\ContainerHelper; use Chamilo\CoreBundle\ServiceHelper\ThemeHelper; @@ -641,6 +642,11 @@ class Container return self::$container->get(SocialPostRepository::class); } + public static function getTrackELoginRepository(): TrackELoginRepository + { + return self::$container->get(TrackELoginRepository::class); + } + public static function getTrackELoginRecordRepository(): TrackELoginRecordRepository { return self::$container->get(TrackELoginRecordRepository::class);