WIP: Implement role house manager and feedback providing

This commit is contained in:
Björn Fromme
2023-11-04 18:24:54 +01:00
parent 538d39f63e
commit d5da0d10d5
23 changed files with 576 additions and 37 deletions
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Form;
use App\Entity\FeedbackSet;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class FeedbackRatingsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$ratings = $options['feedback_set']->getRatings();
foreach ($ratings as $index => $rating) {
$builder->add('rating_'.$index, ChoiceType::class, [
'label' => $rating,
'choices' => array_combine(range(1, 6), range(1,6)),
]);
}
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver
->setRequired(['feedback_set'])
->setAllowedTypes('feedback_set', FeedbackSet::class)
;
}
}
+41
View File
@@ -0,0 +1,41 @@
<?php
namespace App\Form;
use App\Entity\Feedback;
use App\Entity\FeedbackSet;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class FeedbackType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('ratings', FeedbackRatingsType::class, [
'label' => false,
'feedback_set' => $options['feedback_set'],
])
->add('comment', TextareaType::class, [
'label' => 'Kommentar',
'required' => false,
'attr' => [
'rows' => 5,
],
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver
->setDefaults([
'data_class' => Feedback::class,
])
->setRequired(['feedback_set'])
->setAllowedTypes('feedback_set', FeedbackSet::class)
;
}
}