From 166a6fde20aecc2fdc8af699fdabd9e9947f30aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 3 Jun 2024 22:30:12 +0200 Subject: [PATCH] Add feature to set concerned persons in a ticket This commit adds the functionality to set and change the concerned persons in a ticket within the ChillTicketBundle. New vuejs components, serializers, and store modules have been introduced to achieve this. Moreover, necessary changes have been made in existing components and store index to support this functionality. --- .../src/Controller/SetPersonsController.php | 2 + .../components/ActionToolbarComponent.vue | 33 ++++- .../components/PersonsSelectorComponent.vue | 131 ++++++++++++++++++ .../public/vuejs/TicketApp/i18n/messages.ts | 4 + .../public/vuejs/TicketApp/store/index.ts | 3 + .../vuejs/TicketApp/store/modules/persons.ts | 32 +++++ .../vuejs/TicketApp/store/modules/ticket.ts | 1 + .../SetPersonsCommandDenormalizer.php | 51 +++++++ 8 files changed, 254 insertions(+), 3 deletions(-) create mode 100644 src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/PersonsSelectorComponent.vue create mode 100644 src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/store/modules/persons.ts create mode 100644 src/Bundle/ChillTicketBundle/src/Serializer/Normalizer/SetPersonsCommandDenormalizer.php diff --git a/src/Bundle/ChillTicketBundle/src/Controller/SetPersonsController.php b/src/Bundle/ChillTicketBundle/src/Controller/SetPersonsController.php index 3fbe254a8..5289243c2 100644 --- a/src/Bundle/ChillTicketBundle/src/Controller/SetPersonsController.php +++ b/src/Bundle/ChillTicketBundle/src/Controller/SetPersonsController.php @@ -44,6 +44,8 @@ final readonly class SetPersonsController $command = $this->serializer->deserialize($request->getContent(), SetPersonsCommand::class, 'json', [AbstractNormalizer::GROUPS => ['read']]); + dump($command); + return $this->registerSetPersons($command, $ticket); } diff --git a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue index f21dc1278..c73aed8a5 100644 --- a/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue +++ b/src/Bundle/ChillTicketBundle/src/Resources/public/vuejs/TicketApp/components/ActionToolbarComponent.vue @@ -8,7 +8,7 @@ -
+
  • -
  • +