From e876b75d417770f9b5aef092367f69928f8fdd1c Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Mon, 4 Dec 2023 15:13:12 +0100 Subject: [PATCH] Add delete functionality in admin for news item --- .../ChillMainExtension.php | 7 ++++ .../Resources/views/NewsItem/delete.html.twig | 6 +++ .../Resources/views/NewsItem/index.html.twig | 3 ++ .../Templating/Entity/NewsItemRender.php | 39 +++++++++++++++++++ .../config/services/templating.yaml | 2 + .../translations/messages.fr.yml | 3 ++ 6 files changed, 60 insertions(+) create mode 100644 src/Bundle/ChillMainBundle/Resources/views/NewsItem/delete.html.twig create mode 100644 src/Bundle/ChillMainBundle/Templating/Entity/NewsItemRender.php diff --git a/src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php b/src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php index 1621471b8..8b61ae4f1 100644 --- a/src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php +++ b/src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php @@ -562,10 +562,17 @@ class ChillMainExtension extends Extension implements 'role' => 'ROLE_ADMIN', 'template' => '@ChillMain/NewsItem/new.html.twig', ], + 'view' => [ + 'role' => '', + ], 'edit' => [ 'role' => 'ROLE_ADMIN', 'template' => '@ChillMain/NewsItem/edit.html.twig', ], + 'delete' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillMain/NewsItem/delete.html.twig', + ] ], ], ], diff --git a/src/Bundle/ChillMainBundle/Resources/views/NewsItem/delete.html.twig b/src/Bundle/ChillMainBundle/Resources/views/NewsItem/delete.html.twig new file mode 100644 index 000000000..cf55ef2f7 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/views/NewsItem/delete.html.twig @@ -0,0 +1,6 @@ +{% extends '@ChillMain/CRUD/Admin/index.html.twig' %} + +{% block admin_content %} + {% embed '@ChillMain/CRUD/delete.html.twig' %} + {% endembed %} +{% endblock admin_content %} diff --git a/src/Bundle/ChillMainBundle/Resources/views/NewsItem/index.html.twig b/src/Bundle/ChillMainBundle/Resources/views/NewsItem/index.html.twig index 4eb02945b..3e5d08cee 100644 --- a/src/Bundle/ChillMainBundle/Resources/views/NewsItem/index.html.twig +++ b/src/Bundle/ChillMainBundle/Resources/views/NewsItem/index.html.twig @@ -22,6 +22,9 @@
  • +
  • + +
  • diff --git a/src/Bundle/ChillMainBundle/Templating/Entity/NewsItemRender.php b/src/Bundle/ChillMainBundle/Templating/Entity/NewsItemRender.php new file mode 100644 index 000000000..1faaf4213 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Templating/Entity/NewsItemRender.php @@ -0,0 +1,39 @@ + + */ +final readonly class NewsItemRender implements ChillEntityRenderInterface +{ + public function __construct(private TranslatableStringHelper $translatableStringHelper, private \Twig\Environment $engine) {} + + public function renderBox($entity, array $options): string + { + return ''; + } + + public function renderString($entity, array $options): string + { + return $entity->getTitle(); + } + + public function supports($newsItem, array $options): bool + { + return $newsItem instanceof NewsItem; + } +} diff --git a/src/Bundle/ChillMainBundle/config/services/templating.yaml b/src/Bundle/ChillMainBundle/config/services/templating.yaml index e69700732..0baa91b69 100644 --- a/src/Bundle/ChillMainBundle/config/services/templating.yaml +++ b/src/Bundle/ChillMainBundle/config/services/templating.yaml @@ -47,6 +47,8 @@ services: Chill\MainBundle\Templating\Entity\AddressRender: ~ + Chill\MainBundle\Templating\Entity\NewsItemRender: ~ + Chill\MainBundle\Templating\Entity\UserRender: ~ Chill\MainBundle\Templating\Listing\: diff --git a/src/Bundle/ChillMainBundle/translations/messages.fr.yml b/src/Bundle/ChillMainBundle/translations/messages.fr.yml index d64af4dbe..40bf1081e 100644 --- a/src/Bundle/ChillMainBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillMainBundle/translations/messages.fr.yml @@ -436,6 +436,9 @@ crud: add_new: Créer une nouvelle actualité title_new: Nouvelle actualité title_edit: Modifier une actualité + title_delete: Supprimer une actualité + button_delete: Supprimer + confirm_message_delete: Êtes-vous sûr de vouloir supprimer l'actualité, "%as_string%" ? No entities: Aucun élément