WIP: Implementation of stuff goes on

This commit is contained in:
Björn Fromme
2023-10-05 12:53:17 +02:00
parent 96d6170907
commit 1097b84447
23 changed files with 443 additions and 118 deletions
+29 -2
View File
@@ -5,8 +5,12 @@ namespace App\Form;
use App\Entity\Assignment;
use App\Entity\Fee;
use App\Entity\JobProfile;
use App\Entity\User;
use App\Model\BenefitsDto;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -33,7 +37,6 @@ class AssignmentType extends AbstractType
])
->add('dateFrom', DatepickerType::class, [
'label' => 'Einsatztermin von',
'mode' => 'range',
])
->add('dateTo', DatepickerType::class, [
'label' => 'Einsatztermin bis',
@@ -47,9 +50,12 @@ class AssignmentType extends AbstractType
'required' => false,
'placeholder' => 'Keine Busbegleitung',
])
->add('benefits', TextareaType::class, [
->add('benefits', ChoiceType::class, [
'label' => 'Benefits',
'required' => false,
'multiple' => true,
'expanded' => true,
'choices' => array_flip(BenefitsDto::$values),
])
->add('fees', EntityType::class, [
'label' => 'Honorar(e)',
@@ -58,6 +64,27 @@ class AssignmentType extends AbstractType
'multiple' => true,
'expanded' => true,
])
->add('contact', EntityType::class, [
'label' => 'Ansprechpartner RM',
'class' => User::class,
'choice_label' => 'fullName',
'query_builder' => function (EntityRepository $repository) {
$qb = $repository->createQueryBuilder('user');
return $qb
->where($qb->expr()->like('user.roles', ':role'))
->setParameter('role','%ROLE_MANAGER%')
->orderBy('user.firstName', 'ASC')
;
},
])
->add('remarks', TextareaType::class, [
'label' => 'Anmerkungen',
'required' => false,
'attr' => [
'rows' => 3,
],
])
;
}
-4
View File
@@ -19,13 +19,10 @@ class DatepickerType extends AbstractType
'min_date' => null,
'max_date' => null,
'disable_weekends' => false,
'mode' => 'single', // 'single', 'multiple' or 'range'
]);
$resolver->setAllowedTypes('min_date', ['null', \DateTimeImmutable::class]);
$resolver->setAllowedTypes('max_date', ['null', \DateTimeImmutable::class]);
$resolver->setAllowedTypes('disable_weekends', 'bool');
$resolver->setAllowedTypes('mode', 'string');
$resolver->setAllowedValues('mode', ['single', 'multiple', 'range']);
}
public function buildView(FormView $view, FormInterface $form, array $options): void
@@ -33,7 +30,6 @@ class DatepickerType extends AbstractType
$view->vars['min_date'] = $options['min_date'];
$view->vars['max_date'] = $options['max_date'];
$view->vars['disable_weekends'] = $options['disable_weekends'];
$view->vars['mode'] = $options['mode'];
}
public function getParent(): string