Files
LogiFlow/debug-employee-production-permissions.js
T
michaelschal 632eb8dd82 Enable employees to create customer orders and DLC products
Fixes production issues preventing employees from creating customer orders and DLC products by ensuring correct permissions, cache invalidation, and backend route configurations.

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/rEII9fE
2025-08-12 14:40:17 +00:00

80 lines
3.0 KiB
JavaScript

#!/usr/bin/env node
// Script de debug pour permissions employé en production
// À exécuter dans la console DevTools du navigateur
const debugEmployeePermissions = () => {
console.log('🔍 DEBUG PERMISSIONS EMPLOYÉ PRODUCTION');
console.log('=====================================');
// 1. Vérifier l'utilisateur connecté
console.log('\n👤 UTILISATEUR:');
if (window.user || localStorage.getItem('user')) {
const user = window.user || JSON.parse(localStorage.getItem('user') || '{}');
console.log('ID:', user.id);
console.log('Role:', user.role);
console.log('Groups:', user.userGroups);
console.log('Nom:', user.firstName, user.lastName);
} else {
console.log('❌ Aucun utilisateur trouvé');
return;
}
// 2. Vérifier les permissions via hook
console.log('\n🔐 PERMISSIONS HOOK:');
try {
// Simuler usePermissions
const testPermissions = {
'customer-orders': ['view', 'create'],
'dlc': ['view', 'create']
};
console.log('Customer Orders - canCreate:', testPermissions['customer-orders'].includes('create'));
console.log('DLC - canCreate:', testPermissions['dlc'].includes('create'));
} catch (error) {
console.log('❌ Erreur permissions:', error);
}
// 3. Vérifier les éléments DOM
console.log('\n🖥️ INTERFACE:');
const nouvelleCommande = document.querySelector('button:contains("Nouvelle Commande")') ||
document.querySelector('[class*="button"]:contains("Nouvelle")');
console.log('Bouton "Nouvelle Commande" visible:', !!nouvelleCommande);
const dlcButton = document.querySelector('button:contains("Nouveau DLC")') ||
document.querySelector('[class*="button"]:contains("DLC")');
console.log('Bouton création DLC visible:', !!dlcButton);
// 4. Test requête API directe
console.log('\n🌐 TEST API:');
console.log('Ouvrir DevTools > Network pour voir les requêtes');
console.log('Essayer de créer une commande et noter la réponse');
// 5. Logs à surveiller
console.log('\n📋 LOGS À SURVEILLER:');
console.log('- Erreurs console (rouge)');
console.log('- Requêtes réseau échouées (400/403/500)');
console.log('- Messages d\'erreur formulaire');
console.log('- Validation schema échouée');
return {
user: window.user || JSON.parse(localStorage.getItem('user') || '{}'),
canCreateOrders: true, // Devrait être true pour employé
canCreateDLC: true, // Devrait être true pour employé
timestamp: new Date().toISOString()
};
};
// Instructions pour utilisation en production
console.log('🎯 INSTRUCTIONS PRODUCTION:');
console.log('1. Ouvrir DevTools (F12)');
console.log('2. Aller dans Console');
console.log('3. Coller ce script et Entrée');
console.log('4. Analyser les résultats');
console.log('5. Essayer créer commande/DLC');
console.log('6. Envoyer logs complets pour debug');
// Export pour utilisation
if (typeof module !== 'undefined') {
module.exports = debugEmployeePermissions;
}