fix: *NoteFormType

* Fix member selection
This commit is contained in:
Ryan Prather 2025-02-10 14:59:13 -05:00
parent 680b7ab9bd
commit 52f835bbda
2 changed files with 28 additions and 7 deletions

View File

@ -2,14 +2,13 @@
namespace App\Form; namespace App\Form;
use App\Entity\Case\Member;
use App\Entity\Case\StandardNote; use App\Entity\Case\StandardNote;
use App\Enums\Case\NoteLocation; use App\Enums\Case\NoteLocation;
use App\Enums\Case\NoteMethod; use App\Enums\Case\NoteMethod;
use App\Enums\Case\NoteStatus; use App\Enums\Case\NoteStatus;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EnumType; use Symfony\Component\Form\Extension\Core\Type\EnumType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
@ -19,6 +18,11 @@ class StandardNoteFormType extends AbstractType
{ {
$members = $options['members']; $members = $options['members'];
$ids = [];
foreach ($members as $idx => $member) {
$ids[$idx] = $member->getId()->toString();
}
$builder $builder
->add('date', null, [ ->add('date', null, [
'widget' => 'single_text', 'widget' => 'single_text',
@ -42,9 +46,15 @@ class StandardNoteFormType extends AbstractType
'placeholder' => 'Note', 'placeholder' => 'Note',
], ],
]) ])
->add('members', EntityType::class, [ ->add('members', ChoiceType::class, [
'class' => Member::class, //'class' => Member::class,
'choices' => $members, 'choices' => $members,
'choice_attr' => function ($member) {
return [
'checked' => $member->isChecked(),
'value' => $member->getId()->toString()
];
},
'multiple' => true, 'multiple' => true,
'expanded' => true, 'expanded' => true,
'choice_label' => 'name', 'choice_label' => 'name',

View File

@ -8,8 +8,8 @@ use App\Enums\Case\NoteLocation;
use App\Enums\Case\NoteMethod; use App\Enums\Case\NoteMethod;
use App\Enums\Case\NoteStatus; use App\Enums\Case\NoteStatus;
use App\Enums\Case\VisitQualityLevel; use App\Enums\Case\VisitQualityLevel;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EnumType; use Symfony\Component\Form\Extension\Core\Type\EnumType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
@ -20,6 +20,11 @@ class VisitNoteFormType extends AbstractType
{ {
$members = $options['members']; $members = $options['members'];
$ids = [];
foreach ($members as $idx => $member) {
$ids[$idx] = $member->getId()->toString();
}
$builder $builder
->add('date', null, [ ->add('date', null, [
'widget' => 'single_text', 'widget' => 'single_text',
@ -58,9 +63,15 @@ class VisitNoteFormType extends AbstractType
->add('childFocused', EnumType::class, [ ->add('childFocused', EnumType::class, [
'class' => VisitQualityLevel::class 'class' => VisitQualityLevel::class
]) ])
->add('members', EntityType::class, [ ->add('members', ChoiceType::class, [
'class' => Member::class, //'class' => Member::class,
'choices' => $members, 'choices' => $members,
'choice_attr' => function ($member) {
return [
'checked' => $member->isChecked(),
'value' => $member->getId()->toString()
];
},
'multiple' => true, 'multiple' => true,
'expanded' => true, 'expanded' => true,
'choice_label' => 'name', 'choice_label' => 'name',