From 1a52a91d7e9456bd753ecfc638e17a0be773b173 Mon Sep 17 00:00:00 2001 From: Xbird Date: Sun, 11 Sep 2022 15:33:37 +0000 Subject: [PATCH] Add jail's status + directorys history admin --- config/packages/security.yaml | 1 + migrations/Version20220910184058.php | 33 +++++++++++++++++++++ src/Controller/DirectoryController.php | 17 +++++++++++ src/Entity/Directory.php | 6 ++++ src/Entity/Jail.php | 17 +++++++++++ src/Form/JailType.php | 9 ++++++ templates/_cells/directoryActions.html.twig | 4 +++ templates/directory/history.html.twig | 12 ++++++++ translations/messages+intl-icu.en.yaml | 4 +++ translations/messages+intl-icu.fr.yaml | 4 +++ visionversion.json | 2 +- 11 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 migrations/Version20220910184058.php create mode 100644 templates/directory/history.html.twig diff --git a/config/packages/security.yaml b/config/packages/security.yaml index 7b0800f..dd72fe7 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -44,4 +44,5 @@ security: - { path: ^/reset-password, roles: PUBLIC_ACCESS } - { path: ^/share, roles: PUBLIC_ACCESS } - { path: ^/admin, roles: ROLE_ADMIN } + - { path: ^/directory/history, roles: ROLE_ADMIN } - { path: ^/, roles: IS_AUTHENTICATED_REMEMBERED } #IS_AUTHENTICATED_REMEMBERED= user is logged, with form or with cookie diff --git a/migrations/Version20220910184058.php b/migrations/Version20220910184058.php new file mode 100644 index 0000000..006b282 --- /dev/null +++ b/migrations/Version20220910184058.php @@ -0,0 +1,33 @@ +addSql('ALTER TABLE jail ADD status VARCHAR(255) NOT NULL'); + $this->addSql('UPDATE jail SET status = "🔴 To do"'); + + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE jail DROP status'); + } +} diff --git a/src/Controller/DirectoryController.php b/src/Controller/DirectoryController.php index 00d0eb3..64abd73 100644 --- a/src/Controller/DirectoryController.php +++ b/src/Controller/DirectoryController.php @@ -314,4 +314,21 @@ class DirectoryController extends AbstractController 'deletedDirectory' => $deleted ]); } + + + #[Route('/history/{id}', name: 'history')] + public function history(Directory $Directory, EntityManagerInterface $em): Response + { + + /** + * @var LogEntryRepository $logEntryRepository + */ + $logEntryRepository = $em->getRepository('Gedmo\Loggable\Entity\LogEntry'); + $directoryHistory = $logEntryRepository->getLogEntries($Directory); + return $this->render('directory/history.html.twig', [ + 'controller_name' => 'DocumentController', + 'directory' => $Directory, + 'history' => $directoryHistory, + ]); + } } diff --git a/src/Entity/Directory.php b/src/Entity/Directory.php index b712fc2..4410629 100644 --- a/src/Entity/Directory.php +++ b/src/Entity/Directory.php @@ -417,6 +417,7 @@ class Directory /** * @ORM\Column(type="boolean", options={"default":"1"}) + * @Gedmo\Versioned */ private $wantedDisplay = true; @@ -464,26 +465,31 @@ class Directory /** * @ORM\Column(type="string", length=255, nullable=true) + * @Gedmo\Versioned */ private $gangInfo; /** * @ORM\Column(type="boolean", options={"default":"0"}) + * @Gedmo\Versioned */ private $hasNoPapers = false; /** * @ORM\Column(type="text", nullable=true) + * @Gedmo\Versioned */ private $medicalContact; /** * @ORM\Column(type="text", nullable=true) + * @Gedmo\Versioned */ private $medicaltrusted; /** * @ORM\Column(type="text", nullable=true) + * @Gedmo\Versioned */ private $medicalLastWish; diff --git a/src/Entity/Jail.php b/src/Entity/Jail.php index ff257e3..b997fed 100644 --- a/src/Entity/Jail.php +++ b/src/Entity/Jail.php @@ -50,6 +50,12 @@ class Jail extends Document */ private $medic = false; + /** + * @ORM\Column(type="string", length=255) + * @Gedmo\Versioned + */ + private $status; + public function __construct(User $user) { parent::__construct($user); @@ -129,4 +135,15 @@ class Jail extends Document return $this; } + + public function getStatus(): ?string + { + return $this->status; + } + + public function setStatus(string $status): self + { + $this->status = $status; + return $this; + } } diff --git a/src/Form/JailType.php b/src/Form/JailType.php index 2278c03..d4820f7 100644 --- a/src/Form/JailType.php +++ b/src/Form/JailType.php @@ -8,6 +8,7 @@ use App\Form\Type\ContentType; use App\Form\Type\DateTimeVisionType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; class JailType extends DocumentType @@ -38,6 +39,14 @@ class JailType extends DocumentType ->add('lawyer', CheckboxType::class, ['label' => 'form_label_asked_for_lawyer', 'required' => false]) ->add('medic', CheckboxType::class, ['label' => 'form_label_asked_for_medic', 'required' => false]) ->add('content', ContentType::class) + ->add('status', ChoiceType::class, [ + 'choices' => [ + 'form_choice_jail_status_todo' => 'form_choice_jail_status_todo', + 'form_choice_jail_status_inprogress' => 'form_choice_jail_status_inprogress', + ], + 'label' => 'form_label_jail_status', + 'priority' => -800 + ]) ; } diff --git a/templates/_cells/directoryActions.html.twig b/templates/_cells/directoryActions.html.twig index 94efa4a..157bcb9 100644 --- a/templates/_cells/directoryActions.html.twig +++ b/templates/_cells/directoryActions.html.twig @@ -47,4 +47,8 @@ +{% endif %} + +{% if is_granted('ROLE_ADMIN') %} + {% endif %} \ No newline at end of file diff --git a/templates/directory/history.html.twig b/templates/directory/history.html.twig new file mode 100644 index 0000000..5bcb514 --- /dev/null +++ b/templates/directory/history.html.twig @@ -0,0 +1,12 @@ +{% extends 'base.html.twig' %} + +{% block title %}{{ directory.fullName }} - {% trans %}title_history{% endtrans %}{% endblock %} +{% block subtitle %}#{{ directory.id }}: {{ directory.fullName }} - {% trans %}title_history{% endtrans %} {% endblock %} + +{% block body %} +
+
+ {% include '_cells/historyDisplay.html.twig' with {'history': history, notype: true} %} +
+
+{% endblock %} diff --git a/translations/messages+intl-icu.en.yaml b/translations/messages+intl-icu.en.yaml index 9199269..39861e0 100644 --- a/translations/messages+intl-icu.en.yaml +++ b/translations/messages+intl-icu.en.yaml @@ -230,6 +230,8 @@ form_choice_default: Default form_choice_english: English form_choice_french: French form_choice_helicopter: Helicopter +form_choice_jail_status_inprogress: 🟠 In Progress +form_choice_jail_status_todo: 🔴 To do form_choice_motorcycle: Motorcycle form_choice_other: Other form_choice_plane: Plane @@ -306,6 +308,7 @@ form_label_hasnopapers: Has no id card ? form_label_imageName: Image Name form_label_informations: Informations form_label_isDesactivated: Desactivated +form_label_jail_status: Jail status form_label_jailed_at: Cellaring form_label_language: Vision language form_label_lastname: Lastname @@ -821,6 +824,7 @@ tooltip_boat_licence: Maritime Permit tooltip_car_licence: Driving licence tooltip_copy: Copy tooltip_delete: Delete +tooltip_directory_history: View History tooltip_document_shared: Shared document tooltip_download: Download tooltip_edit_medical: Edition of medical informations diff --git a/translations/messages+intl-icu.fr.yaml b/translations/messages+intl-icu.fr.yaml index 7f2c396..5f92705 100644 --- a/translations/messages+intl-icu.fr.yaml +++ b/translations/messages+intl-icu.fr.yaml @@ -230,6 +230,8 @@ form_choice_default: Défaut form_choice_english: Anglais form_choice_french: Français form_choice_helicopter: Hélicoptère +form_choice_jail_status_inprogress: 🟠 En cours +form_choice_jail_status_todo: 🔴 non traité form_choice_motorcycle: Moto form_choice_other: Autre form_choice_plane: Avion @@ -306,6 +308,7 @@ form_label_hasnopapers: Est sans papier ? form_label_imageName: nom de l'image form_label_informations: Informations form_label_isDesactivated: Désactivé +form_label_jail_status: Etat du PV de GAV form_label_jailed_at: Mise en cellule form_label_language: Langue de Vision form_label_lastname: Nom @@ -820,6 +823,7 @@ tooltip_boat_licence: Permis Maritime tooltip_car_licence: Permis Voiture tooltip_copy: Copier tooltip_delete: Effacer +tooltip_directory_history: Voir l'historique tooltip_document_shared: Document partagé tooltip_download: Télécharger tooltip_edit_medical: Éditer les informations médicales diff --git a/visionversion.json b/visionversion.json index c65ea8d..3b7780b 100644 --- a/visionversion.json +++ b/visionversion.json @@ -1,3 +1,3 @@ { - "version": "0.2.6" + "version": "0.2.7" }