From ea2d6eac7b07db7d32bfbce58b224157b1f4c3ca Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Wed, 7 Jul 2021 16:24:41 +0200 Subject: [PATCH] AsideActivityType entity changed to AsideActivityCategory + building forms for both entities --- .../Controller/AsideActivityController.php | 17 +++++++++ .../src/Entity/AsideActivity.php | 11 +++--- ...vityType.php => AsideActivityCategory.php} | 7 ++-- .../src/Form/AsideActivityCategoryType.php | 25 +++++++++++++ .../src/Form/AsideActivityType.php | 36 ++++++++----------- ...hp => AsideActivityCategoryRepository.php} | 16 ++++----- .../src/Templates/asideActivity_new.html.twig | 11 ++++++ 7 files changed, 84 insertions(+), 39 deletions(-) create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Controller/AsideActivityController.php rename src/Bundle/ChillAsideActivityBundle/src/Entity/{AsideActivityType.php => AsideActivityCategory.php} (93%) create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityCategoryType.php rename src/Bundle/ChillAsideActivityBundle/src/Repository/{AsideActivityTypeRepository.php => AsideActivityCategoryRepository.php} (69%) create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Templates/asideActivity_new.html.twig diff --git a/src/Bundle/ChillAsideActivityBundle/src/Controller/AsideActivityController.php b/src/Bundle/ChillAsideActivityBundle/src/Controller/AsideActivityController.php new file mode 100644 index 000000000..9642257c4 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Controller/AsideActivityController.php @@ -0,0 +1,17 @@ +createForm(AsideActivityType::class); + + return $this->render('asideActivity_new.html.twig', [ + 'asideActivityForm' => $form->createView(), + ]); + } +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivity.php b/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivity.php index 3b6cd18d1..3a16a8df0 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivity.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivity.php @@ -2,8 +2,6 @@ namespace Chill\AsideActivityBundle\Entity; -use Chill\AsideActivityBundle\Repository\AsideActivityRepository; -use Chill\AsideActivityBundle\Entity\AsideActivityType; use Chill\MainBundle\Entity\User; use Doctrine\ORM\Mapping as ORM; @@ -20,7 +18,7 @@ class AsideActivity private $id; /** - * @ORM\ManyToOne(targetEntity=AsideActivityType::class, inversedBy="asideActivities") + * @ORM\ManyToOne(targetEntity=AsideActivityCategory::class, inversedBy="asideActivities") * @ORM\JoinColumn(nullable=false) */ private $type; @@ -49,6 +47,7 @@ class AsideActivity /** * @ORM\ManyToOne(targetEntity=User::class) * @ORM\JoinColumn(nullable=false) + * @Assert\NotBlank(message="Vous devez choisir un agent") */ private $agent; @@ -77,12 +76,12 @@ class AsideActivity return $this->id; } - public function getType(): ?AsideActivityType + public function getType(): ?AsideActivityCategory { return $this->type; } - public function setType(?AsideActivityType $type): self + public function setType(?AsideActivityCategory $type): self { $this->type = $type; @@ -196,4 +195,4 @@ class AsideActivity return $this; } -} \ No newline at end of file +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityType.php b/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityCategory.php similarity index 93% rename from src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityType.php rename to src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityCategory.php index ce94b4c93..a81745791 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityType.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityCategory.php @@ -2,15 +2,14 @@ namespace Chill\AsideActivityBundle\Entity; -use Chill\AsideActivityBundle\Entity\AsideActivity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; /** - * @ORM\Entity(repositoryClass=AsideActivityTypeRepository::class) + * @ORM\Entity */ -class AsideActivityType +class AsideActivityCategory { /** * @ORM\Id @@ -97,4 +96,4 @@ class AsideActivityType return $this; } -} \ No newline at end of file +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityCategoryType.php b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityCategoryType.php new file mode 100644 index 000000000..5c7054ded --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityCategoryType.php @@ -0,0 +1,25 @@ +add('title', TextType::class, + [ + 'label' => 'Nom', + ]) + ->add('isActive', ChoiceType::class, + [ + 'choices' => [ + 'Yes' => true, + 'No' => false + ], + 'expanded' => true + ]); + } +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityType.php b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityType.php index 00c227bcb..b03822a76 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityType.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityType.php @@ -2,14 +2,16 @@ namespace Chill\AsideActivityBundle\Form; +use Chill\AsideActivityBundle\Entity\AsideActivityCategory; use Chill\MainBundle\Entity\User; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\Extension\Core\Type\NumberType; use Symfony\Component\Form\Extension\Core\Type\TextareaType; -use Symfony\Component\Form\Extension\Core\Type\TextType; + /** * @@ -20,32 +22,27 @@ class AsideActivityType extends AbstractType public function buildForm(FormBuilderInterface $builder, array $options) { $builder - ->add('createdBy', 'entity', - array( - 'class' => User::class, - 'choice_label' => 'username' - ), + ->add('createdBy', EntityType::class, [ 'label' => 'Utilisateur', - 'required' => true - ]) - ->add('agent', 'entity', - array( + 'required' => true, 'class' => User::class, 'choice_label' => 'username' - ), + ]) + ->add('agent', EntityType::class, [ 'label' => 'Agent', - 'required' => true + 'required' => true, + 'class' => User::class, + 'placeholder' => 'L’agent pour qui l\'activité annexe est créée', + 'choice_label' => 'username' ]) - ->add('type', 'entity', - array( - 'class' => AsideActivityType::class, - 'choice_label' => 'title' - ), + ->add('type', EntityType::class, [ 'label' => 'Type', - 'required' => true + 'required' => true, + 'class' => AsideActivityCategory::class, + 'choice_label' => 'title' ]) ->add('date', DateType::class, [ 'label' => 'Date', @@ -54,9 +51,6 @@ class AsideActivityType extends AbstractType ->add('duration', NumberType::class, [ 'label' => 'Durée' ]) - ->add('location', TextType::class, [ - 'label' => 'Lieu' - ]) ->add('note', TextareaType::class, [ 'label' => 'Note' ]) diff --git a/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityTypeRepository.php b/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityCategoryRepository.php similarity index 69% rename from src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityTypeRepository.php rename to src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityCategoryRepository.php index 8cb2daad9..bcae0ef2c 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityTypeRepository.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityCategoryRepository.php @@ -4,28 +4,28 @@ declare(strict_types=1); namespace Chill\AsideActivityBundle\Repository; -use Chill\AsideActivityBundle\Entity\AsideActivityType; +use Chill\AsideActivityBundle\Entity\AsideActivityCategory; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; use Doctrine\Persistence\ObjectRepository; -class AsideActivityTypeRepository implements ObjectRepository +class AsideActivityCategoryRepository implements ObjectRepository { private EntityRepository $repository; public function __construct(EntityManagerInterface $entityManager) { - $this->repository = $entityManager->getRepository(AsideActivityType::class); + $this->repository = $entityManager->getRepository(AsideActivityCategory::class); } - public function find($id): ?AsideActivityType + public function find($id): ?AsideActivityCategory { return $this->repository->find($id); } /** - * @return AsideActivityType[] + * @return AsideActivityCategory[] */ public function findAll(): array { @@ -33,20 +33,20 @@ class AsideActivityTypeRepository implements ObjectRepository } /** - * @return AsideActivityType[] + * @return AsideActivityCategory[] */ public function findBy(array $criteria, ?array $orderBy = null, $limit = null, $offset = null): array { return $this->repository->findBy($criteria, $orderBy, $limit, $offset); } - public function findOneBy(array $criteria): ?AsideActivityType + public function findOneBy(array $criteria): ?AsideActivityCategory { return $this->repository->findOneBy($criteria); } public function getClassName(): string { - return AsideActivityType::class; + return AsideActivityCategory::class; } } \ No newline at end of file diff --git a/src/Bundle/ChillAsideActivityBundle/src/Templates/asideActivity_new.html.twig b/src/Bundle/ChillAsideActivityBundle/src/Templates/asideActivity_new.html.twig new file mode 100644 index 000000000..0781272a1 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Templates/asideActivity_new.html.twig @@ -0,0 +1,11 @@ +{% extends '@ChillMain/Admin/layout.html.twig' %} + +{% block title %} +{% include('@ChillMain/CRUD/_new_title.html.twig') %} +{% endblock %} + +{% block admin_content %} +{% embed '@ChillMain/CRUD/_new_content.html.twig' %} + {% block content_form_actions_save_and_show %}{% endblock %} +{% endembed %} +{% endblock %} \ No newline at end of file