|
- <?php
-
- namespace Lc\CaracoleBundle\Controller\Section;
-
- use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
- use EasyCorp\Bundle\EasyAdminBundle\Field\FormField;
- use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
- use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
- use Lc\CaracoleBundle\Container\Section\SectionContainer;
- use Lc\CaracoleBundle\Controller\AbstractAdminController;
- use Lc\CaracoleBundle\Model\Section\SectionModel;
- use Lc\CaracoleBundle\Resolver\MerchantResolver;
- use Lc\SovBundle\Field\BooleanField;
- use Lc\SovBundle\Field\CKEditorField;
- use Lc\SovBundle\Field\StatusField;
- use Lc\SovBundle\Repository\RepositoryQueryInterface;
-
- abstract class SectionAdminController extends AbstractAdminController
- {
- public function getRepositoryQuery() :RepositoryQueryInterface
- {
- return $this->get(SectionContainer::class)->getRepositoryQuery();
- }
-
- public function createEntity(string $entityFqcn)
- {
- return $this->getSectionContainer()
- ->getFactory()
- ->create($this->getMerchantCurrent());
- }
-
- public function configureFields(string $pageName): iterable
- {
- return array_merge(
- [
- FormField::addPanel('general'),
- TextField::new('title'),
- ChoiceField::new('cycleType')
- ->setRequired(true)
- ->hideOnIndex()
- ->setChoices(
- [
- 'Jour' => SectionModel::CYCLE_TYPE_DAY,
- 'Semaine' => SectionModel::CYCLE_TYPE_WEEK,
- 'Mois' => SectionModel::CYCLE_TYPE_MONTH,
- 'Année' => SectionModel::CYCLE_TYPE_YEAR,
- ]
- ),
- TextField::new('color')
- ->setRequired(true),
- NumberField::new('position')
- ->hideOnForm()
- ->hideOnIndex(),
- CKEditorField::new('description')
- ->hideOnIndex(),
- BooleanField::new('isDefault'),
- StatusField::new('status'),
- BooleanField::new('isOnlineFrontend'),
- ],
- $this->getSeoPanel(),
- $this->getConfPanel(),
- );
- }
-
- }
|