rdv: add default status on rdv when creating a new rdv

This commit is contained in:
nobohan 2021-07-19 12:06:21 +02:00
parent 4b8736ae57
commit 227be0b482
4 changed files with 24 additions and 13 deletions

View File

@ -158,6 +158,7 @@ class CalendarController extends AbstractController
$entity = new Calendar(); $entity = new Calendar();
$entity->setUser($this->getUser()); $entity->setUser($this->getUser());
$entity->setStatus($entity::STATUS_VALID);
// if ($user instanceof User) { // if ($user instanceof User) {
// $entity->setPerson($user); // $entity->setPerson($user);
@ -167,9 +168,6 @@ class CalendarController extends AbstractController
$entity->setAccompanyingPeriod($accompanyingPeriod); $entity->setAccompanyingPeriod($accompanyingPeriod);
} }
// $entity->setType($activityType);
// $entity->setDate(new \DateTime('now'));
$form = $this->createForm(CalendarType::class, $entity, [ $form = $this->createForm(CalendarType::class, $entity, [
'accompanyingPeriod' => $accompanyingPeriod, 'accompanyingPeriod' => $accompanyingPeriod,
])->handleRequest($request); ])->handleRequest($request);
@ -191,7 +189,6 @@ class CalendarController extends AbstractController
} }
$entity_array = $this->serializer->normalize($entity, 'json', ['groups' => 'read']); $entity_array = $this->serializer->normalize($entity, 'json', ['groups' => 'read']);
dump($entity_array);
return $this->render($view, [ return $this->render($view, [
'user' => $user, 'user' => $user,

View File

@ -23,6 +23,10 @@ use Chill\CalendarBundle\Repository\CalendarRepository;
*/ */
class Calendar class Calendar
{ {
const STATUS_VALID = 'valid';
const STATUS_CANCELED = 'canceled';
const STATUS_MOVED = 'moved';
/** /**
* @ORM\Id * @ORM\Id
* @ORM\GeneratedValue * @ORM\GeneratedValue

View File

@ -8,24 +8,33 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\DateType; use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Doctrine\Persistence\ObjectManager;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Chill\MainBundle\Form\Type\CommentType; use Chill\MainBundle\Form\Type\CommentType;
use Chill\CalendarBundle\Entity\Calendar; use Chill\CalendarBundle\Entity\Calendar;
use Chill\CalendarBundle\Entity\CancelReason; use Chill\CalendarBundle\Entity\CancelReason;
use Chill\CalendarBundle\Entity\Invite;
use Chill\MainBundle\Templating\TranslatableStringHelper; use Chill\MainBundle\Templating\TranslatableStringHelper;
use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Entity\Person;
use Chill\ThirdPartyBundle\Entity\ThirdParty; use Chill\ThirdPartyBundle\Entity\ThirdParty;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
class CalendarType extends AbstractType class CalendarType extends AbstractType
{ {
private TranslatableStringHelper $translatableStringHelper; protected TranslatableStringHelper $translatableStringHelper;
protected ObjectManager $om;
public function __construct(TranslatableStringHelper $translatableStringHelper) public function __construct(
TranslatableStringHelper $translatableStringHelper,
ObjectManager $om
)
{ {
$this->translatableStringHelper = $translatableStringHelper; $this->translatableStringHelper = $translatableStringHelper;
$this->om = $om;
} }
/** /**
@ -38,12 +47,12 @@ class CalendarType extends AbstractType
'required' => false 'required' => false
)) ))
->add('startDate', DateType::class, array( ->add('startDate', DateType::class, array(
'required' => false, 'required' => true,
'input' => 'datetime_immutable', 'input' => 'datetime_immutable',
'widget' => 'single_text' 'widget' => 'single_text'
)) ))
->add('endDate', DateType::class, array( ->add('endDate', DateType::class, array(
'required' => false, 'required' => true,
'input' => 'datetime_immutable', 'input' => 'datetime_immutable',
'widget' => 'single_text' 'widget' => 'single_text'
)) ))
@ -102,8 +111,8 @@ class CalendarType extends AbstractType
)) ))
; ;
// $builder->add('users', HiddenType::class); // $builder->add('invites', HiddenType::class);
// $builder->get('users') // $builder->get('invites')
// ->addModelTransformer(new CallbackTransformer( // ->addModelTransformer(new CallbackTransformer(
// function (iterable $usersAsIterable): string { // function (iterable $usersAsIterable): string {
// $userIds = []; // $userIds = [];
@ -114,7 +123,7 @@ class CalendarType extends AbstractType
// }, // },
// function (?string $usersAsString): array { // function (?string $usersAsString): array {
// return array_map( // return array_map(
// fn(string $id): ?User => $this->om->getRepository(User::class)->findOneBy(['id' => (int) $id]), // fn(string $id): ?Invite => $this->om->getRepository(Invite::class)->findOneBy(['id' => (int) $id]),
// explode(',', $usersAsString) // explode(',', $usersAsString)
// ); // );
// } // }

View File

@ -4,6 +4,7 @@ services:
class: Chill\CalendarBundle\Form\CalendarType class: Chill\CalendarBundle\Form\CalendarType
arguments: arguments:
- "@chill.main.helper.translatable_string" - "@chill.main.helper.translatable_string"
- "@doctrine.orm.entity_manager"
tags: tags:
- { name: form.type, alias: chill_calendarbundle_calendar } - { name: form.type, alias: chill_calendarbundle_calendar }