diff --git a/attached_assets/{16A95A8D-7826-4AD7-8519-09E89B6A0F44}_1756805143343.png b/attached_assets/{16A95A8D-7826-4AD7-8519-09E89B6A0F44}_1756805143343.png new file mode 100644 index 0000000..6eb1166 Binary files /dev/null and b/attached_assets/{16A95A8D-7826-4AD7-8519-09E89B6A0F44}_1756805143343.png differ diff --git a/server/routes.ts b/server/routes.ts index c7bf047..da5aade 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -1671,10 +1671,26 @@ export async function registerRoutes(app: Express): Promise { dueDateValue: data.dueDate }); + // Assign a default groupId if not provided + if (!data.groupId) { + if (user.role === 'admin') { + data.groupId = 1; // Default for admin + } else { + const userGroupIds = user.userGroups?.map(ug => ug.groupId) || []; + data.groupId = userGroupIds.length > 0 ? userGroupIds[0] : 1; + } + console.log('📝 POST /api/tasks - Assigned default groupId:', data.groupId); + } + // Check if user has access to the group if (user.role !== 'admin') { - const userGroupIds = user.userGroups.map(ug => ug.groupId); - if (!userGroupIds.includes(data.groupId)) { + const userGroupIds = user.userGroups?.map(ug => ug.groupId) || []; + console.log('📝 POST /api/tasks - User group access check:', { + userGroupIds, + requestedGroupId: data.groupId, + hasUserGroups: !!user.userGroups + }); + if (userGroupIds.length > 0 && !userGroupIds.includes(data.groupId)) { return res.status(403).json({ message: "Access denied to this group" }); } }