From b3386eb6b93a5afe3e6046e241e2ed2c7d862303 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 12 Aug 2025 12:24:01 +0000 Subject: [PATCH] Allow directors and managers to validate deliveries in the system Update permissions in `shared/permissions.ts` and UI logic in `OrderDetailModal.tsx` and `Deliveries.tsx` to grant 'validate' permission to 'directeur' and 'manager' roles for deliveries. 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/1jHchFx --- client/src/components/modals/OrderDetailModal.tsx | 2 +- client/src/pages/Deliveries.tsx | 2 +- shared/permissions.ts | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client/src/components/modals/OrderDetailModal.tsx b/client/src/components/modals/OrderDetailModal.tsx index 50c664f..ea03454 100644 --- a/client/src/components/modals/OrderDetailModal.tsx +++ b/client/src/components/modals/OrderDetailModal.tsx @@ -174,7 +174,7 @@ export default function OrderDetailModal({ const canEdit = user?.role === 'admin' || user?.role === 'manager'; const canDelete = user?.role === 'admin' || user?.role === 'manager'; - const canValidate = (user?.role === 'admin' || user?.role === 'manager') && + const canValidate = (user?.role === 'admin' || user?.role === 'directeur' || user?.role === 'manager') && isDelivery && item.status !== 'delivered'; const getStatusBadge = (status: string) => { diff --git a/client/src/pages/Deliveries.tsx b/client/src/pages/Deliveries.tsx index cbddfd7..73e630e 100644 --- a/client/src/pages/Deliveries.tsx +++ b/client/src/pages/Deliveries.tsx @@ -250,7 +250,7 @@ export default function Deliveries() { const canCreate = true; // All users can create deliveries const canEdit = user?.role === 'admin' || user?.role === 'manager'; const canDelete = user?.role === 'admin' || user?.role === 'manager'; - const canValidate = user?.role === 'admin' || user?.role === 'manager'; + const canValidate = user?.role === 'admin' || user?.role === 'directeur' || user?.role === 'manager'; return (
diff --git a/shared/permissions.ts b/shared/permissions.ts index 2a4ef65..4b54fed 100644 --- a/shared/permissions.ts +++ b/shared/permissions.ts @@ -40,11 +40,11 @@ const PERMISSIONS: Record> = { employee: [] }, - // Livraisons - Admin/Directeur tout, Manager tout sauf delete, Employé aucun accès + // Livraisons - Admin/Directeur tout + validate, Manager tout sauf delete + validate, Employé aucun accès deliveries: { - admin: ['view', 'create', 'edit', 'delete'], - directeur: ['view', 'create', 'edit', 'delete'], - manager: ['view', 'create', 'edit'], + admin: ['view', 'create', 'edit', 'delete', 'validate'], + directeur: ['view', 'create', 'edit', 'delete', 'validate'], + manager: ['view', 'create', 'edit', 'validate'], employee: [] },