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

@@ -12,11 +12,19 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Notification;
use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Repository\ActivityRepository;
use Chill\MainBundle\Entity\Notification;
use Chill\MainBundle\Notification\NotificationHandlerInterface;
final class ActivityNotificationRenderer implements NotificationHandlerInterface
final class ActivityNotificationHandler implements NotificationHandlerInterface
{
private ActivityRepository $activityRepository;
public function __construct(ActivityRepository $activityRepository)
{
$this->activityRepository = $activityRepository;
}
public function getTemplate()
{
return '@ChillActivity/Activity/showInNotification.html.twig';
@@ -24,7 +32,10 @@ final class ActivityNotificationRenderer implements NotificationHandlerInterface
public function getTemplateData(Notification $notification)
{
return ['notification' => $notification];
return [
'notification' => $notification,
'activity' => $this->activityRepository->find($notification->getRelatedEntityId()),
];
}
public function supports(Notification $notification, array $options = []): bool

View File

@@ -1,2 +1,10 @@
<a href="{{ path('chill_activity_activity_show', {'id': notification.relatedEntityId }) }}">Go to Activity</a>
{# available variables: notification, activity #}
{% if activity is not null %}
{% if is_granted('CHILL_ACTIVITY_SEE', activity) %}
<a href="{{ path('chill_activity_activity_show', {'id': activity.id }) }}">Go to Activity</a>
{% else %}
you are not allowed to see it details. This is the minimal data: {{ activity.id }}
{% endif %}
{% else %}
You get notified of an activity which does not exists any more.
{% endif %}