src/Controller/Admin/DashboardController.php line 44

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  4. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  5. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  6. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractCrudController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use App\Entity\Alergeno;
  10. use App\Entity\CategoriaComida;
  11. use App\Entity\CategoriaIngrediente;
  12. use App\Entity\Coletilla;
  13. use App\Entity\Comida;
  14. use App\Entity\ComidaIngredientesReceta;
  15. use App\Entity\Consejo;
  16. use App\Entity\Conversacion;
  17. use App\Entity\DatoCurioso;
  18. use App\Entity\Feed;
  19. use App\Entity\Imagen;
  20. use App\Entity\Ingrediente;
  21. use App\Entity\PerfilAlimentacion;
  22. use App\Entity\Pregunta;
  23. use App\Entity\Respuesta;
  24. use App\Entity\TomasComida;
  25. use App\Entity\User;
  26. use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
  27. use Symfony\Component\HttpFoundation\Request;
  28. use Symfony\Component\HttpFoundation\RequestStack;
  29. use Symfony\Component\Security\Core\User\UserInterface;
  30. class DashboardController extends AbstractDashboardController
  31. {
  32.     public function __construct(RequestStack $requestStack)
  33.     {
  34.         $this->request $requestStack->getCurrentRequest();
  35.     }
  36.     /**
  37.      * @Route("/admin", name="admin")
  38.      */
  39.     public function index(): Response
  40.     {
  41.         return parent::index();
  42.     }
  43.     public function configureDashboard(): Dashboard
  44.     {
  45.         return Dashboard::new()
  46.             ->setTitle('Comoconsalud');
  47.     }
  48.     public function configureUserMenu(UserInterface $user): UserMenu
  49.     {
  50.         $locale $this->request->getLocale();        
  51.         return parent::configureUserMenu($user)
  52.             ->addMenuItems([
  53.                 MenuItem::linkToRoute('Español''fa fa-language''lang', ['_locale' => 'es'])->setCssClass($locale == 'es' 'active' ''),
  54.                 MenuItem::linkToRoute('Italiano''fa fa-language''lang', ['_locale' => 'it'])->setCssClass($locale == 'it' 'active' ''),
  55.                 MenuItem::linkToRoute('Ingles''fa fa-language''lang', ['_locale' => 'en'])->setCssClass($locale == 'en' 'active' ''),
  56.             ])
  57.             ->setAvatarUrl('assets/images/flags/'strtoupper($locale) .'.png')
  58.             ;
  59.     }
  60.     public function configureMenuItems(): iterable
  61.     {
  62.         yield MenuItem::linkToDashboard('Dashboard''fa fa-home');
  63.         // yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
  64.         yield MenuItem::section('Contacto');
  65.         yield MenuItem::linkToCrud('Feedback''fa fa-inbox'Feed::class);
  66.         yield MenuItem::section('Probar');
  67.         yield MenuItem::linkToRoute('Alexa''fab fa-amazon''app_alexa');
  68.         yield MenuItem::linkToRoute('Chat debug''fab fa-whatsapp''app_jovo');
  69.         yield MenuItem::linkToRoute('FB messenger''fab fa-facebook-messenger''app_messenger');
  70.         yield MenuItem::linkToUrl('Telegram bot''fab fa-telegram''https://t.me/comoconsalud_bot')->setLinkTarget('_blank');
  71.         yield MenuItem::section('Datos');
  72.         yield MenuItem::linkToCrud('Usuarios''fa fa-user'User::class);
  73.         yield MenuItem::linkToCrud('Perfiles de usuario''fa fa-id-card'PerfilAlimentacion::class)->setQueryParameter('filters[tipo][comparison]''=')->setQueryParameter('filters[tipo][value]''1');
  74.         yield MenuItem::section('Conversación');
  75.         yield MenuItem::linkToCrud('Conversaciones''fa fa-comment'Conversacion::class);
  76.         yield MenuItem::linkToCrud('Respuestas''fa fa-align-left'Respuesta::class);
  77.         yield MenuItem::linkToCrud('Coletillas''fa fa-comment-dots'Coletilla::class);
  78.         yield MenuItem::linkToCrud('Datos curiosos''fa fa-comment-smile'DatoCurioso::class);
  79.         yield MenuItem::linkToCrud('Consejos''fa fa-comment-check'Consejo::class);
  80.         yield MenuItem::linkToCrud('Preguntas''fa fa-question-circle'Pregunta::class);
  81.         yield MenuItem::section('Alimentación');
  82.         yield MenuItem::linkToCrud('Categorias''fa fa-egg'CategoriaComida::class);
  83.         yield MenuItem::linkToCrud('Grupo de ingredientes''fa fa-egg'CategoriaIngrediente::class);
  84.         yield MenuItem::linkToCrud('Comidas''fa fa-bread-slice'Comida::class);
  85.         yield MenuItem::linkToCrud('Perfiles de comida''fa fa-bread-slice'PerfilAlimentacion::class)->setQueryParameter('filters[tipo][comparison]''=')->setQueryParameter('filters[tipo][value]''2');
  86.         yield MenuItem::linkToCrud('Ingredientes''fa fa-carrot'Ingrediente::class);
  87.         yield MenuItem::linkToCrud('Comida-ingredientes''fa fa-carrot'ComidaIngredientesReceta::class);
  88.         yield MenuItem::linkToCrud('Perfiles de ingredientes''fa fa-carrot'PerfilAlimentacion::class)->setQueryParameter('filters[tipo][comparison]''=')->setQueryParameter('filters[tipo][value]''3');
  89.         yield MenuItem::linkToCrud('Alergenos''fa fa-pepper-hot'Alergeno::class);
  90.         yield MenuItem::linkToCrud('Tomas diarias''fa fa-chart-pie'TomasComida::class);
  91.         yield MenuItem::section('Media');
  92.         yield MenuItem::linkToCrud('Imagenes''fa fa-file-image'Imagen::class);
  93.         yield MenuItem::linkToRoute('Vídeos''fa fa-file-video''route_name');
  94.         yield MenuItem::linkToRoute('Audio''fa fa-file-audio''route_name');
  95.         yield MenuItem::section('');
  96.         yield MenuItem::linkToLogout('Logout''fa fa-sign-out-alt');
  97.     }
  98. }