<?php
namespace App\Controller\Admin;
use App\Entity\Log;
use App\Entity\PhoneNumberUnsubscribes;
use App\Entity\Unsubscribes;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\User\UserInterface;
class DashboardController extends AbstractDashboardController
{
/**
* @Route("/", name="admin")
*/
public function index(AdminUrlGenerator $adminUrlGenerator = null): Response
{
$url = $adminUrlGenerator
->setController(\App\Controller\Admin\UnsubscribesCrudController::class)
->setAction(Crud::PAGE_INDEX)
->generateUrl();
return $this->redirect($url);
// return $this->render('dashboard/index.html.twig');
// return parent::index();
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('Hírlevél leiratkozások')
->disableUrlSignatures();
}
public function configureMenuItems(): iterable
{
// yield MenuItem::linkToDashboard('Admin főoldal', 'fa fa-dashboard');
yield MenuItem::linkToCrud('E-mail leiratkozók', 'fa fa-list', Unsubscribes::class)
->setQueryParameter('filters[Deleted]', 'null')->setPermission('ROLE_MAIL');
yield MenuItem::linkToCrud('Telefonszám leiratkozók', 'fa fa-list', PhoneNumberUnsubscribes::class)
->setQueryParameter('filters[deleted]', 'null')->setPermission('ROLE_PHONE');
yield MenuItem::linkToCrud('Tömeges feltöltés (E-mail)', 'fa fa-upload', Unsubscribes::class)
->setAction('batchupload')->setPermission('ROLE_MAIL');
yield MenuItem::linkToCrud('Tömeges feltöltés (Telefonszám)', 'fa fa-upload', PhoneNumberUnsubscribes::class)
->setAction('batchupload')->setPermission('ROLE_PHONE');
yield MenuItem::linkToCrud('Log', 'fa fa-list', Log::class);
yield MenuItem::linkToCrud('Felhasználók', 'fa fa-users', User::class)
->setPermission('ROLE_ADMIN');
// yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
}
public function configureActions(): Actions
{
return parent::configureActions()
->add(Crud::PAGE_INDEX, Action::DETAIL);
}
public function configureUserMenu(UserInterface $user): UserMenu
{
return parent::configureUserMenu($user)
->setMenuItems([
MenuItem::linkToUrl('Jelszó változtatás', 'fa-solid fa-key', $this->generateUrl('app_change_password')),
MenuItem::linkToUrl('Kijelentkezés', 'fa fa-fw fa-sign-out', $this->generateUrl('app_logout'))
]);
}
}