From 28c986fddf1f692944976512f0986ac523ccb67c Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Wed, 24 Apr 2024 14:52:19 +0200 Subject: [PATCH] controller with crud logic + templates fixed for dispositif --- .../src/Controller/CSPersonController.php | 16 +++++++++------- .../DependencyInjection/ChillJobExtension.php | 2 +- .../ChillJobBundle/src/Entity/CSPerson.php | 4 ++-- .../src/Form/CSPersonDispositifsType.php | 4 ++-- .../src/Form/CSPersonPersonalSituationType.php | 4 ++-- .../ChillJobBundle/src/Menu/MenuBuilder.php | 4 ++-- .../views/CSPerson/dispositifs_edit.html.twig | 5 +++++ .../views/CSPerson/dispositifs_view.html.twig | 10 ++++++---- .../Resources/views/CRUD/_edit_content.html.twig | 8 ++++---- 9 files changed, 33 insertions(+), 24 deletions(-) diff --git a/src/Bundle/ChillJobBundle/src/Controller/CSPersonController.php b/src/Bundle/ChillJobBundle/src/Controller/CSPersonController.php index 6b858a130..7dd20367e 100644 --- a/src/Bundle/ChillJobBundle/src/Controller/CSPersonController.php +++ b/src/Bundle/ChillJobBundle/src/Controller/CSPersonController.php @@ -22,6 +22,7 @@ use Symfony\Component\Routing\Annotation\Route; class CSPersonController extends OneToOneEntityPersonCRUDController { + #[Route(path: '{_locale}/person/job/personal_situation/{id}/edit', name: 'chill_crud_job_personal_situation_edit')] public function personalSituationEdit(Request $request, $id): Response { return $this->formEditAction( @@ -32,6 +33,7 @@ class CSPersonController extends OneToOneEntityPersonCRUDController ); } + #[Route(path: '{_locale}/person/job/dispositifs/{id}/edit', name: 'chill_crud_job_dispositifs_edit')] public function dispositifsEdit(Request $request, $id) { return $this->formEditAction( @@ -42,13 +44,13 @@ class CSPersonController extends OneToOneEntityPersonCRUDController ); } - #[Route(path: '{_locale}/person/job/{person}/personal_situation', name: 'chill_job_personal_situation_view')] + #[Route(path: '{_locale}/person/job/{person}/personal_situation', name: 'chill_crud_job_personal_situation_view')] public function personalSituationView(Request $request, $person): Response { return $this->viewAction('ps_situation_view', $request, $person); } - #[Route(path: '{_locale}/person/job/{person}/dispositifs', name: 'chill_job_dispositifs_view')] + #[Route(path: '{_locale}/person/job/{person}/dispositifs', name: 'chill_crud_job_dispositifs_view')] public function dispositifsView(Request $request, $person): Response { return $this->viewAction('dispositifs_view', $request, $person); @@ -60,10 +62,10 @@ class CSPersonController extends OneToOneEntityPersonCRUDController switch ($action) { case 'ps_situation_view': - $route = 'chill_crud_csperson_personal_situation_edit'; + $route = 'chill_crud_job_personal_situation_edit'; break; case 'dispositifs_view': - $route = 'chill_crud_csperson_dispositifs_edit'; + $route = 'chill_crud_job_dispositifs_edit'; break; default: parent::generateRedirectOnCreateRoute($action, $request, $entity); @@ -91,12 +93,12 @@ class CSPersonController extends OneToOneEntityPersonCRUDController { return match ($action) { 'ps_situation_edit' => $this->redirectToRoute( - 'chill_crud_'.$this->getCrudName().'_personal_situation_view', - ['id' => $entity->getId()] + 'chill_crud_' .$this->getCrudName().'_personal_situation_view', + ['person' => $entity->getId()] ), 'dispositifs_edit' => $this->redirectToRoute( 'chill_crud_'.$this->getCrudName().'_dispositifs_view', - ['id' => $entity->getId()] + ['person' => $entity->getId()] ), default => null, }; diff --git a/src/Bundle/ChillJobBundle/src/DependencyInjection/ChillJobExtension.php b/src/Bundle/ChillJobBundle/src/DependencyInjection/ChillJobExtension.php index a93642081..beadae074 100644 --- a/src/Bundle/ChillJobBundle/src/DependencyInjection/ChillJobExtension.php +++ b/src/Bundle/ChillJobBundle/src/DependencyInjection/ChillJobExtension.php @@ -58,7 +58,7 @@ class ChillJobExtension extends Extension implements PrependExtensionInterface [ 'class' => CSPerson::class, 'controller' => CSPersonController::class, - 'name' => 'admin_personal_situation', + 'name' => 'job', 'base_role' => 'ROLE_USER', 'base_path' => '/person/job/', /* 'form_class' => CSPersonPersonalSituationType::class, diff --git a/src/Bundle/ChillJobBundle/src/Entity/CSPerson.php b/src/Bundle/ChillJobBundle/src/Entity/CSPerson.php index cdc01b177..e7bd12502 100644 --- a/src/Bundle/ChillJobBundle/src/Entity/CSPerson.php +++ b/src/Bundle/ChillJobBundle/src/Entity/CSPerson.php @@ -1186,7 +1186,7 @@ class CSPerson return $this; } - public function getDateContratIEJ(): \DateTimeInterface + public function getDateContratIEJ(): ?\DateTimeInterface { return $this->dateContratIEJ; } @@ -1210,7 +1210,7 @@ class CSPerson return $this; } - public function getDateAvenantIEJ(): \DateTimeInterface + public function getDateAvenantIEJ(): ?\DateTimeInterface { return $this->dateAvenantIEJ; } diff --git a/src/Bundle/ChillJobBundle/src/Form/CSPersonDispositifsType.php b/src/Bundle/ChillJobBundle/src/Form/CSPersonDispositifsType.php index 8ad7e4cfd..66066e8a2 100644 --- a/src/Bundle/ChillJobBundle/src/Form/CSPersonDispositifsType.php +++ b/src/Bundle/ChillJobBundle/src/Form/CSPersonDispositifsType.php @@ -92,9 +92,9 @@ class CSPersonDispositifsType extends AbstractType ]) ->add('prescripteur', PickThirdpartyDynamicType::class, [ 'required' => false, - 'types' => ['prescripteur'], +// 'types' => ['prescripteur'], 'label' => 'Prescripteur', - 'center' => $options['center'], +// 'center' => $options['center'], ]) ->add('dispositifsNotes', TextareaType::class, [ 'required' => false, diff --git a/src/Bundle/ChillJobBundle/src/Form/CSPersonPersonalSituationType.php b/src/Bundle/ChillJobBundle/src/Form/CSPersonPersonalSituationType.php index 08c8c112f..9fcb39f91 100644 --- a/src/Bundle/ChillJobBundle/src/Form/CSPersonPersonalSituationType.php +++ b/src/Bundle/ChillJobBundle/src/Form/CSPersonPersonalSituationType.php @@ -149,8 +149,8 @@ class CSPersonPersonalSituationType extends AbstractType 'choice_label' => fn ($k) => 'handicap_recommandation.'.$k, ]) ->add('handicapAccompagnement', PickThirdpartyDynamicType::class, [ - 'center' => $options['center'], - 'types' => ['prescripteur'], +// 'center' => $options['center'], +// 'types' => ['prescripteur'], 'required' => false, 'multiple' => false, ]) diff --git a/src/Bundle/ChillJobBundle/src/Menu/MenuBuilder.php b/src/Bundle/ChillJobBundle/src/Menu/MenuBuilder.php index 7faa51ed9..c5d3f2596 100644 --- a/src/Bundle/ChillJobBundle/src/Menu/MenuBuilder.php +++ b/src/Bundle/ChillJobBundle/src/Menu/MenuBuilder.php @@ -35,7 +35,7 @@ class MenuBuilder implements LocalMenuBuilderInterface // if ($this->authorizationChecker->isGranted(CSConnectesVoter::REPORT_NEW, $person)) { $menu->addChild('Situation personnelle', [ - 'route' => 'chill_job_personal_situation_view', + 'route' => 'chill_crud_job_personal_situation_view', 'routeParameters' => [ 'person' => $person->getId(), ], @@ -44,7 +44,7 @@ class MenuBuilder implements LocalMenuBuilderInterface 'order' => 50, ]); $menu->addChild('Dispositifs', [ - 'route' => 'chill_job_dispositifs_view', + 'route' => 'chill_crud_job_dispositifs_view', 'routeParameters' => [ 'person' => $person->getId(), ], diff --git a/src/Bundle/ChillJobBundle/src/Resources/views/CSPerson/dispositifs_edit.html.twig b/src/Bundle/ChillJobBundle/src/Resources/views/CSPerson/dispositifs_edit.html.twig index a2151e5cb..5fe59d910 100644 --- a/src/Bundle/ChillJobBundle/src/Resources/views/CSPerson/dispositifs_edit.html.twig +++ b/src/Bundle/ChillJobBundle/src/Resources/views/CSPerson/dispositifs_edit.html.twig @@ -1,5 +1,9 @@ {% extends '@ChillPerson/CRUD/edit.html.twig' %} +{% block css %} + {{ encore_entry_link_tags('mod_pickentity_type') }} +{% endblock %} + {% block title 'Dispositifs de ' ~ entity.person.firstName ~ ' ' ~ entity.person.lastName %} {% block personcontent %} @@ -84,6 +88,7 @@ {% block js %} {{ parent() }} + {{ encore_entry_script_tags('mod_pickentity_type') }}