mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-24 07:28:19 +02:00
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
This commit is contained in:
1 parent
4ca3c17bad
commit
632eb8dd82
6 files changed
+415
-1
No files matched your search
@@ -0,0 +1,94 @@
|
||||
-- Fix urgent production: permissions employé pour commandes client et DLC
|
||||
-- À exécuter sur la base de production
|
||||
|
||||
-- 1. Vérifier les permissions actuelles pour le rôle employé
|
||||
SELECT
|
||||
p.name as permission_name,
|
||||
p.category,
|
||||
CASE WHEN rp.permission_id IS NOT NULL THEN 'GRANTED' ELSE 'DENIED' END as status
|
||||
FROM permissions p
|
||||
LEFT JOIN role_permissions rp ON p.id = rp.permission_id
|
||||
AND rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
||||
WHERE p.category IN ('customer-orders', 'dlc')
|
||||
ORDER BY p.category, p.name;
|
||||
|
||||
-- 2. Vérifier si le rôle employé existe
|
||||
SELECT * FROM roles WHERE name = 'employee';
|
||||
|
||||
-- 3. Obtenir l'ID du rôle employé
|
||||
SELECT id FROM roles WHERE name = 'employee';
|
||||
|
||||
-- 4. Vérifier les permissions requises qui pourraient manquer
|
||||
SELECT id, name, category, description
|
||||
FROM permissions
|
||||
WHERE category IN ('customer-orders', 'dlc')
|
||||
AND name IN ('create', 'view')
|
||||
AND id NOT IN (
|
||||
SELECT permission_id
|
||||
FROM role_permissions
|
||||
WHERE role_id = (SELECT id FROM roles WHERE name = 'employee')
|
||||
);
|
||||
|
||||
-- 5. Si des permissions manquent, les ajouter (À DÉCOMMENTER SI NÉCESSAIRE)
|
||||
/*
|
||||
-- Ajouter permission créer commandes client pour employé
|
||||
INSERT INTO role_permissions (role_id, permission_id, assigned_by, created_at)
|
||||
SELECT
|
||||
(SELECT id FROM roles WHERE name = 'employee'),
|
||||
p.id,
|
||||
'system_fix',
|
||||
NOW()
|
||||
FROM permissions p
|
||||
WHERE p.category = 'customer-orders'
|
||||
AND p.name = 'create'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM role_permissions rp
|
||||
WHERE rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
||||
AND rp.permission_id = p.id
|
||||
);
|
||||
|
||||
-- Ajouter permission créer DLC pour employé
|
||||
INSERT INTO role_permissions (role_id, permission_id, assigned_by, created_at)
|
||||
SELECT
|
||||
(SELECT id FROM roles WHERE name = 'employee'),
|
||||
p.id,
|
||||
'system_fix',
|
||||
NOW()
|
||||
FROM permissions p
|
||||
WHERE p.category = 'dlc'
|
||||
AND p.name = 'create'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM role_permissions rp
|
||||
WHERE rp.role_id = (SELECT id FROM roles WHERE name = 'employee')
|
||||
AND rp.permission_id = p.id
|
||||
);
|
||||
*/
|
||||
|
||||
-- 6. Vérifier l'utilisateur qui a des problèmes
|
||||
SELECT
|
||||
u.id,
|
||||
u.username,
|
||||
u.role,
|
||||
u.first_name,
|
||||
u.last_name,
|
||||
COUNT(ug.group_id) as group_count
|
||||
FROM users u
|
||||
LEFT JOIN user_groups ug ON u.id = ug.user_id
|
||||
WHERE u.id = '_1753266816257'
|
||||
GROUP BY u.id, u.username, u.role, u.first_name, u.last_name;
|
||||
|
||||
-- 7. Vérifier les groupes de l'utilisateur
|
||||
SELECT
|
||||
ug.user_id,
|
||||
ug.group_id,
|
||||
g.name as group_name,
|
||||
g.color as group_color
|
||||
FROM user_groups ug
|
||||
JOIN groups g ON ug.group_id = g.id
|
||||
WHERE ug.user_id = '_1753266816257';
|
||||
|
||||
-- Notes pour le debugging:
|
||||
-- - Si pas de résultats dans requête 4: permissions OK
|
||||
-- - Si résultats dans requête 4: décommenter section 5
|
||||
-- - Vérifier que l'utilisateur a bien un groupe assigné
|
||||
-- - Le problème peut être côté frontend si permissions OK
|
||||
Reference in new issue
Block a user