diff --git a/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminEvaluationController.php b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminEvaluationController.php new file mode 100644 index 000000000..134cedc74 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminEvaluationController.php @@ -0,0 +1,33 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\PersonBundle\Controller\SocialWork; + +use Chill\MainBundle\CRUD\Controller\CRUDController; + +/** + * Class AdminSocialIssueController + * Controller for social issues + * + * @package Chill\PersonBundle\Controller + */ +class AdminEvaluationController extends CRUDController +{ +} diff --git a/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminGoalController.php b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminGoalController.php new file mode 100644 index 000000000..18e1c9f3b --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminGoalController.php @@ -0,0 +1,33 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\PersonBundle\Controller\SocialWork; + +use Chill\MainBundle\CRUD\Controller\CRUDController; + +/** + * Class AdminSocialIssueController + * Controller for social issues + * + * @package Chill\PersonBundle\Controller + */ +class AdminGoalController extends CRUDController +{ +} diff --git a/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminResultController.php b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminResultController.php new file mode 100644 index 000000000..80d552282 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminResultController.php @@ -0,0 +1,33 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\PersonBundle\Controller\SocialWork; + +use Chill\MainBundle\CRUD\Controller\CRUDController; + +/** + * Class AdminSocialIssueController + * Controller for social issues + * + * @package Chill\PersonBundle\Controller + */ +class AdminResultController extends CRUDController +{ +} diff --git a/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialActionController.php b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialActionController.php new file mode 100644 index 000000000..695ec75a1 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialActionController.php @@ -0,0 +1,33 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\PersonBundle\Controller\SocialWork; + +use Chill\MainBundle\CRUD\Controller\CRUDController; + +/** + * Class AdminSocialIssueController + * Controller for social issues + * + * @package Chill\PersonBundle\Controller + */ +class AdminSocialActionController extends CRUDController +{ +} diff --git a/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialIssueController.php b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialIssueController.php new file mode 100644 index 000000000..35b0df4a2 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/SocialWork/AdminSocialIssueController.php @@ -0,0 +1,33 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace Chill\PersonBundle\Controller\SocialWork; + +use Chill\MainBundle\CRUD\Controller\CRUDController; + +/** + * Class AdminSocialIssueController + * Controller for social issues + * + * @package Chill\PersonBundle\Controller + */ +class AdminSocialIssueController extends CRUDController +{ +} diff --git a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php index c9ad36319..9cc026909 100644 --- a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php +++ b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php @@ -345,6 +345,111 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac ] ] ], + [ + 'class' => \Chill\PersonBundle\Entity\SocialWork\SocialIssue::class, + 'name' => 'social_issue', + 'base_path' => '/admin/social-work/social-issue', + 'form_class' => \Chill\PersonBundle\Form\SocialWork\SocialIssueType::class, + 'controller' => \Chill\PersonBundle\Controller\SocialWork\AdminSocialIssueController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/SocialIssue/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/edit.html.twig', + ] + ] + ], + [ + 'class' => \Chill\PersonBundle\Entity\SocialWork\SocialAction::class, + 'name' => 'social_action', + 'base_path' => '/admin/social-work/social-action', + 'form_class' => \Chill\PersonBundle\Form\SocialWork\SocialActionType::class, + 'controller' => \Chill\PersonBundle\Controller\SocialWork\AdminSocialActionController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/SocialAction/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/edit.html.twig', + ] + ] + ], + [ + 'class' => \Chill\PersonBundle\Entity\SocialWork\Goal::class, + 'name' => 'social_goal', + 'base_path' => '/admin/social-work/goal', + 'form_class' => \Chill\PersonBundle\Form\SocialWork\GoalType::class, + 'controller' => \Chill\PersonBundle\Controller\SocialWork\AdminGoalController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/Goal/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/edit.html.twig', + ] + ] + ], + [ + 'class' => \Chill\PersonBundle\Entity\SocialWork\Result::class, + 'name' => 'social_result', + 'base_path' => '/admin/social-work/result', + 'form_class' => \Chill\PersonBundle\Form\SocialWork\ResultType::class, + 'controller' => \Chill\PersonBundle\Controller\SocialWork\AdminResultController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/Result/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/edit.html.twig', + ] + ] + ], + [ + 'class' => \Chill\PersonBundle\Entity\SocialWork\Evaluation::class, + 'name' => 'social_evaluation', + 'base_path' => '/admin/social-work/evaluation', + 'form_class' => \Chill\PersonBundle\Form\SocialWork\EvaluationType::class, + 'controller' => \Chill\PersonBundle\Controller\SocialWork\AdminEvaluationController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/Evaluation/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/SocialWork/edit.html.twig', + ] + ] + ], ], 'apis' => [ [ diff --git a/src/Bundle/ChillPersonBundle/Form/SocialWork/EvaluationType.php b/src/Bundle/ChillPersonBundle/Form/SocialWork/EvaluationType.php new file mode 100644 index 000000000..b45cd327e --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/SocialWork/EvaluationType.php @@ -0,0 +1,71 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +namespace Chill\PersonBundle\Form\SocialWork; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\TranslatableStringFormType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Chill\PersonBundle\Entity\SocialWork\Evaluation; + +/** + * Class EvaluationType + * + * @package Chill\PersonBundle\Form + */ +class EvaluationType extends AbstractType +{ + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { + $this->translatableStringHelper = $translatableStringHelper; + } + + /** + * @param FormBuilderInterface $builder + * @param array $options + */ + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder + ->add('title', TranslatableStringFormType::class, [ + 'label' => 'Nom', + ]) + ->add('delay') + + ->add('notificationDelay'); + } + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', Evaluation::class) + ; + } +} diff --git a/src/Bundle/ChillPersonBundle/Form/SocialWork/GoalType.php b/src/Bundle/ChillPersonBundle/Form/SocialWork/GoalType.php new file mode 100644 index 000000000..c86a7d6b9 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/SocialWork/GoalType.php @@ -0,0 +1,85 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +namespace Chill\PersonBundle\Form\SocialWork; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\TranslatableStringFormType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Chill\PersonBundle\Entity\SocialWork\Goal; +use Chill\PersonBundle\Entity\SocialWork\SocialAction; + +/** + * Class GoalType + * + * @package Chill\PersonBundle\Form + */ +class GoalType extends AbstractType +{ + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { + $this->translatableStringHelper = $translatableStringHelper; + } + + /** + * @param FormBuilderInterface $builder + * @param array $options + */ + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder + ->add('title', TranslatableStringFormType::class, [ + 'label' => 'Nom' + ]) + + ->add('socialActions', EntityType::class, [ + 'class' => SocialAction::class, + 'required' => false, + 'multiple' => true, + 'choice_label' => function (SocialAction $issue) { + return $this->translatableStringHelper->localize($issue->getTitle()); + } + ]) + + ->add('desactivationDate', DateType::class, [ + 'attr' => array('class' => 'datepicker'), + 'widget'=> 'single_text', + 'format' => 'dd-MM-yyyy', + 'required' => false, + ]); +} + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', Goal::class) + ; + } +} diff --git a/src/Bundle/ChillPersonBundle/Form/SocialWork/ResultType.php b/src/Bundle/ChillPersonBundle/Form/SocialWork/ResultType.php new file mode 100644 index 000000000..ee2cefe48 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/SocialWork/ResultType.php @@ -0,0 +1,76 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +namespace Chill\PersonBundle\Form\SocialWork; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\TranslatableStringFormType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Chill\PersonBundle\Entity\SocialWork\Result; + +/** + * Class ResultType + * + * @package Chill\PersonBundle\Form + */ +class ResultType extends AbstractType +{ + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { + $this->translatableStringHelper = $translatableStringHelper; + } + + /** + * @param FormBuilderInterface $builder + * @param array $options + */ + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder + ->add('title', TranslatableStringFormType::class, [ + 'label' => 'Nom' + ]) + ->add('accompanyingPeriodWorks') + ->add('accompanyingPeriodWorkGoals') + ->add('desactivationDate', DateType::class, [ + 'attr' => array('class' => 'datepicker'), + 'widget'=> 'single_text', + 'format' => 'dd-MM-yyyy', + 'required' => false, + ]); +} + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', Result::class) + ; + } +} diff --git a/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialActionType.php b/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialActionType.php new file mode 100644 index 000000000..7613bc2c7 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialActionType.php @@ -0,0 +1,90 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +namespace Chill\PersonBundle\Form\SocialWork; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\TranslatableStringFormType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Chill\PersonBundle\Entity\SocialWork\SocialAction; +use Chill\PersonBundle\Entity\SocialWork\SocialIssue; + + +/** + * Class SocialActionType + * + * @package Chill\PersonBundle\Form + */ +class SocialActionType extends AbstractType +{ + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { + $this->translatableStringHelper = $translatableStringHelper; + } + + /** + * @param FormBuilderInterface $builder + * @param array $options + */ + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder + ->add('title', TranslatableStringFormType::class, [ + 'label' => 'Nom' + ]) + ->add('issue', EntityType::class, [ + 'class' => SocialIssue::class, + 'choice_label' => function (SocialIssue $issue) { + return $this->translatableStringHelper->localize($issue->getTitle()); + } + ]) + ->add('parent', EntityType::class, [ + 'class' => SocialAction::class, + 'required' => false, + 'choice_label' => function (SocialAction $issue) { + return $this->translatableStringHelper->localize($issue->getTitle()); + } + ]) + ->add('defaultNotificationDelay') + ->add('desactivationDate', DateType::class, [ + 'attr' => array('class' => 'datepicker'), + 'widget'=> 'single_text', + 'format' => 'dd-MM-yyyy', + 'required' => false, + ]); +} + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', SocialIssue::class) + ; + } +} diff --git a/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialIssueType.php b/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialIssueType.php new file mode 100644 index 000000000..1f21defd9 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/SocialWork/SocialIssueType.php @@ -0,0 +1,83 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +namespace Chill\PersonBundle\Form\SocialWork; + +use Symfony\Component\Form\AbstractType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Chill\MainBundle\Form\Type\TranslatableStringFormType; +use Symfony\Component\Form\Extension\Core\Type\DateType; +use Chill\MainBundle\Templating\TranslatableStringHelper; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Chill\PersonBundle\Entity\SocialWork\SocialIssue; + +/** + * Class SocialIssueType + * + * @package Chill\PersonBundle\Form + */ +class SocialIssueType extends AbstractType +{ + /** + * + * @var TranslatableStringHelper + */ + protected $translatableStringHelper; + + public function __construct(TranslatableStringHelper $translatableStringHelper) { + $this->translatableStringHelper = $translatableStringHelper; + } + + /** + * @param FormBuilderInterface $builder + * @param array $options + */ + public function buildForm(FormBuilderInterface $builder, array $options) + { + $builder + ->add('title', TranslatableStringFormType::class, [ + 'label' => 'Nom' + ]) + + ->add('parent', EntityType::class, [ + 'class' => SocialIssue::class, + 'required' => false, + 'choice_label' => function (SocialIssue $issue) { + return $this->translatableStringHelper->localize($issue->getTitle()); + } + ]) + + ->add('desactivationDate', DateType::class, [ + 'attr' => ['class' => 'datepicker'], + 'widget'=> 'single_text', + 'format' => 'dd-MM-yyyy', + 'required' => false, + ]); +} + + /** + * @param OptionsResolver $resolver + */ + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', SocialIssue::class) + ; + } +} diff --git a/src/Bundle/ChillPersonBundle/Repository/PersonRepository.php b/src/Bundle/ChillPersonBundle/Repository/PersonRepository.php index d99ab590e..6686b55b7 100644 --- a/src/Bundle/ChillPersonBundle/Repository/PersonRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/PersonRepository.php @@ -18,11 +18,13 @@ namespace Chill\PersonBundle\Repository; + use Chill\PersonBundle\Entity\Person; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; + final class PersonRepository { private EntityRepository $repository; @@ -113,11 +115,20 @@ final class PersonRepository $qb->setParameter('phonenumber', '%'.$phonenumber.'%'); } + + /** + * @param $phonenumber + * @return string + */ protected function parsePhoneNumber(string $phonenumber): string { return \str_replace(' ', '', $phonenumber); } + /** + * @param QueryBuilder $qb + * @param array $centers + */ protected function addByCenters(QueryBuilder $qb, array $centers): void { if (count($centers) > 0) { diff --git a/src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialIssueRepository.php b/src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialIssueRepository.php index b0324ba33..51ced6976 100644 --- a/src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialIssueRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialIssueRepository.php @@ -1,6 +1,25 @@ , + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ namespace Chill\PersonBundle\Repository\SocialWork; diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Evaluation/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Evaluation/index.html.twig new file mode 100644 index 000000000..186b2f3ec --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Evaluation/index.html.twig @@ -0,0 +1,27 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block layout_wvm_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Title'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.title|localize_translatable_string }} + +
    +
  • + +
  • +
+ + + {% endfor %} + {% endblock %} + {% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Goal/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Goal/index.html.twig new file mode 100644 index 000000000..aa7c239ba --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Goal/index.html.twig @@ -0,0 +1,27 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block layout_wvm_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Title'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.title|localize_translatable_string }} + +
    +
  • + +
  • +
+ + + {% endfor %} + {% endblock %} + {% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Result/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Result/index.html.twig new file mode 100644 index 000000000..f1081aebe --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/Result/index.html.twig @@ -0,0 +1,27 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block layout_wvm_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Title'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.title|localize_translatable_string }} + +
    +
  • + +
  • +
+ + + {% endfor %} + {% endblock %} + {% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialAction/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialAction/index.html.twig new file mode 100644 index 000000000..4c1d5a59d --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialAction/index.html.twig @@ -0,0 +1,27 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block layout_wvm_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Title'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.title|localize_translatable_string }} + +
    +
  • + +
  • +
+ + + {% endfor %} + {% endblock %} + {% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialIssue/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialIssue/index.html.twig new file mode 100644 index 000000000..44627852e --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/SocialIssue/index.html.twig @@ -0,0 +1,27 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block layout_wvm_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Title'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.title|localize_translatable_string }} + +
    +
  • + +
  • +
+ + + {% endfor %} + {% endblock %} + {% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/edit.html.twig new file mode 100644 index 000000000..0ae8754fe --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/edit.html.twig @@ -0,0 +1,12 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block title %} +{% include('@ChillMain/CRUD/_edit_title.html.twig') %} +{% endblock %} + +{% block layout_wvm_content %} +{% embed '@ChillMain/CRUD/_edit_content.html.twig' %} + {% block content_form_actions_view %}{% endblock %} + {% block content_form_actions_save_and_show %}{% endblock %} +{% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/new.html.twig new file mode 100644 index 000000000..cc6021021 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/SocialWork/new.html.twig @@ -0,0 +1,11 @@ +{% extends '@ChillPerson/Admin/layout.html.twig' %} + +{% block title %} +{% include('@ChillMain/CRUD/_new_title.html.twig') %} +{% endblock %} + +{% block layout_wvm_content %} +{% embed '@ChillMain/CRUD/_new_content.html.twig' %} + {% block content_form_actions_save_and_show %}{% endblock %} +{% endembed %} +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/config/routes.yaml b/src/Bundle/ChillPersonBundle/config/routes.yaml index cd0de3ea3..bbcb7c39b 100644 --- a/src/Bundle/ChillPersonBundle/config/routes.yaml +++ b/src/Bundle/ChillPersonBundle/config/routes.yaml @@ -136,6 +136,54 @@ chill_person_maritalstatus_admin: order: 120 label: 'person_admin.marital status' +chill_person_socialissue_admin: + path: /{_locale}/admin/social-work/social-issue + controller: cscrud_social_issue_controller:index + options: + menus: + admin_person: + order: 150 + label: 'person_admin.social_issue' + +chill_person_socialaction_admin: + path: /{_locale}/admin/social-work/social-action + controller: cscrud_social_action_controller:index + options: + menus: + admin_person: + order: 160 + label: 'person_admin.social_action' + + +chill_person_social_evaluation_admin: + path: /{_locale}/admin/social-work/evaluation + controller: cscrud_social_evaluation_controller:index + options: + menus: + admin_person: + order: 170 + label: 'person_admin.social_evaluation' + +chill_person_social_goal_admin: + path: /{_locale}/admin/social-work/goal + controller: cscrud_social_goal_controller:index + options: + menus: + admin_person: + order: 180 + label: 'person_admin.social_goal' + +chill_person_social_result_admin: + path: /{_locale}/admin/social-work/result + controller: cscrud_social_result_controller:index + options: + menus: + admin_person: + order: 190 + label: 'person_admin.social_result' + + + chill_person_controllers: resource: "@ChillPersonBundle/Controller" type: annotation diff --git a/src/Bundle/ChillPersonBundle/config/services/form.yaml b/src/Bundle/ChillPersonBundle/config/services/form.yaml index aa6f36b28..b61de615d 100644 --- a/src/Bundle/ChillPersonBundle/config/services/form.yaml +++ b/src/Bundle/ChillPersonBundle/config/services/form.yaml @@ -32,7 +32,7 @@ services: chill.person.form.type.pick_person: class: Chill\PersonBundle\Form\Type\PickPersonType arguments: - - "@chill.person.repository.person" + - '@Chill\PersonBundle\Repository\PersonRepository' - "@security.token_storage" - "@chill.main.security.authorization.helper" - '@Symfony\Component\Routing\Generator\UrlGeneratorInterface' @@ -53,3 +53,35 @@ services: $em: '@Doctrine\ORM\EntityManagerInterface' tags: - { name: form.type } + + Chill\PersonBundle\Form\SocialWork\SocialIssueType: + arguments: + $translatableStringHelper: '@chill.main.helper.translatable_string' + tags: + - { name: form.type } + + Chill\PersonBundle\Form\SocialWork\SocialActionType: + arguments: + $translatableStringHelper: '@chill.main.helper.translatable_string' + tags: + - { name: form.type } + + Chill\PersonBundle\Form\SocialWork\EvaluationType: + arguments: + $translatableStringHelper: '@chill.main.helper.translatable_string' + tags: + - { name: form.type } + + + Chill\PersonBundle\Form\SocialWork\GoalType: + arguments: + $translatableStringHelper: '@chill.main.helper.translatable_string' + tags: + - { name: form.type } + + + Chill\PersonBundle\Form\SocialWork\ResultType: + arguments: + $translatableStringHelper: '@chill.main.helper.translatable_string' + tags: + - { name: form.type } diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index 52254295b..98523a762 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -304,6 +304,31 @@ crud: add_new: Ajouter un nouveau title_new: Nouvel état civil title_edit: Modifier l'état civil + social_issue: + index: + title: Liste des problématiques sociales + add_new: Ajouter une nouvelle problématique sociale + title_new: Nouvelle problématique sociale + title_edit: Modifier la problématique sociale + social_action: + index: + title: Liste des actions d'accompagnements + add_new: Ajouter une nouvelle action d'accompagnements + title_new: Nouvelle action d'accompagnements + title_edit: Modifier l'action d'accompagnements + social_goal: + index: + title: Liste des objectifs d'action d'accompagnements + add_new: Ajouter un nouvel objectif d'action d'accompagnements + title_new: Nouvel objectif + title_edit: Modifier l'objectif + social_result: + index: + title: Liste des résultats d'action d'accompagnements + add_new: Ajouter un nouveau résultat d'action d'accompagnements + title_new: Nouveau résultat + title_edit: Modifier le résultat + # specific to closing motive closing_motive: @@ -322,6 +347,11 @@ person_admin: marital status list: Liste des états civils marital status explanation: > Configurer la liste des états civils. + social_issue: Problématiques sociales + social_action: Actions d'accompagnement + social_goal: Buts + social_result: Résultats + social_evaluation: Évaluations # specific to accompanying period accompanying_period: