You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 line
1.9KB

  1. <?php
  2. namespace App\Controller\Admin\Site;
  3. use App\Container\Site\BlockContainer;
  4. use App\Controller\AbstractAdminController;
  5. use App\Entity\Site\Block;
  6. use App\Field\TranslationField;
  7. use EasyCorp\Bundle\EasyAdminBundle\Field\TextareaField;
  8. use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
  9. use FOS\CKEditorBundle\Form\Type\CKEditorType;
  10. use Lc\SovBundle\Field\BooleanField;
  11. use Lc\SovBundle\Field\CKEditorField;
  12. use Lc\SovBundle\Field\ImageManagerField;
  13. use Lc\SovBundle\Field\StatusField;
  14. use Lc\SovBundle\Form\Common\FileManagerType;
  15. use Lc\SovBundle\Repository\RepositoryQueryInterface;
  16. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  17. class BlockAdminController extends AbstractAdminController
  18. {
  19. public static function getEntityFqcn(): string
  20. {
  21. return Block::class;
  22. }
  23. public function getRepositoryQuery(): RepositoryQueryInterface
  24. {
  25. return $this->getBlockContainer()->getRepositoryQuery();
  26. }
  27. public function createEntity(string $entityFqcn)
  28. {
  29. return $this->getBlockContainer()->getFactory()->create();
  30. }
  31. public function configureFields(string $pageName): iterable
  32. {
  33. if ($this->isGranted("ROLE_SUPER_ADMIN")) {
  34. $fields[] = TextField::new('devAlias');
  35. }
  36. $fields[] = TextField::new('page');
  37. $fields[] = ImageManagerField::new('image');
  38. $fieldsConfig = [
  39. 'title' => [
  40. 'field_type' => TextareaType::class,
  41. 'required' => true,
  42. 'label' => 'titre',
  43. ],
  44. 'description' => [
  45. 'field_type' => CKEditorType::class,
  46. 'required' => true,
  47. 'label' => 'desc',
  48. ],
  49. ];
  50. $fields[] = TranslationField::new('translations', 'Traductions', $fieldsConfig)
  51. ->setRequired(true)
  52. ->hideOnIndex();
  53. return $fields;
  54. }
  55. }