src/Controller/Admin/DashboardController.php line 57

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Airline;
  4. use App\Entity\Airplane;
  5. use App\Entity\Appointment;
  6. use App\Entity\AppUser;
  7. use App\Entity\BusinessClient;
  8. use App\Entity\Cell;
  9. use App\Entity\Consignee;
  10. use App\Entity\CubaCustomsCategory;
  11. use App\Entity\CubaCustomsItem;
  12. use App\Entity\CurrencyChange;
  13. use App\Entity\CustomsBroker;
  14. use App\Entity\Dispatch\Dispatch;
  15. use App\Entity\Documentation\CargoManifest;
  16. use App\Entity\Documentation\HouseGuide;
  17. use App\Entity\Documentation\HouseGuideNumber;
  18. use App\Entity\Documentation\MasterGuide;
  19. use App\Entity\Documentation\MasterGuideNumber;
  20. use App\Entity\Enterprise;
  21. use App\Entity\FiscalWarehouse;
  22. use App\Entity\FreightForwarder;
  23. use App\Entity\GeneralConfig;
  24. use App\Entity\GroundCarrier;
  25. use App\Entity\Level;
  26. use App\Entity\MetricUnit;
  27. use App\Entity\OtherProvider;
  28. use App\Entity\Packing;
  29. use App\Entity\Product\Product;
  30. use App\Entity\Quote\Client;
  31. use App\Entity\Quote\Quote;
  32. use App\Entity\Quote\Service;
  33. use App\Entity\SecurityDocument\Document;
  34. use App\Entity\SecurityDocument\Vocabulary;
  35. use App\Entity\Shelving;
  36. use App\Entity\Shipping;
  37. use App\Entity\Storage;
  38. use App\Entity\TariffFraction;
  39. use App\Entity\TaxDeposit;
  40. use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
  41. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  42. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  43. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  44. use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
  45. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  46. use Symfony\Component\HttpFoundation\Response;
  47. use Symfony\Component\Routing\Annotation\Route;
  48. use Symfony\Component\Security\Core\User\UserInterface;
  49. class DashboardController extends AbstractDashboardController
  50. {
  51.     /**
  52.      * @Route("/admin", name="admin")
  53.      */
  54.     public function index(): Response
  55.     {
  56.         return $this->render('dashboard/dashboard.html.twig');
  57.     }
  58.     public function configureDashboard(): Dashboard
  59.     {
  60.         return Dashboard::new()
  61.             ->setTitle('<img class="logo" src="web/img/CargoLogo.png" alt="Merely Cargo">');
  62.     }
  63.     public function configureMenuItems(): iterable
  64.     {
  65.         yield MenuItem::section('app.menu.package.manage');
  66.         yield MenuItem::linkToCrud('Citas Registradas''fas fa-list'Appointment::class);
  67.         yield MenuItem::linkToCrud('Expedientes''fas fa-list'Shipping::class);
  68.         yield MenuItem::linkToCrud('Despachos''fas fa-list'Dispatch::class);
  69.         yield MenuItem::linkToCrud('app.menu.packaging''fas fa-list'Packing::class);
  70.         yield MenuItem::linkToCrud('Productos''fas fa-list'Product::class);
  71.         yield MenuItem::section('Cotizaciones');
  72.         yield MenuItem::linkToCrud('Ver Todas''fas fa-list'Quote::class);
  73.         yield MenuItem::linkToCrud('Clientes''fas fa-list'Client::class);
  74.         yield MenuItem::section('Documentación');
  75.         yield MenuItem::linkToCrud('Guías Master''fas fa-list'MasterGuide::class);
  76.         yield MenuItem::linkToCrud('Manifiestos de Carga''fas fa-list'CargoManifest::class);
  77.         yield MenuItem::linkToCrud('Guías House''fas fa-list'HouseGuide::class);
  78.         yield MenuItem::linkToCrud('Documentos de Seguridad''fas fa-list', \App\Entity\Documentation\Document::class);
  79.         yield MenuItem::section('app.menu.customs.cuba.label');
  80.         yield MenuItem::linkToCrud('app.menu.customs.cuba.category''fas fa-list'CubaCustomsCategory::class);
  81.         yield MenuItem::linkToCrud('app.menu.customs.cuba.item''fas fa-list'CubaCustomsItem::class);
  82.         yield MenuItem::linkToCrud('app.menu.customs.cuba.umt''fas fa-list'MetricUnit::class);
  83.         yield MenuItem::section('app.menu.storage.label');
  84.         yield MenuItem::linkToCrud('app.menu.storage.store''fas fa-list'Storage::class);
  85.         yield MenuItem::linkToCrud('app.menu.storage.shelving''fas fa-list'Shelving::class);
  86.         yield MenuItem::linkToCrud('app.menu.storage.level''fas fa-list'Level::class);
  87.         yield MenuItem::linkToCrud('app.menu.storage.cell''fas fa-list'Cell::class);
  88.         yield MenuItem::section('Nomencladores');
  89.         yield MenuItem::linkToCrud('Clientes Empresariales''fas fa-list'BusinessClient::class);
  90.         yield MenuItem::linkToCrud('Consignatarios''fas fa-list'Consignee::class);
  91.         yield MenuItem::linkToCrud('Empresas''fas fa-list'Enterprise::class);
  92.         yield MenuItem::linkToCrud('Aerolíneas''fas fa-list'Airline::class);
  93.         yield MenuItem::linkToCrud('app.menu.plane''fas fa-list'Airplane::class);
  94.         yield MenuItem::linkToCrud('Transportistas Terrestres''fas fa-list'GroundCarrier::class);
  95.         yield MenuItem::linkToCrud('Agencias Aduanales''fas fa-list'CustomsBroker::class);
  96.         yield MenuItem::linkToCrud('Almacenes Fiscales''fas fa-list'FiscalWarehouse::class);
  97.         yield MenuItem::linkToCrud('Depósitos Fiscales''fas fa-list'TaxDeposit::class);
  98.         yield MenuItem::linkToCrud('Transitarios''fas fa-list'FreightForwarder::class);
  99.         yield MenuItem::linkToCrud('Otros Proveedores''fas fa-list'OtherProvider::class);
  100.         yield MenuItem::linkToCrud('Servicios para cotización''fas fa-list'Service::class);
  101.         yield MenuItem::linkToCrud('app.menu.fraction''fas fa-list'TariffFraction::class);
  102.         yield MenuItem::section('Plantillas de Documentación');
  103.         yield MenuItem::linkToCrud('Plantillas''fas fa-list'Document::class);
  104.         yield MenuItem::linkToCrud('Vocabulario''fas fa-list'Vocabulary::class);
  105.         yield MenuItem::section('Configuración');
  106.         yield MenuItem::linkToCrud('app.menu.config''fas fa-list'GeneralConfig::class)
  107.             ->setAction(Action::EDIT)
  108.             ->setEntityId(1);
  109.         yield MenuItem::linkToCrud('Tasas de Cambio''fas fa-list'CurrencyChange::class);
  110.         yield MenuItem::linkToCrud('Números de Guía Master''fas fa-list'MasterGuideNumber::class);
  111.         yield MenuItem::linkToCrud('Números de Guía House''fas fa-list'HouseGuideNumber::class);
  112.         yield MenuItem::linkToCrud('Días de Atención''fas fa-list'GeneralConfig\AttentionDay::class);
  113.         yield MenuItem::linkToCrud('Usuarios''fas fa-user'AppUser::class);
  114.     }
  115.     public function configureUserMenu(UserInterface $user): UserMenu
  116.     {
  117.         return parent::configureUserMenu($user)
  118.             ->addMenuItems([
  119.                 MenuItem::linkToRoute('Perfil''fas fa-id-card''app_appuser_profile')
  120.             ]);
  121.     }
  122.     public function configureAssets(): Assets
  123.     {
  124.         return Assets::new()->addWebpackEncoreEntry('app_admin');
  125.     }
  126. }