add menuitem aliases
All checks were successful
/ ls (pull_request) Successful in 2m42s
/ ls (release) Successful in 50s
/ ls (push) Successful in 2m27s

This commit is contained in:
lubiana 2025-01-25 02:14:39 +01:00
parent 70b39515ec
commit 9781bd561f
Signed by: lubiana
SSH key fingerprint: SHA256:vW1EA0fRR3Fw+dD/sM0K+x3Il2gSry6YRYHqOeQwrfk
13 changed files with 713 additions and 212 deletions

View file

@ -3,7 +3,11 @@
namespace App\Form;
use App\Entity\MenuItem;
use App\Repository\MenuItemRepository;
use Doctrine\ORM\QueryBuilder;
use Override;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Bridge\Doctrine\Types\UlidType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
@ -13,8 +17,18 @@ final class MenuItemType extends AbstractType
#[Override]
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$vendor = $options['data']->getFoodVendor();
$vendorId = $vendor->getId();
$builder
->add('name')
->add('aliasOf', EntityType::class, [
'class' => MenuItem::class,
'choice_label' => 'name',
'query_builder' => static fn(MenuItemRepository $repository): QueryBuilder => $repository
->createQueryBuilder('m')
->where('m.foodVendor = :vendorId')
->setParameter(':vendorId', $vendorId, UlidType::NAME),
])
;
}