<?php
namespace App\Controller\Admin;
use App\Entity\Acquisition;
use App\Entity\BankingFile;
use App\Entity\Client;
use App\Entity\Command;
use App\Entity\Commercialization;
use App\Entity\Customer;
use App\Entity\Employee;
use App\Entity\Neighborhood;
use App\Entity\Prospect;
use App\Entity\ScrapHistory;
use App\Entity\ServiceProvider;
use App\Entity\SourceUrl;
use App\Entity\Sourcing;
use App\Entity\SourcingFinancialFile;
use App\Entity\SourcingLegalFile;
use App\Entity\SourcingTechnicalFile;
use App\Entity\SourcingWorkSheets;
use App\Entity\SuiviClient;
use App\Entity\Supplier;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
#[Route('/', name: 'admin')]
public function index(): Response
{
//return parent::index();
$adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
return $this->redirect($adminUrlGenerator->setController(CustomerCrudController::class)->generateUrl());
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('<img width="140px" style="margin:10px 0 0 30px;" src="assets/images/impactrealestatelogo.png" />')
->setTranslationDomain("admin");
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToCrud('Dashboard', 'fa fa-home', Sourcing::class);
yield MenuItem::section('Sourcing');
yield MenuItem::linkToCrud('Scrap Source URL', 'fa-solid fa-building', SourceUrl::class);
yield MenuItem::linkToCrud('Scrap History', 'fa-solid fa-building', ScrapHistory::class);
yield MenuItem::linkToCrud('Quartiers', 'fa-solid fa-building', Neighborhood::class);
yield MenuItem::linkToCrud('Liste des biens', 'fa-solid fa-building', Sourcing::class)->setController(SourcingCrudController::class);
yield MenuItem::linkToCrud('Biens shortlistés', 'fa-solid fa-building', Sourcing::class)->setController(SourcingShortlistedCrudController::class);
yield MenuItem::linkToCrud('Dossier Technique', 'fa fa-folder',SourcingTechnicalFile::class);
yield MenuItem::section('Acquisition');
yield MenuItem::linkToCrud('Biens à acquérir', 'fa-solid fa-handshake', Acquisition::class)->setController(AcquisitionCrudController::class);
yield MenuItem::linkToCrud('Biens validés', 'fa-solid fa-users', Acquisition::class)->setController(AcquisitionAcceptedCrudController::class);
yield MenuItem::linkToCrud('Dossiers Juridiques', 'fa fa-folder', SourcingLegalFile::class);
yield MenuItem::linkToCrud('Dossiers financiers', 'fa fa-folder', SourcingFinancialFile::class);
yield MenuItem::linkToCrud('Dossier d\'acquisition', 'fa fa-folder', Sourcing::class)->setController(FileAcquisitionCrudController::class);
yield MenuItem::section('Commercialisation');
yield MenuItem::linkToCrud('Commercialisation', 'fa-solid fa-users', Acquisition::class)->setController(AcquisitionCommercializationAcceptedCrudController::class);
yield MenuItem::linkToCrud('Dossier de commercialisation', 'fa fa-folder', Commercialization::class)->setController(CommercializationCrudController::class);
yield MenuItem::linkToRoute('Qualité des occupants', 'fas fa-bank', "app_controller_quality_occupants");
yield MenuItem::linkToCrud('Produits et fiches immeubles', 'fa-solid fa-users', Commercialization::class)->setController(CommercialisationSourcingFiles::class);
yield MenuItem::linkToCrud('Prospects et clients', 'fa-solid fa-users', Prospect::class)->setController(ProspectCrudController::class);
yield MenuItem::section('SUIVI DES CLIENTS');
yield MenuItem::linkToCrud('Paiements', 'fa-solid fa-hand-holding-dollar', SuiviClient::class);
yield MenuItem::linkToCrud('Gestion travaux', 'fa-solid fa-users', SourcingWorkSheets::class)->setController(SourcingWorkManagementCrudController::class);
// yield MenuItem::linkToRoute('Relances envoyés par clients', 'fa-solid fa-users', "reminder_paiment_rent_sourcing");
yield MenuItem::linkToCrud('Relances envoyés par clients', 'fa-solid fa-users', RentPaimentHistory::class)->setController(ReminderRentSourcingCrudController::class);
yield MenuItem::linkToUrl('API Deepki', 'fa-solid fa-users', "#");
yield MenuItem::section('VENTE');
yield MenuItem::linkToCrud('Simulation de vente', 'fa-solid fa-hand-holding-dollar', 'fa-solid fa-users', Commercialization::class)->setController(SourcingSellSimulation::class);
yield MenuItem::linkToCrud('Biens à Vendre', 'fa-solid fa-hand-holding-dollar', Commercialization::class)->setController(SourcingToSellCrudController::class);
yield MenuItem::linkToCrud('Dossier de Vente', 'fa-solid fa-hand-holding-dollar', Sourcing::class)->setController(SourcingSaleFilesCrudController::class);
yield MenuItem::linkToCrud('Bien vendus', 'fa-solid fa-hand-holding-dollar', Commercialization::class)->setController(SoldSourcingCrudController::class);
yield MenuItem::section('RH + PARTENAIRES');
yield MenuItem::linkToCrud('Dossier employé', 'fa-solid fa-users', Employee::class);
yield MenuItem::linkToCrud('Dossier fournisseurs', 'fa-solid fa-users', Supplier::class);
yield MenuItem::linkToCrud('Dossier prestataires', 'fa-solid fa-users', ServiceProvider::class);
yield MenuItem::section('SIMULATIONS');
yield MenuItem::linkToCrud('Simulations de vente', 'fa-solid fa-users', Commercialization::class)->setController(SourcingSellSimulation::class);
yield MenuItem::linkToUrl('Simulation d\'achat', 'fa-solid fa-hand-holding-dollar',"#");
yield MenuItem::section('Gestion des comptes');
yield MenuItem::linkToCrud('Admin', 'fa-solid fa-users', Customer::class);
yield MenuItem::linkToCrud('Client', 'fa-solid fa-users', Client::class);
}
}