<?php
namespace App\Controller\Admin;
use App\Entity\App;
use App\Entity\ImportedCategory;
use App\Entity\Log;
use App\Entity\ServiceCommandsCompleted;
use App\Entity\User;
use App\Entity\Client;
use App\Entity\License;
use App\Entity\Paragon;
use App\Entity\Versions;
use App\Entity\Fiscalization;
use App\Entity\ServiceCommand;
use Symfony\Component\HttpFoundation\Response;
use App\Controller\Admin\VersionRepoController;
use App\Entity\AskChangeAddress;
use App\Entity\ImportedDiscount;
use App\Entity\ImportedPackage;
use App\Entity\ImportedProduct;
use App\Entity\ImportedUnits;
use App\Entity\SoftPos;
use Symfony\Component\Routing\Annotation\Route;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
class DashboardController extends AbstractDashboardController
{
/**
* @Route("/", name="home")
*/
public function index(): Response
{
//return parent::index();
return $this->render('admin/index.html.twig');
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
// the name visible to end users
->setTitle('CASH CONSOLE')
// by default EasyAdmin displays a black square as its default favicon;
// use this method to display a custom favicon: the given path is passed
// "as is" to the Twig asset() function:
// <link rel="shortcut icon" href="{{ asset('...') }}">
->setFaviconPath('favicon.svg')
// there's no need to define the "text direction" explicitly because
// its default value is inferred dynamically from the user locale
->setTextDirection('ltr')
// set this option if you prefer the page content to span the entire
// browser width, instead of the default design which sets a max width
->renderContentMaximized()
// set this option if you prefer the sidebar (which contains the main menu)
// to be displayed as a narrow column instead of the default expanded design
->renderSidebarMinimized(false)
// by default, users can select between a "light" and "dark" mode for the
// backend interface. Call this method if you prefer to disable the "dark"
// mode for any reason (e.g. if your interface customizations are not ready for it)
->disableDarkMode()
// by default, all backend URLs are generated as absolute URLs. If you
// need to generate relative URLs instead, call this method
->generateRelativeUrls()
;
}
public function configureMenuItems(): iterable
{
return [
// ...
// links to the 'index' action of the Category CRUD controller
MenuItem::linkToCrud('Klienci', 'fa-solid fa-people-group', Client::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Licencje', 'fa-solid fa-cart-shopping', License::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Aplikacje', 'fa-solid fa-code', App::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Wersje', 'fa-solid fa-code-branch', Versions::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToRoute('Wersje w repozytorium', 'fa-solid fa-code-branch', 'app_admin_version_repo')->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Fiskalizacje', 'fa-solid fa-cash-register', Fiscalization::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('E-Paragon', 'fa-solid fa-receipt', Paragon::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Log', 'fa-solid fa-table-list', Log::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Polecenia serwisowe', 'fa-solid fa-terminal', ServiceCommand::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('wykonane polecenia serwisowe', 'fa-solid fa-terminal', ServiceCommandsCompleted::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Użytkownicy', 'fa-solid fa-user', User::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToRoute('Download', 'fa-solid fa-download', 'app_admin_version_download')->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('SoftPos', 'fa-solid fa-user', SoftPos::class)->setPermission('ROLE_SUPER_ADMIN'),
MenuItem::linkToCrud('Zmiana hasła', 'fa-solid fa-user', AskChangeAddress::class),
// MenuItem::subMenu('Bazy produktowe', 'fa fa-database')->setSubItems([
// MenuItem::linkToCrud('Kategorie', 'fa fa-tags', ImportedCategory::class),
// MenuItem::linkToCrud('Produkty', 'fa fa-file-text', ImportedProduct::class),
// MenuItem::linkToCrud('Opakowania', 'fa fa-comment', ImportedPackage::class),
// MenuItem::linkToCrud('Jednostki', 'fa fa-comment', ImportedUnits::class),
// MenuItem::linkToCrud('Rabaty/Narzuty', 'fa fa-comment', ImportedDiscount::class),
// ]),
];
}
}