-
-
Notifications
You must be signed in to change notification settings - Fork 742
Closed
Labels
Description
Bug Report
| Subject | Details |
|---|---|
| Rector version | last dev-main |
| Installed as | composer dependency |
Minimal PHP Code Causing Issue
See https://getrector.com/demo/93e1174f-3586-4b65-b3e3-f5d5c78884dc
<?php
namespace App\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\Security\Core\Security;
class MyFormType extends AbstractType
{
public function __construct(
private readonly Security $security,
) {
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$isGranted = fn ($subject) => $this->security->isGranted(OneVoter::CAN_DO_THAT, $subject);
$builder->get('oneField')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) use ($isGranted) {
if ($isGranted($event->getForm()->getNormData())) {
$formFactory = $event->getForm()->getConfig()->getFormFactory();
$builder = $formFactory->createNamedBuilder('formOne');
$builder->get('formOne')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
if (SourceEnum::ONE === $event->getForm()->getNormData()) {
$formFactory = $event->getForm()->getConfig()->getFormFactory();
$builder = $formFactory->createNamedBuilder('subFormOne');
$builder->add('subFormOne', SubFormOneType::class, [
'download' => $event->getForm()->getParent()->get('download'),
]);
$event->getForm()->getParent()->add($builder->getForm()->get('subFormOne'));
} elseif (SourceEnum::TWO === $event->getForm()->getNormData()) {
$formFactory = $event->getForm()->getConfig()->getFormFactory();
$builder = $formFactory->createNamedBuilder('subFormTwo');
$builder->add('subFormTwo', SubFormTwoType::class, [
'one_field' => $event->getForm()->getParent()->get('oneField')->getData(),
'download' => $event->getForm()->getParent()->get('download'),
]);
$event->getForm()->getParent()->add($builder->getForm()->get('subFormTwo'));
}
});
$event->getForm()->getParent()->add($builder->getForm()->get('formOne'));
} elseif (ChoiceEnum::CHOICE_ONE === $event->getForm()->getNormData()) {
$formFactory = $event->getForm()->getConfig()->getFormFactory();
$builder = $formFactory->createBuilder();
$builder->add('otherSubForm', OtherSubFormType::class);
$event->getForm()->getParent()->add($builder->getForm()->get('otherSubForm')->get('otherSubForm'));
}
});
}
}Responsible rules
RemoveUnusedVariableAssignRector
Expected Behavior
$isGranted should ne be removed.
I'm sorry, I couldn't simplify the code any further. 😬
Thanks a lot
Reactions are currently unavailable