DashboardController
extends AbstractController
in package
Tableau de bord post-connexion, adapté au rôle de l'utilisateur.
Un unique point d'entrée alimente des vues très différentes selon le profil : statistiques globales et chiffre d'affaires pour les administrateurs, périmètre entreprise pour les managers, indicateurs clients pour le support et les opérateurs, carte rattachée pour les employés, commandes et cartes personnelles pour les utilisateurs standard.
Table of Contents
Properties
Methods
- __construct() : mixed
- index() : Response
- Construit et affiche le tableau de bord correspondant au rôle de l'utilisateur.
Properties
$physicalCardRepository
private
PhysicalCardRepository
$physicalCardRepository
$subscriptionService
private
SubscriptionService
$subscriptionService
Methods
__construct()
public
__construct(SubscriptionService $subscriptionService, PhysicalCardRepository $physicalCardRepository) : mixed
Parameters
- $subscriptionService : SubscriptionService
-
Création de l'abonnement gratuit par défaut.
- $physicalCardRepository : PhysicalCardRepository
-
Cartes physiques rattachées aux commandes.
index()
Construit et affiche le tableau de bord correspondant au rôle de l'utilisateur.
public
index(EntityManagerInterface $entityManager, PaymentRepository $paymentRepository) : Response
Effets de bord préalables au rendu :
- un abonnement gratuit est créé pour tout
ROLE_USERsimple qui n'en a pas ; - un utilisateur rattaché à une entreprise mais non activé est redirigé vers l'accueil avec un message d'erreur.
Jeux de données assemblés selon le rôle :
ROLE_ADMIN/ROLE_SUPER_ADMIN: 5 dernières commandes, toutes les cartes, chiffre d'affaires du jour, du mois et de l'année (paiementsCOMPLETEDetACCEPTED), et deux séries sur 12 mois glissants (nouveaux utilisateurs et montant des paiements) destinées aux graphiques ;ROLE_MANAGER: cartes, paiements, employés et commandes de son entreprise ;ROLE_OPERATOR/ROLE_SUPPORT: compteurs clients (en attente, activés, nouveaux ce mois-ci), effectifs support et opérateurs, 5 derniers clients ;ROLE_EMPLOYEE: la carte de visite qui lui est rattachée ;- utilisateur standard : ses commandes et ses cartes actives.
Route : /dashboard, nom app_dashboard. Authentification complète requise.
Parameters
- $entityManager : EntityManagerInterface
-
Gestionnaire d'entités Doctrine.
- $paymentRepository : PaymentRepository
-
Agrégation des montants de paiement par période.
Attributes
- #[IsGranted]
- 'IS_AUTHENTICATED_FULLY'
- #[Route]
- '/dashboard'
- $name: 'app_dashboard'
Return values
Response —Page admin/dashboard.html.twig, ou redirection vers l'accueil
si le compte entreprise n'est pas encore activé.