src/Admin/Controller/DashboardController.php line 55

Open in your IDE?
  1. <?php
  2. namespace App\Admin\Controller;
  3. use App\Entity\Agreement;
  4. use App\Entity\AvailableItem;
  5. use App\Entity\AvailableList;
  6. use App\Entity\Branch;
  7. use App\Entity\Brand;
  8. use App\Entity\Constant;
  9. use App\Entity\Counterparty;
  10. use App\Entity\Currency;
  11. use App\Entity\Customer;
  12. use App\Entity\DeliveryMethod;
  13. use App\Entity\DocumentType;
  14. use App\Entity\Alert;
  15. use App\Entity\Manager;
  16. use App\Entity\OrderStatus;
  17. use App\Entity\Organization;
  18. use App\Entity\PriceType;
  19. use App\Entity\Product;
  20. use App\Entity\ProductCategory;
  21. use App\Entity\ProductRelated;
  22. use App\Entity\ProductType;
  23. use App\Entity\PromoLabel;
  24. use App\Entity\Property;
  25. use App\Entity\PropertyValue;
  26. use App\Entity\SignatureStatus;
  27. use App\Entity\SignupRequest;
  28. use App\Entity\StoreMap;
  29. use App\Entity\Uom;
  30. use App\Entity\User;
  31. use App\Entity\WaitList;
  32. use App\Zet\ContentBundle\Entity\Banner;
  33. use App\Zet\ContentBundle\Entity\Category;
  34. use App\Zet\ContentBundle\Entity\Content;
  35. use App\Zet\ContentBundle\Entity\ContentBlock;
  36. use App\Zet\DeliveryServiceBundle\Entity\DeliveryCity;
  37. use App\Zet\DeliveryServiceBundle\Entity\DeliveryPoint;
  38. use App\Zet\DeliveryServiceBundle\Entity\DeliveryService;
  39. use App\Zet\V8Bundle\Entity\BadLink;
  40. use App\Zet\V8Bundle\Entity\BadRequest;
  41. use App\Zet\V8Bundle\Entity\Entity1C;
  42. use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
  43. use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
  44. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  45. use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
  46. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  47. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  48. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  49. use Symfony\Component\HttpFoundation\Response;
  50. use Symfony\Component\Routing\Annotation\Route;
  51. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  52. class DashboardController extends AbstractDashboardController
  53. {
  54.     /**
  55.      * @Route("/admin", name="admin")
  56.      */
  57.     public function index(): Response
  58.     {
  59.         $routeBuilder $this->get(AdminUrlGenerator::class);
  60.         return $this->redirect($routeBuilder->setController(UserCrudController::class)->generateUrl());
  61.     }
  62.     public function configureDashboard(): Dashboard
  63.     {
  64.         return Dashboard::new()
  65.             ->setTitle('Sexopt');
  66.     }
  67.     public function configureMenuItems(): iterable
  68.     {
  69.         yield MenuItem::linkToCrud('Users''fa fa-users'User::class);
  70.         //SX00016 hide this feature
  71.         //yield MenuItem::linkToCrud('Signup requests', 'fa fa-user-plus', SignupRequest::class);
  72.         yield MenuItem::linkToCrud('Constants''fa fa-fw fa-wrench'Constant::class);
  73.         yield MenuItem::linkToCrud('Customers''fas fa-user-tie'Customer::class);
  74.         yield MenuItem::linkToCrud('Agreements''fas fa-handshake'Agreement::class);
  75.         yield MenuItem::linkToCrud('Products''fa fa-fw fa-file-invoice'Product::class);
  76.         yield MenuItem::linkToCrud('WaitList''fa fa-book'WaitList::class);
  77.         yield MenuItem::section('Settings');
  78.         yield MenuItem::linkToCrud('Branches''fa fa-fw fa-store'Branch::class);
  79.         yield MenuItem::linkToCrud('Product types''fa fa-fw fa-layer-group'ProductType::class);
  80.         yield MenuItem::linkToCrud('Promo labels''fa fa-fw fa-percent'PromoLabel::class);
  81.         yield MenuItem::linkToCrud('Delivery methods''fa fa-fw fa-truck'DeliveryMethod::class);
  82.         yield MenuItem::linkToCrud('Document types''fa fa-fw fa-file'DocumentType::class);
  83.         yield MenuItem::linkToCrud('Order statuses''fa fa-fw fa-money-check'OrderStatus::class);
  84.         yield MenuItem::linkToCrud('Alert''fa fa-fw fa-exclamation-circle'Alert::class);
  85.         yield MenuItem::section('Catalog');
  86.         yield MenuItem::linkToCrud('Organizations''fa fa-fw fa-building'Organization::class);
  87.         yield MenuItem::linkToCrud('Currencies''fa fa-fw fa-dollar'Currency::class);
  88.         yield MenuItem::linkToCrud('Brands''fa fa-fw fa-trademark'Brand::class);
  89.         yield MenuItem::linkToCrud('Managers''fa fa-fw fa-address-card'Manager::class);
  90.         yield MenuItem::linkToCrud('Price types''fa fa-fw fa-money-bill'PriceType::class);
  91.         yield MenuItem::linkToCrud('Categories''fa fa-fw fa-tree'ProductCategory::class);
  92.         yield MenuItem::linkToCrud('Properties''fa fa-fw fa-grip-horizontal'Property::class);
  93.         yield MenuItem::linkToCrud('Product related''fa fa-fw fa-link'ProductRelated::class);
  94.         yield MenuItem::linkToCrud('Property values''fas fa-receipt'PropertyValue::class);
  95.         yield MenuItem::linkToCrud('UOM''fa fa-fw fa-balance-scale'Uom::class);
  96.         yield MenuItem::linkToCrud('Store map''fa fa-fw fa-store'StoreMap::class);
  97.         yield MenuItem::section('Delivery service');
  98.         yield MenuItem::linkToCrud('Services''fa fa-fw fa-truck'DeliveryService::class);
  99.         yield MenuItem::linkToCrud('Cities''fa fa-fw fa-globe'DeliveryCity::class);
  100.         yield MenuItem::linkToCrud('Points''fa fa-fw fa-map-marker-alt'DeliveryPoint::class);
  101.         yield MenuItem::section('Content');
  102.         yield MenuItem::linkToCrud('Banners''fas fa-flag'Banner::class);
  103.         yield MenuItem::linkToCrud('Categories''fa fa-fw fa-boxes'Category::class);
  104.         yield MenuItem::linkToCrud('Content blocks''fa fa-fw fa-comment-alt'ContentBlock::class);
  105.         yield MenuItem::linkToCrud('Content''fa fa-fw fa-file-alt'Content::class);
  106.         yield MenuItem::linkToRoute('File Manager','fa fa-fw fa-files-o ','files');
  107.         yield MenuItem::section('V8');
  108.         yield MenuItem::linkToCrud('Entities''fa fa-fw fa-database'Entity1C::class);
  109.         yield MenuItem::linkToCrud('Bad links''fa fa-fw fa-link'BadLink::class);
  110.         yield MenuItem::linkToCrud('Bad requests''fa fa-fw fa-reply'BadRequest::class);
  111.         // yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
  112.     }
  113.     function configureAssets(): Assets
  114.     {
  115.         return parent::configureAssets()
  116.             ->addCssFile('css/admin.css')
  117.             ->addJsFile('js/admin.js');
  118.             #->addJsFile("https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/min/dropzone.min.js")
  119.             #->addCssFile("https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/min/dropzone.min.css");
  120.     }
  121.     function configureCrud(): Crud
  122.     {
  123.         return parent::configureCrud()->setFormThemes(
  124.             [
  125.                 '@A2lixTranslationForm/bootstrap_4_layout.html.twig',
  126.                 '@EasyAdmin/crud/form_theme.html.twig',
  127.                 '@FOSCKEditor/Form/ckeditor_widget.html.twig',
  128.                 'admin/form/fields.html.twig',
  129.                 '@ZetV8/Form/fields.html.twig',
  130.                 '@ZetContent/Form/fields.html.twig'
  131.             ]
  132.         );
  133.     }
  134.     function configureActions(): Actions
  135.     {
  136.         return parent::configureActions()
  137.             ->disable('show')
  138.             ->update(Crud::PAGE_INDEXAction::EDIT, function ($action) {
  139.                 /** @var $action Action */
  140.                 return $action->setIcon('fa fa-fw fa-edit')->setLabel(false);
  141.             })->update(Crud::PAGE_INDEXAction::DELETE, function ($action) {
  142.                 /** @var $action Action */
  143.                 return $action->setIcon('fa fa-fw fa-trash')->setLabel(false);
  144.             });
  145.     }
  146. }