src/Controller/DashboardController.php line 29
<?php
namespace App\Controller;
use App\Entity\Inventory;
use App\Entity\PurchaseOrder;
use App\Entity\Receiption;
use App\Entity\SaleOrder;
use App\Entity\Shipment;
use App\Entity\TransferOrder;
use App\Entity\User;
use Doctrine\Persistence\ManagerRegistry;
use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
public function __construct(private ManagerRegistry $managerRegistry)
{
}
#[Route('/', name: 'admin')]
public function index(): Response
{
$manager = $this->managerRegistry->getManager();
/** var array[LogEntry] */
$lastSaleOrder = $this->managerRegistry
->getManager()
->getRepository(SaleOrder::class)
->findBy(
[],
['updatedAt' => 'DESC'],
20
);
return $this->render('admin/dashboard.html.twig', compact('lastSaleOrder'));
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('KPS x Active fulfilment')->disableDarkMode(true);
}
public function configureAssets(): Assets
{
return Assets::new()->addCssFile('build/app.css')->addWebpackEncoreEntry('app');
}
public function configureMenuItems(): iterable
{
return [
MenuItem::linkToCrud('Sale orders', 'fas fa-cart-arrow-down', SaleOrder::class),
MenuItem::linkToCrud('Shipments', 'fas fa-truck-loading', Shipment::class),
MenuItem::linkToCrud('Purchase orders', 'fas fa-box', PurchaseOrder::class),
MenuItem::linkToCrud('Transfers to FBA', 'fab fa-amazon', TransferOrder::class),
MenuItem::linkToCrud('Inventory', 'fas fa-box-open', Inventory::class),
MenuItem::linkToCrud('Users', 'fa fa-user', User::class)
];
}
public function configureCrud(): Crud
{
return Crud::new()
->setPaginatorPageSize(50);
}
}