Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

54 lines
1.8KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Controller\Merchant;
  3. use App\Entity\Merchant\Merchant;
  4. use EasyCorp\Bundle\EasyAdminBundle\Field\AssociationField;
  5. use EasyCorp\Bundle\EasyAdminBundle\Field\FormField;
  6. use EasyCorp\Bundle\EasyAdminBundle\Field\NumberField;
  7. use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
  8. use Lc\CaracoleBundle\Controller\AdminControllerTrait;
  9. use Lc\CaracoleBundle\Factory\Merchant\MerchantFactory;
  10. use Lc\CaracoleBundle\Field\Address\AddressField;
  11. use Lc\SovBundle\Controller\AbstractAdminController;
  12. use Lc\SovBundle\Field\CKEditorField;
  13. use Lc\SovBundle\Field\StatusField;
  14. abstract class MerchantAdminController extends AbstractAdminController
  15. {
  16. use AdminControllerTrait;
  17. public function configureFields(string $pageName): iterable
  18. {
  19. $panel = parent::configureFields($pageName);
  20. return array_merge(
  21. [
  22. FormField::addPanel('general'),
  23. TextField::new('title'),
  24. NumberField::new('position')
  25. ->hideOnForm()
  26. ->hideOnIndex(),
  27. CKEditorField::new('description')
  28. ->hideOnIndex(),
  29. AssociationField::new('taxRate')
  30. ->setRequired(true)
  31. ->hideOnIndex(),
  32. StatusField::new('status'),
  33. FormField::addPanel('address'),
  34. AddressField::new('address')
  35. ->setRequired(true),
  36. ],
  37. $panel
  38. );
  39. }
  40. public function createEntity(string $entityFqcn)
  41. {
  42. $merchantFactory = new MerchantFactory();
  43. return $merchantFactory->create();
  44. }
  45. }