src/Controller/Admin/DashboardController.php line 47

  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Log;
  4. use App\Entity\Lot;
  5. use App\Entity\Post;
  6. use App\Entity\User;
  7. use App\Entity\Attachment;
  8. use App\Entity\Auction;
  9. use App\Entity\LotRequest;
  10. use App\Entity\Sitesettings;
  11. use App\Entity\Transaction;
  12. use Symfony\Component\HttpFoundation\Response;
  13. use Symfony\Component\Routing\Annotation\Route;
  14. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  15. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  16. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  17. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  18. use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
  19. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  20. class DashboardController extends AbstractDashboardController
  21. {
  22.   private $adminUrlGenerator;
  23.   public function __construct(AdminUrlGenerator $adminUrlGenerator)
  24.   {
  25.     $this->adminUrlGenerator $adminUrlGenerator;
  26.   }
  27.   #[Route(path'/admin'name'admin_dashboard')]
  28.   public function index(): Response
  29.   {
  30.     // return parent::index();
  31.     return $this->render('adminka/admin-dashboard.html.twig');
  32.   }
  33.   #[Route(path'/logout'name'app_logout')]
  34.   public function logout(): void
  35.   {
  36.     throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.');
  37.   }
  38.   #[Route(path'/login'name'app_login')]
  39.   public function login(AuthenticationUtils $authenticationUtils): Response
  40.   {
  41.     $error $authenticationUtils->getLastAuthenticationError();
  42.     $lastUsername $authenticationUtils->getLastUsername();
  43.     return $this->render('@EasyAdmin/page/login.html.twig', [
  44.       'error' => $error,
  45.       'last_username' => $lastUsername,
  46.       'favicon_path' => '/img/favicon.png',
  47.       'page_title' => 'Вход в систему «SPIRAL»',
  48.       'csrf_token_intention' => 'authenticate',
  49.       'target_path' => $this->generateUrl('admin_dashboard'),
  50.       'username_label' => 'Ваш Email',
  51.       'password_label' => 'Ваш пароль',
  52.       'sign_in_label' => 'Войти',
  53.       'remember_me_enabled' => true,
  54.       'remember_me_checked' => true,
  55.       'remember_me_label' => 'Запомнить меня',
  56.     ]);
  57.   }
  58.   public function configureDashboard(): Dashboard
  59.   {
  60.     return Dashboard::new()
  61.       ->disableDarkMode()
  62.       ->setTitle('<img src="/img/logo.svg" alt="" style="width:100%; max-width:150px">');
  63.   }
  64.   public function configureAssets(): Assets
  65.   {
  66.     return Assets::new()
  67.       ->addCssFile('backend/backend.css')
  68.       ->addJsFile('backend/sweetalert2.js')
  69.       ->addJsFile('backend/backend.js');
  70.   }
  71.   public function configureMenuItems(): iterable
  72.   {
  73.     yield MenuItem::section('Управление системой');
  74.     yield MenuItem::linkToCrud('Пользователи''fas fa-users'User::class);
  75.     yield MenuItem::linkToCrud('Новости''fas fa-rss'Post::class)->setPermission('ROLE_ADMIN');
  76.     yield MenuItem::linkToCrud('Файлы''fas fa-file'Attachment::class)->setPermission('ROLE_ADMIN');
  77.     yield MenuItem::linkToCrud('Настройки системы''fas fa-file-code'Sitesettings::class)->setPermission('ROLE_ADMIN');
  78.     yield MenuItem::linkToCrud('Журнал''fas fa-book'Log::class)->setPermission('ROLE_ADMIN');
  79.     yield MenuItem::section('Ссылки');
  80.     yield MenuItem::linkToUrl('Назад к сервису''fa fa-angles-left''https://a.buildingdev.site/');
  81.   }
  82. }