- Ajout du champ 'Remarque' dans l'entité Intervention
- Création d'un formulaire RemarqueType dédié
- Ajout d'une route /intervention/{id}/remarque accessible uniquement au chauffagiste assigné
- Mise en place d'un contrôleur sécurisé pour ajouter une remarque
- Création de la vue intervention/remarque.html.twig
- Affichage conditionnel du bouton 'Ajouter une remarque' dans show.html.twig
- Séparation stricte des rôles : seuls les chauffagistes peuvent ajouter leur remarque
- Mise à jour de tous les contrôleurs avec denyUnlessAdminOrSecretaire() pour clarifier les accès
- Redirection des dashboards et calendriers selon rôle (admin, secrétaire, chauffagiste)
✅ Prochaine étape : liaison compétences ↔ pannes ou gestion des stocks associés
65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
|
|
# 🚀 Application de Gestion Chauffagiste
|
|
|
|
## Description
|
|
Cette application permet de gérer les interventions, les utilisateurs (chauffagistes, secrétaires, admin), les pièces détachées, les véhicules, et les plannings dans une entreprise de chauffagistes.
|
|
|
|
## Fonctionnalités principales
|
|
- **Gestion des utilisateurs** : création de chauffagistes, secrétaires, et admins avec des rôles spécifiques.
|
|
- **Gestion des interventions** : assignation des chauffagistes, suivi des véhicules et des pièces détachées.
|
|
- **Gestion des stocks et des véhicules** : gestion des pièces détachées et des véhicules.
|
|
- **Planning des interventions** : chaque rôle a accès à un planning adapté (chauffagiste, secrétaire, admin).
|
|
- **Sécurisation par rôles** : accès aux pages limité par rôle (Admin, Secrétaire, Chauffagiste).
|
|
|
|
### Précisions pour les rôles :
|
|
- **Admin** : Accès complet à toutes les fonctionnalités (gestion des utilisateurs, véhicules, stocks, plannings, etc.)
|
|
- **Secrétaire** : Peut gérer les chauffagistes, les interventions et le planning des chauffagistes, mais **ne peut pas gérer d'autres secrétaires ni les admins**.
|
|
- **Chauffagiste** : Accède uniquement à ses propres interventions et à son planning.
|
|
|
|
## Installation
|
|
### Prérequis :
|
|
- PHP 8.x
|
|
- Composer
|
|
- Symfony 7.x
|
|
|
|
### Étapes d'installation :
|
|
1. Clonez le projet :
|
|
```bash
|
|
git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
|
|
```
|
|
2. Installez les dépendances avec Composer :
|
|
```bash
|
|
cd HegreEtConfort
|
|
composer install
|
|
```
|
|
3. Créez la base de données :
|
|
```bash
|
|
php bin/console doctrine:database:create
|
|
```
|
|
4. Exécutez les migrations pour créer les tables :
|
|
```bash
|
|
php bin/console doctrine:migrations:migrate
|
|
```
|
|
5. Exécuter cette insertion dans la console PostgreSQL pour créer votre premier utilisateur admin :
|
|
```bash
|
|
INSERT INTO "HegreEtConfort".public.utilisateur (id, email, first_name, last_name, birth_date, phone, roles, password)
|
|
VALUES (1000, 'admin@admin.admin', 'admin', 'admin', '2025-04-10', 'admin', '["ROLE_ADMIN"]', '$2y$13$4jqoZVgncgDJ6oPFDswZeeiVmt9TF2AC.xoBwyyrrbNl5Xz8r.50e');
|
|
```
|
|
|
|
6. Lancez le serveur Symfony :
|
|
```bash
|
|
symfony server:start
|
|
```
|
|
|
|
Accédez ensuite à l'application sur `http://localhost:8000`.
|
|
|
|
## Sécurisation des accès
|
|
Les secrétaires ont accès à toutes les pages **sauf celles concernant d'autres secrétaires et les admins**. Cela est géré par les contrôleurs via la méthode `denyAccessUnlessGranted()` pour vérifier le rôle de l'utilisateur. Par exemple, un secrétaire ne pourra pas modifier un autre secrétaire.
|
|
|
|
---
|
|
|
|
## Technologies utilisées
|
|
- Symfony 7.x
|
|
- Doctrine ORM
|
|
- Twig
|
|
- PHP 8.x |