RBAC : enforcement des permissions granulaires + suppression client/prospect #20

Merged
matthieu merged 2 commits from feat/rbac-enforcement into develop 2026-06-23 15:46:47 +00:00
Owner

Résumé

Mise en application du contrôle d'accès granulaire (RBAC) sur les ressources métier, et ajout de la suppression client/prospect depuis l'annuaire.

Changements

  • fix(rbac) : enforcement des permissions granulaires sur les ressources métier (projets, tâches, time tracking, annuaire). Le rôle user est volontairement vide → un non-admin ne voit rien sans permission attribuée.
  • fix(rbac) : ajout d'une permission dédiée time-tracking.entries.manage.
  • refactor(directory) : formulaires client/prospect réduits au nom de société.
  • feat(directory) : suppression d'un client ou prospect directement depuis la liste, avec modale de confirmation (nom interpolé, action irréversible).

Vérifications

  • 176 tests PHPUnit OK (hooks pre-commit).
  • Vérification navigateur (admin) : suppression client (DELETE /clients → 204) et prospect (DELETE /prospects → 204), liste rafraîchie, modale de confirmation conforme.

Déploiement

⚠️ Après merge + déploiement : relancer app:seed-rbac et app:sync-permissions (nouvelle permission time-tracking.entries.manage). En prod, les permissions du rôle user devront être attribuées manuellement.

## Résumé Mise en application du contrôle d'accès granulaire (RBAC) sur les ressources métier, et ajout de la suppression client/prospect depuis l'annuaire. ## Changements - **fix(rbac)** : enforcement des permissions granulaires sur les ressources métier (projets, tâches, time tracking, annuaire). Le rôle `user` est volontairement vide → un non-admin ne voit rien sans permission attribuée. - **fix(rbac)** : ajout d'une permission dédiée `time-tracking.entries.manage`. - **refactor(directory)** : formulaires client/prospect réduits au nom de société. - **feat(directory)** : suppression d'un client ou prospect directement depuis la liste, avec modale de confirmation (nom interpolé, action irréversible). ## Vérifications - 176 tests PHPUnit OK (hooks pre-commit). - Vérification navigateur (admin) : suppression client (`DELETE /clients` → 204) et prospect (`DELETE /prospects` → 204), liste rafraîchie, modale de confirmation conforme. ## Déploiement ⚠️ Après merge + déploiement : relancer `app:seed-rbac` et `app:sync-permissions` (nouvelle permission `time-tracking.entries.manage`). En prod, les permissions du rôle `user` devront être attribuées manuellement.
matthieu added 1 commit 2026-06-23 15:41:47 +00:00
feat(directory) : add client/prospect deletion from list with confirm modal
Pull Request — Quality gate / Frontend (build) (pull_request) Successful in 39s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m35s
3d991f78e5
matthieu added 1 commit 2026-06-23 15:46:43 +00:00
Merge branch 'develop' into feat/rbac-enforcement
Pull Request — Quality gate / Frontend (build) (pull_request) Successful in 40s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 1m8s
b4062618f7
matthieu merged commit b6dd3ad194 into develop 2026-06-23 15:46:47 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MALIO-DEV/Lesstime#20