From 989b2c8c4062c6ccde1ef52a24571f3e737abc50 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 2 Sep 2025 07:34:30 +0000 Subject: [PATCH] Grant task creation permissions to managers Update shared/permissions.ts to add 'create' permission to manager role for tasks module. Also, add a permission check in server/routes.ts before creating a task. Replit-Commit-Author: Agent Replit-Commit-Session-Id: f2b9c241-9fdd-4abd-9041-720afc8b27d6 Replit-Commit-Checkpoint-Type: full_checkpoint --- server/routes.ts | 5 +++++ shared/permissions.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/server/routes.ts b/server/routes.ts index 843cc9d..ec6e7bf 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -1645,6 +1645,11 @@ export async function registerRoutes(app: Express): Promise { return res.status(404).json({ message: "User not found" }); } + // Check permissions for creating tasks + if (!hasPermission(user.role, 'tasks', 'create')) { + return res.status(403).json({ message: "Permission denied: cannot create tasks" }); + } + const data = { ...req.body, createdBy: user.id, diff --git a/shared/permissions.ts b/shared/permissions.ts index 4b54fed..c978306 100644 --- a/shared/permissions.ts +++ b/shared/permissions.ts @@ -80,11 +80,11 @@ const PERMISSIONS: Record> = { employee: ['view', 'create'] }, - // Tâches - Admin/Directeur tout, Manager view + validate, Employé view seulement + // Tâches - Admin/Directeur tout, Manager view + create + edit + validate, Employé view seulement tasks: { admin: ['view', 'create', 'edit', 'delete', 'validate'], directeur: ['view', 'create', 'edit', 'delete', 'validate'], - manager: ['view', 'validate'], + manager: ['view', 'create', 'edit', 'validate'], employee: ['view'] } };