Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

SectionAdminController.php 2.7KB

3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
3 роки тому
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace Lc\CaracoleBundle\Controller\Section;
  3. use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
  4. use EasyCorp\Bundle\EasyAdminBundle\Field\FormField;
  5. use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
  6. use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
  7. use Lc\CaracoleBundle\Controller\AdminControllerTrait;
  8. use Lc\CaracoleBundle\Factory\Section\SectionFactory;
  9. use Lc\CaracoleBundle\Form\Section\OpeningsFormType;
  10. use Lc\CaracoleBundle\Model\Section\SectionModel;
  11. use Lc\CaracoleBundle\Resolver\MerchantResolver;
  12. use Lc\SovBundle\Controller\AbstractAdminController;
  13. use Lc\SovBundle\Field\BooleanField;
  14. use Lc\SovBundle\Field\CKEditorField;
  15. use Lc\SovBundle\Field\StatusField;
  16. use Symfony\Component\HttpFoundation\Request;
  17. use Symfony\Component\HttpFoundation\Session\SessionFactory;
  18. use Symfony\Component\Routing\Annotation\Route;
  19. abstract class SectionAdminController extends AbstractAdminController
  20. {
  21. use AdminControllerTrait;
  22. public function configureFields(string $pageName): iterable
  23. {
  24. return array_merge(
  25. [
  26. FormField::addPanel('general'),
  27. TextField::new('title'),
  28. ChoiceField::new('cycle')
  29. ->setRequired(true)
  30. ->hideOnIndex()
  31. ->setChoices(
  32. [
  33. 'Jour' => SectionModel::CYCLE_DAY,
  34. 'Semaine' => SectionModel::CYCLE_WEEK,
  35. 'Mois' => SectionModel::CYCLE_MONTH,
  36. 'Année' => SectionModel::CYCLE_YEAR,
  37. ]
  38. ),
  39. TextField::new('color')
  40. ->setRequired(true)
  41. ->hideOnIndex(),
  42. NumberField::new('position')
  43. ->hideOnForm()
  44. ->hideOnIndex(),
  45. CKEditorField::new('description')
  46. ->hideOnIndex(),
  47. BooleanField::new('isDefault', 'Section par défaut'),
  48. StatusField::new('status'),
  49. ],
  50. $this->getSeoPanel(),
  51. $this->getConfPanel(),
  52. );
  53. }
  54. public function createEntity(string $entityFqcn)
  55. {
  56. $sectionFactory = new SectionFactory();
  57. return $sectionFactory
  58. ->setMerchant($this->get(MerchantResolver::class)->getCurrent())
  59. ->create();
  60. }
  61. }