mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Fix an error preventing users from accessing system features
Initialize the usePermissions hook in the BLReconciliation component to resolve a ReferenceError, enabling correct role-based access control. 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/wU3ydzZ
This commit is contained in:
1 parent
9f09cec209
commit
f3fe6ef1d4
3 files changed
+72
No files matched your search
@@ -0,0 +1,71 @@
|
||||
# Fix Urgent - Erreur Permissions Production
|
||||
|
||||
## ❌ Problème Identifié
|
||||
**Erreur en production :** `ReferenceError: permissions is not defined`
|
||||
|
||||
### Cause Root
|
||||
- Import `usePermissions` présent ✅
|
||||
- **Hook `usePermissions` non initialisé** ❌
|
||||
- Variable `permissions` utilisée sans déclaration
|
||||
|
||||
## ✅ Solution Appliquée
|
||||
|
||||
### Avant (Cassé)
|
||||
```typescript
|
||||
export default function BLReconciliation() {
|
||||
const { user } = useAuthUnified();
|
||||
const { selectedStoreId } = useStore();
|
||||
const { toast } = useToast();
|
||||
const queryClient = useQueryClient();
|
||||
// ❌ permissions utilisé mais pas défini
|
||||
|
||||
// Plus tard dans le code:
|
||||
if (!permissions.canValidate('reconciliation')) // ❌ ReferenceError
|
||||
```
|
||||
|
||||
### Après (Corrigé)
|
||||
```typescript
|
||||
export default function BLReconciliation() {
|
||||
const { user } = useAuthUnified();
|
||||
const { selectedStoreId } = useStore();
|
||||
const { toast } = useToast();
|
||||
const queryClient = useQueryClient();
|
||||
const permissions = usePermissions(user?.role); // ✅ Hook initialisé
|
||||
|
||||
// Plus tard dans le code:
|
||||
if (!permissions.canValidate('reconciliation')) // ✅ Fonctionne
|
||||
```
|
||||
|
||||
## 🎯 Lignes Concernées
|
||||
|
||||
Les lignes utilisant `permissions.` :
|
||||
- **Ligne 88** : `permissions.canValidate('reconciliation')`
|
||||
- **Ligne 160** : `permissions.canDelete('reconciliation')`
|
||||
- **Ligne 406** : `permissions.canValidate('reconciliation')`
|
||||
- **Ligne 415** : `permissions.canDelete('reconciliation')`
|
||||
- **Ligne 437** : `permissions.canDelete('reconciliation')`
|
||||
|
||||
## 🚀 Test Production
|
||||
|
||||
### Vérifications Immédiates
|
||||
- [ ] Page `/bl-reconciliation` se charge sans erreur
|
||||
- [ ] Console DevTools sans "ReferenceError: permissions"
|
||||
- [ ] Boutons d'actions s'affichent selon le rôle :
|
||||
- **Admin** : Valider + Supprimer + Dévalider
|
||||
- **Directeur** : Valider + Supprimer
|
||||
- **Manager** : Accès refusé
|
||||
- **Employee** : Accès refusé
|
||||
|
||||
### Actions Fonctionnelles
|
||||
- [ ] Valider rapprochement (admin/directeur)
|
||||
- [ ] Supprimer livraison (admin uniquement)
|
||||
- [ ] Dévalider rapprochement (admin uniquement)
|
||||
- [ ] Dévalider automatique (admin uniquement)
|
||||
|
||||
## 📊 Status
|
||||
|
||||
**Problème :** ❌ ReferenceError: permissions is not defined
|
||||
**Solution :** ✅ Hook usePermissions initialisé
|
||||
**Production :** 🔄 À tester
|
||||
|
||||
**Prêt pour déploiement immédiat**
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 171 KiB |
@@ -17,6 +17,7 @@ export default function BLReconciliation() {
|
||||
const { selectedStoreId } = useStore();
|
||||
const { toast } = useToast();
|
||||
const queryClient = useQueryClient();
|
||||
const permissions = usePermissions(user?.role);
|
||||
|
||||
// Redirection pour les employés
|
||||
if (user?.role === 'employee') {
|
||||
|
||||
Reference in new issue
Block a user