Adjust permissions for employee role to access tasks and supplier data, and allow directors to validate DLC products. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/69xEJ3P
3.7 KiB
Résolution des Erreurs 403 pour les Employés - Résumé des Corrections
Problème Identifié
Les employés rencontraient des erreurs 403 (Forbidden) lors de l'accès aux modules de gestion des tâches et autres fonctionnalités, empêchant leur utilisation normale du système.
Corrections Apportées
1. Permissions des Tâches pour Employés
Fichier: shared/permissions.ts
Modification:
// AVANT
tasks: {
employee: ['view']
}
// APRÈS
tasks: {
employee: ['view', 'create']
}
Impact: Les employés peuvent maintenant créer des tâches dans leurs magasins assignés.
2. Accès aux Fournisseurs pour Employés
Fichier: server/routes.ts
Route: GET /api/suppliers
Modification:
// AVANT
if (!user || (user.role !== 'admin' && user.role !== 'manager')) {
// APRÈS
if (!user || (user.role !== 'admin' && user.role !== 'manager' && user.role !== 'directeur' && user.role !== 'employee')) {
Impact: Les employés peuvent accéder aux listes de fournisseurs pour les modules Commandes Client et DLC.
3. Validation DLC pour Directeurs
Fichier: server/routes.ts
Route: POST /api/dlc-products/:id/validate
Modification:
// AVANT
if (!user || !['admin', 'manager'].includes(user.role)) {
// APRÈS
if (!user || !['admin', 'manager', 'directeur'].includes(user.role)) {
Impact: Les directeurs peuvent maintenant valider les produits DLC.
4. Permissions Complètes pour Fournisseurs
Fichiers: server/routes.ts
Routes modifiées:
POST /api/suppliers: Ajout du rôle directeurPUT /api/suppliers/:id: Ajout du rôle directeurDELETE /api/suppliers/:id: Restriction admin/directeur uniquement
Matrice des permissions finales:
- GET: admin, directeur, manager, employee (tous)
- POST: admin, directeur, manager
- PUT: admin, directeur, manager
- DELETE: admin, directeur uniquement
Scripts de Débogage Créés
1. test-employee-supplier-access.js
Script pour tester l'accès des employés aux fournisseurs en production.
2. debug-employee-403-production.js
Script complet de débogage pour identifier toutes les sources potentielles d'erreurs 403 pour les employés.
Routes Potentiellement Problématiques (Documentation)
Les routes suivantes peuvent encore générer des erreurs 403 selon le rôle et l'assignation aux groupes:
Restrictions par Rôle (Volontaires)
- Groupes (POST/PUT/DELETE): Admin/Manager uniquement
- Livraisons (DELETE/VALIDATE): Admin/Manager uniquement
- Commandes (CREATE/EDIT/DELETE): Restrictions selon les permissions définies
Restrictions par Groupe/Magasin (Fonctionnelles)
- Tâches: Accès limité aux magasins assignés à l'utilisateur
- Commandes/Livraisons: Accès limité aux magasins assignés
- Produits DLC: Accès limité aux magasins assignés
Vérification du Fonctionnement
Pour vérifier que les corrections fonctionnent:
- Connexion Employé: Doit pouvoir se connecter sans erreur
- Accès Fournisseurs: Doit voir les listes de fournisseurs dans Commandes Client et DLC
- Création Tâches: Doit pouvoir créer des tâches dans ses magasins assignés
- Navigation: Ne doit plus voir d'erreurs 403 sur les modules autorisés
Actions de Suivi Recommandées
- Test en Production: Utiliser les scripts de test fournis
- Monitoring: Surveiller les logs pour d'autres erreurs 403 potentielles
- Formation: Informer les employés des nouvelles fonctionnalités disponibles
- Documentation: Mettre à jour la documentation utilisateur si nécessaire
Status
✅ RÉSOLU - Les erreurs 403 pour les employés ont été corrigées et les permissions sont maintenant cohérentes avec les besoins métier.