|
- <?php
-
- namespace Lc\CaracoleBundle\Controller\Section;
-
- use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
- use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
- use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
- use EasyCorp\Bundle\EasyAdminBundle\Field\TimeField;
- use Lc\CaracoleBundle\Container\Section\OpeningContainer;
- use Lc\CaracoleBundle\Controller\AdminControllerTrait;
- use Lc\CaracoleBundle\Factory\Section\OpeningFactory;
- use Lc\CaracoleBundle\Resolver\SectionResolver;
- use Lc\SovBundle\Controller\AbstractAdminController;
-
- abstract class OpeningAdminController extends AbstractAdminController
- {
- use AdminControllerTrait;
-
- public function configureFields(string $pageName): iterable
- {
- $fields = parent::configureFields($pageName);
-
- return array_merge(
- [
- ChoiceField::new('day')
- ->setRequired(true)
- ->setChoices(
- [
- 'Lundi' => 1,
- 'Mardi' => 2,
- 'Mercredi' => 3,
- 'Jeudi' => 4,
- 'Vendredi' => 5,
- 'Samedi' => 6,
- 'Dimanche' => 7,
- ]
- ),
- TimeField::new('timeStart')
- ->setRequired(false)
- ->setFormat('H:mm'),
- TimeField::new('timeEnd')
- ->setRequired(false)
- ->setFormat('H:mm'),
- AssociationField::new('groupUser'),
- ],
- $fields
- );
- }
-
- public function configureCrud(Crud $crud): Crud
- {
- $crud = parent::configureCrud($crud);
-
- $crud->setDefaultSort(['day' => 'ASC']);
-
- return $crud;
- }
-
- public function createEntity(string $entityFqcn)
- {
- return $this->get(OpeningContainer::class)
- ->getFactory()
- ->create($this->get(SectionResolver::class)->getCurrent());
- }
-
- }
|