From 1e01d2e3567a1c6bc1a6229db742cfc81b3e1e51 Mon Sep 17 00:00:00 2001 From: Alma Date: Sun, 13 Apr 2025 18:53:55 +0200 Subject: [PATCH] duties widget correction 3 --- app/api/leantime/tasks/route.ts | 18 ++---- components/calendar/calendar-client.tsx | 78 ++++++++++++------------- components/flow.tsx | 7 +-- 3 files changed, 48 insertions(+), 55 deletions(-) diff --git a/app/api/leantime/tasks/route.ts b/app/api/leantime/tasks/route.ts index b286c43c..75fecaf2 100644 --- a/app/api/leantime/tasks/route.ts +++ b/app/api/leantime/tasks/route.ts @@ -152,15 +152,9 @@ export async function GET(request: NextRequest) { const tasks = data.result .filter((task: any) => { - // Convert status to number to ensure consistent comparison - const taskStatus = Number(task.status); - - // Log the raw status value for debugging - console.log(`Raw task ${task.id} status: ${task.status}, converted: ${taskStatus}`); - - // Skip tasks that are done (status 3 or 5) - if (taskStatus === 3 || taskStatus === 5) { - console.log(`Filtering out completed task ${task.id} (type: ${task.type || 'main'}, status: ${taskStatus})`); + // Skip all completed tasks (status 5), whether they are main tasks or subtasks + if (task.status === 5) { + console.log(`Filtering out completed task ${task.id} (type: ${task.type || 'main'})`); return false; } @@ -170,7 +164,7 @@ export async function GET(request: NextRequest) { // Only show tasks where the user is the editor const isUserEditor = taskEditorId === currentUserId; - console.log(`Task ${task.id}: status=${taskStatus}, type=${task.type || 'main'}, isUserEditor=${isUserEditor}`); + console.log(`Task ${task.id}: status=${task.status}, type=${task.type || 'main'}, isUserEditor=${isUserEditor}`); return isUserEditor; }) .map((task: any) => ({ @@ -178,7 +172,7 @@ export async function GET(request: NextRequest) { headline: task.headline, projectName: task.projectName, projectId: task.projectId, - status: Number(task.status), // Ensure status is a number + status: task.status, dateToFinish: task.dateToFinish || null, milestone: task.type || null, details: task.description || null, @@ -187,7 +181,7 @@ export async function GET(request: NextRequest) { editorId: task.editorId, editorFirstname: task.editorFirstname, editorLastname: task.editorLastname, - type: task.type || null + type: task.type || null // Added type field to identify subtasks })); console.log(`Found ${tasks.length} tasks assigned to user ${userId}`); diff --git a/components/calendar/calendar-client.tsx b/components/calendar/calendar-client.tsx index 0c91d549..640f0db5 100644 --- a/components/calendar/calendar-client.tsx +++ b/components/calendar/calendar-client.tsx @@ -929,9 +929,9 @@ export function CalendarClient({ initialCalendars, userId, userProfile }: Calend Nouveau calendrier - - + + - handleViewChange("dayGridMonth")} - > - Mois - - handleViewChange("dayGridMonth")} + > + Mois + + handleViewChange("timeGridWeek")} - > - Semaine - - handleViewChange("timeGridWeek")} + > + Semaine + + handleViewChange("timeGridDay")} - > - Jour - - + onClick={() => handleViewChange("timeGridDay")} + > + Jour + + @@ -1021,26 +1021,26 @@ export function CalendarClient({ initialCalendars, userId, userProfile }: Calend
Chargement des événements... -
- ) : ( - + ) : ( + visibleCalendarIds.includes(cal.id)) .flatMap(cal => (cal.events || []).map(event => ({ - id: event.id, - title: event.title, + id: event.id, + title: event.title, start: new Date(event.start), end: new Date(event.end), - allDay: event.isAllDay, + allDay: event.isAllDay, description: event.description, location: event.location, calendarId: event.calendarId, @@ -1119,12 +1119,12 @@ export function CalendarClient({ initialCalendars, userId, userProfile }: Calend minute: '2-digit', hour12: false }} - /> - )} - + /> + )} + {/* Calendar dialog */} - setIsCalendarModalOpen(false)} onSave={handleCalendarSave} diff --git a/components/flow.tsx b/components/flow.tsx index 337b74f9..8ab2e328 100644 --- a/components/flow.tsx +++ b/components/flow.tsx @@ -105,13 +105,12 @@ export function Duties() { return; } - // Filter out all tasks with done status (3 or 5) and sort by dateToFinish + // Filter out all tasks and subtasks with status 5 (Done) and sort by dateToFinish const sortedTasks = data .filter((task: Task) => { - const status = Number(task.status); - const isNotDone = status !== 3 && status !== 5; + const isNotDone = task.status !== 5; // Log task details for debugging - console.log(`Task ${task.id}: status=${status}, type=${task.type || 'main'}, dateToFinish=${task.dateToFinish}, isNotDone=${isNotDone}`); + console.log(`Task ${task.id}: status=${task.status}, type=${task.type || 'main'}, dateToFinish=${task.dateToFinish}, isNotDone=${isNotDone}`); return isNotDone; }) .sort((a: Task, b: Task) => {