mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-15 03:09:32 +02:00
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
102 lines
3.7 KiB
Markdown
102 lines
3.7 KiB
Markdown
# 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**:
|
|
```typescript
|
|
// 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**:
|
|
```typescript
|
|
// 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**:
|
|
```typescript
|
|
// 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 directeur
|
|
- `PUT /api/suppliers/:id`: Ajout du rôle directeur
|
|
- `DELETE /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:
|
|
|
|
1. **Connexion Employé**: Doit pouvoir se connecter sans erreur
|
|
2. **Accès Fournisseurs**: Doit voir les listes de fournisseurs dans Commandes Client et DLC
|
|
3. **Création Tâches**: Doit pouvoir créer des tâches dans ses magasins assignés
|
|
4. **Navigation**: Ne doit plus voir d'erreurs 403 sur les modules autorisés
|
|
|
|
## Actions de Suivi Recommandées
|
|
|
|
1. **Test en Production**: Utiliser les scripts de test fournis
|
|
2. **Monitoring**: Surveiller les logs pour d'autres erreurs 403 potentielles
|
|
3. **Formation**: Informer les employés des nouvelles fonctionnalités disponibles
|
|
4. **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. |