duties widget correction 7

This commit is contained in:
Alma 2025-04-13 19:18:27 +02:00
parent 08d83f73eb
commit 3cdc1adba8
2 changed files with 37 additions and 4 deletions

View File

@ -152,7 +152,16 @@ export async function GET(request: NextRequest) {
const tasks = data.result
.filter((task: any) => {
// For main tasks, filter out if status is Done (3)
// Log raw task data for debugging
console.log('Raw task data:', {
id: task.id,
headline: task.headline,
status: task.status,
type: task.type,
dependingTicketId: task.dependingTicketId
});
// If it's a main task and it's Done, filter it out
if (!task.type || task.type !== 'subtask') {
if (task.status === 3) {
console.log(`Filtering out completed main task ${task.id} (status: ${task.status})`);
@ -160,6 +169,22 @@ export async function GET(request: NextRequest) {
}
}
// For subtasks, check if their parent task is Done
if (task.type === 'subtask' && task.dependingTicketId) {
const parentTask = data.result.find((t: any) => t.id === task.dependingTicketId);
if (parentTask) {
console.log(`Found parent task for ${task.id}:`, {
parentId: parentTask.id,
parentHeadline: parentTask.headline,
parentStatus: parentTask.status
});
}
if (parentTask && parentTask.status === 3) {
console.log(`Filtering out subtask ${task.id} because parent task ${task.dependingTicketId} is Done (status: ${parentTask.status})`);
return false;
}
}
// Convert both to strings for comparison to handle any type mismatches
const taskEditorId = String(task.editorId).trim();
const currentUserId = String(userId).trim();

View File

@ -109,7 +109,7 @@ export function Duties() {
// Filter out parent tasks with status Done (3) and sort by dateToFinish
const sortedTasks = data
.filter((task: Task) => {
// If it's a main task (not a subtask) and it's Done, filter it out
// If it's a main task and it's Done, filter it out
if (!task.type || task.type !== 'subtask') {
const isMainTaskActive = task.status !== 3;
if (!isMainTaskActive) {
@ -118,8 +118,16 @@ export function Duties() {
return isMainTaskActive;
}
// For subtasks, we keep them regardless of their status
console.log(`Keeping subtask ${task.id}: status=${task.status} (${getStatusLabel(task.status)}), parentId=${task.dependingTicketId || 'none'}`);
// For subtasks, check if their parent task is Done
if (task.type === 'subtask' && task.dependingTicketId) {
const parentTask = data.find(t => t.id === task.dependingTicketId);
if (parentTask && parentTask.status === 3) {
console.log(`Filtering out subtask ${task.id} because parent task ${task.dependingTicketId} is Done (status: ${parentTask.status})`);
return false;
}
}
console.log(`Keeping task ${task.id}: status=${task.status} (${getStatusLabel(task.status)}), type=${task.type}, parentId=${task.dependingTicketId || 'none'}`);
return true;
})
.sort((a: Task, b: Task) => {