notification: add more variable in twig template

This commit is contained in:
2022-01-04 17:00:31 +01:00
parent 3a207b2c5d
commit a8fe049ecd
5 changed files with 49 additions and 10 deletions

View File

@@ -14,9 +14,17 @@ namespace Chill\PersonBundle\Notification;
use Chill\MainBundle\Entity\Notification;
use Chill\MainBundle\Notification\NotificationHandlerInterface;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Chill\PersonBundle\Repository\AccompanyingPeriodRepository;
final class AccompanyingPeriodNotificationRenderer implements NotificationHandlerInterface
final class AccompanyingPeriodNotificationHandler implements NotificationHandlerInterface
{
private AccompanyingPeriodRepository $accompanyingPeriodRepository;
public function __construct(AccompanyingPeriodRepository $accompanyingPeriodRepository)
{
$this->accompanyingPeriodRepository = $accompanyingPeriodRepository;
}
public function getTemplate()
{
return 'ChillPersonBundle:AccompanyingPeriod:showInNotification.html.twig';
@@ -24,7 +32,10 @@ final class AccompanyingPeriodNotificationRenderer implements NotificationHandle
public function getTemplateData(Notification $notification)
{
return ['notification' => $notification];
return [
'notification' => $notification,
'period' => $this->accompanyingPeriodRepository->find($notification->getRelatedEntityId()),
];
}
public function supports(Notification $notification)

View File

@@ -1,3 +1,12 @@
<a href="{{ path('chill_person_accompanying_course_index', {'accompanying_period_id': notification.relatedEntityId }) }}">
Go to Acc. period.
</a>
{# variables availables: notification, period. #}
{% if period is not null %}
{% if is_granted('CHILL_PERSON_ACCOMPANYING_PERIOD_SEE', period) %}
<a href="{{ path('chill_person_accompanying_course_index', {'accompanying_period_id': notification.relatedEntityId }) }}">
Go to Acc. period.
</a>
{% else %}
You are getting a notification for a period you are not allowed to see. This is the minimal details: {{ period.id }}
{% endif %}
{% else %}
<div>You are getting a notification for a period which does not exists any more</div>
{% endif %}

View File

@@ -1,4 +1,4 @@
services:
Chill\PersonBundle\Notification\AccompanyingPeriodNotificationRenderer:
Chill\PersonBundle\Notification\AccompanyingPeriodNotificationHandler:
autowire: true
autoconfigure: true