start of two new fields to select category and duration, but not working... problem with construct method in form

This commit is contained in:
Julie Lenaerts 2021-08-04 16:34:13 +02:00
parent 72b43e9a99
commit 0072f4c676
2 changed files with 24 additions and 4 deletions

View File

@ -52,7 +52,7 @@ final class AsideActivity implements TrackUpdateInterface, TrackCreationInterfac
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=false)
* @Assert\NotBlank(message="Vous devez choisir un agent")
* @Assert\NotBlank()
*/
private $agent;

View File

@ -4,6 +4,7 @@ namespace Chill\AsideActivityBundle\Form;
use Chill\AsideActivityBundle\Entity\AsideActivity;
use Chill\AsideActivityBundle\Entity\AsideActivityCategory;
use Chill\AsideActivityBundle\Form\Type\TranslatableAsideActivityCategory;
use Chill\MainBundle\Entity\User;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
@ -14,17 +15,31 @@ use Symfony\Component\Form\Extension\Core\Type\TextareaType;
class AsideActivityFormType extends AbstractType
{
protected array $timeChoices;
public function __construct (array $timeChoices){
$this->timeChoices = $timeChoices;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$timeChoices = [];
$durationTimeOptions = [
'choices' => $timeChoices,
'placeholder' => 'Choose the duration',
];
$builder
->add('agent', EntityType::class,
[
'label' => 'Agent',
'required' => true,
'class' => User::class,
'placeholder' => 'Choissisez l\'agent pour qui l\'activité est créée',
//translate
'placeholder' => 'Choose the agent for whom this activity is created',
'choice_label' => 'username'
])
// ->add('category', TranslatableAsideActivityCategory::class)
// ->add('type', EntityType::class,
// [
// 'label' => 'Type',
@ -33,11 +48,11 @@ class AsideActivityFormType extends AbstractType
// 'placeholder' => 'Choissisez le type d\'activité',
// 'choice_label' => 'title'
// ])
->add('durationTime', ChoiceType::class, $durationTimeOptions)
->add('note', TextareaType::class, [
'label' => 'Note',
'required' => false,
])
;
]);
}
public function configureOptions(OptionsResolver $resolver): void
@ -46,4 +61,9 @@ class AsideActivityFormType extends AbstractType
'data_class' => AsideActivity::class,
]);
}
public function getBlockPrefix(): string
{
return 'chill_activitybundle_activity';
}
}