rdv: connect fullcalendar vue component to startDate and endDate fields

This commit is contained in:
nobohan
2021-07-23 15:54:30 +02:00
parent cc3e7f54a7
commit 5181098339
7 changed files with 50 additions and 21 deletions

View File

@@ -21,7 +21,7 @@ use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Templating\TranslatableStringHelper;
use Chill\PersonBundle\Entity\Person;
use Chill\ThirdPartyBundle\Entity\ThirdParty;
use DateTimeImmutable;
class CalendarType extends AbstractType
{
@@ -55,16 +55,6 @@ class CalendarType extends AbstractType
->add('comment', CommentType::class, [
'required' => false
])
->add('startDate', DateType::class, [
'required' => true,
'input' => 'datetime_immutable',
'widget' => 'single_text'
])
->add('endDate', DateType::class, [
'required' => true,
'input' => 'datetime_immutable',
'widget' => 'single_text'
])
->add('cancelReason', EntityType::class, [
'required' => false,
'class' => CancelReason::class,
@@ -82,6 +72,41 @@ class CalendarType extends AbstractType
])
;
$builder->add('startDate', HiddenType::class);
$builder->get('startDate')
->addModelTransformer(new CallbackTransformer(
function (?DateTimeImmutable $dateTimeImmutable): string {
if (NULL !== $dateTimeImmutable) {
$res = date_format($dateTimeImmutable, 'Y-m-d H:i:s');
} else {
$res = '';
}
return $res;
},
function (?string $dateAsString): DateTimeImmutable {
dump($dateAsString);
return new DateTimeImmutable($dateAsString);
}
))
;
$builder->add('endDate', HiddenType::class);
$builder->get('endDate')
->addModelTransformer(new CallbackTransformer(
function (?DateTimeImmutable $dateTimeImmutable): string {
if (NULL !== $dateTimeImmutable) {
$res = date_format($dateTimeImmutable, 'Y-m-d H:i:s');
} else {
$res = '';
}
return $res;
},
function (?string $dateAsString): DateTimeImmutable {
return new DateTimeImmutable($dateAsString);
}
))
;
$builder->add('persons', HiddenType::class);
$builder->get('persons')
->addModelTransformer(new CallbackTransformer(