|
|
|
@ -6,6 +6,7 @@ declare(strict_types=1); |
|
|
|
|
|
|
|
|
|
namespace Chamilo\CoreBundle\Entity\Listener; |
|
|
|
|
|
|
|
|
|
use Chamilo\CoreBundle\Entity\Message; |
|
|
|
|
use Chamilo\CoreBundle\Entity\SkillRelUser; |
|
|
|
|
use Chamilo\CoreBundle\Entity\User; |
|
|
|
|
use Chamilo\CoreBundle\Settings\SettingsManager; |
|
|
|
@ -30,34 +31,31 @@ class SkillRelUserListener |
|
|
|
|
$user = $skillRelUser->getUser(); |
|
|
|
|
$skill = $skillRelUser->getSkill(); |
|
|
|
|
|
|
|
|
|
$badgeAssignationNotification = $this->settingsManager->getSetting('skill.badge_assignation_notification'); |
|
|
|
|
|
|
|
|
|
if ('true' === $badgeAssignationNotification) { |
|
|
|
|
$url = $this->router->generate( |
|
|
|
|
'badge_issued_all', |
|
|
|
|
['skillId' => $skill->getId(), 'userId' => $user->getId()] |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$message = sprintf( |
|
|
|
|
$this->translator->trans('Hi, %s. You have achieved the skill "%s". To see the details go here: %s.'), |
|
|
|
|
$user->getFirstname(), |
|
|
|
|
$skill->getName(), |
|
|
|
|
Display::url($url, $url) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (null !== $this->security->getToken()) { |
|
|
|
|
/** @var User $currentUser */ |
|
|
|
|
$currentUser = $this->security->getUser(); |
|
|
|
|
$message = (new Message()) |
|
|
|
|
->setTitle($this->translator->trans('You have achieved a new skill.')) |
|
|
|
|
->setContent($message) |
|
|
|
|
->addReceiverTo($user) |
|
|
|
|
->setSender($currentUser) |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
$event->getObjectManager()->persist($message); |
|
|
|
|
$event->getObjectManager()->flush(); |
|
|
|
|
} |
|
|
|
|
// Notification of badge assignation |
|
|
|
|
$url = $this->router->generate( |
|
|
|
|
'badge_issued_all', |
|
|
|
|
['skillId' => $skill->getId(), 'userId' => $user->getId()] |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
$message = sprintf( |
|
|
|
|
$this->translator->trans('Hi, %s. You have achieved the skill "%s". To see the details go here: %s.'), |
|
|
|
|
$user->getFirstname(), |
|
|
|
|
$skill->getName(), |
|
|
|
|
Display::url($url, $url) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (null !== $this->security->getToken()) { |
|
|
|
|
/** @var User $currentUser */ |
|
|
|
|
$currentUser = $this->security->getUser(); |
|
|
|
|
$message = (new Message()) |
|
|
|
|
->setTitle($this->translator->trans('You have achieved a new skill.')) |
|
|
|
|
->setContent($message) |
|
|
|
|
->addReceiverTo($user) |
|
|
|
|
->setSender($currentUser) |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
$event->getObjectManager()->persist($message); |
|
|
|
|
$event->getObjectManager()->flush(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|