← Back
Editing: AgencyCrudController.php
<?php namespace App\Controller\Admin; use App\Entity\Agency; use App\Enum\AgencyPermission; use EasyCorp\Bundle\EasyAdminBundle\Config\Crud; use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController; use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField; use EasyCorp\Bundle\EasyAdminBundle\Field\BooleanField; use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField; use EasyCorp\Bundle\EasyAdminBundle\Field\DateField; use EasyCorp\Bundle\EasyAdminBundle\Field\EmailField; use EasyCorp\Bundle\EasyAdminBundle\Field\IdField; use EasyCorp\Bundle\EasyAdminBundle\Field\ImageField; use EasyCorp\Bundle\EasyAdminBundle\Field\TextField; class AgencyCrudController extends AbstractCrudController { public static function getEntityFqcn(): string { return Agency::class; } public function configureCrud(Crud $crud): Crud { return $crud // the visible title at the top of the page and the content of the <title> element // it can include these placeholders: %entity_id%, %entity_label_singular%, %entity_label_plural% ->setPageTitle('index', 'Agences'); } public function configureFields(string $pageName): iterable { yield IdField::new('id')->hideOnForm(); yield TextField::new('nom'); yield EmailField::new('email')->hideOnIndex(); yield TextField::new('telephoneFixe')->hideOnIndex(); yield DateField::new('dateDebutContrat')->setRequired(false); yield DateField::new('dateFinContrat')->setRequired(false); yield ImageField::new('logo')->setBasePath('/uploads/logos/')->setUploadDir('/public/uploads/logos/'); yield AssociationField::new('users', 'Utilisateurs') ->setCrudController(UserCrudController::class) ->setTemplatePath('admin/custom_fields/link_to_crud.html.twig'); yield AssociationField::new('organization', 'Organisme')->setRequired(false); yield BooleanField::new('hasServiceOption'); yield ImageField::new('letterHead') ->setBasePath('/uploads/') ->setHelp('Format 21x29.7cms') ->setUploadDir('/public/uploads/') ->setUploadedFileNamePattern('[uuid].[extension]') ->setRequired(false) ->onlyOnForms(); yield BooleanField::new('eraseLetterHead')->onlyOnForms(); yield AssociationField::new('defaultAddressItems')->onlyOnForms(); yield BooleanField::new('isActive'); yield ChoiceField::new('permissions') ->setChoices(AgencyPermission::cases()) ->setFormTypeOption( 'choice_label', fn (string $choice): string => AgencyPermission::getLabel(AgencyPermission::tryFrom($choice)) ) ->renderExpanded() ->allowMultipleChoices() ->onlyOnForms(); } }
Save File
Cancel