duties widget correction 7
This commit is contained in:
parent
08d83f73eb
commit
3cdc1adba8
@ -152,7 +152,16 @@ export async function GET(request: NextRequest) {
|
|||||||
|
|
||||||
const tasks = data.result
|
const tasks = data.result
|
||||||
.filter((task: any) => {
|
.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.type || task.type !== 'subtask') {
|
||||||
if (task.status === 3) {
|
if (task.status === 3) {
|
||||||
console.log(`Filtering out completed main task ${task.id} (status: ${task.status})`);
|
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
|
// Convert both to strings for comparison to handle any type mismatches
|
||||||
const taskEditorId = String(task.editorId).trim();
|
const taskEditorId = String(task.editorId).trim();
|
||||||
const currentUserId = String(userId).trim();
|
const currentUserId = String(userId).trim();
|
||||||
|
|||||||
@ -109,7 +109,7 @@ export function Duties() {
|
|||||||
// Filter out parent tasks with status Done (3) and sort by dateToFinish
|
// Filter out parent tasks with status Done (3) and sort by dateToFinish
|
||||||
const sortedTasks = data
|
const sortedTasks = data
|
||||||
.filter((task: Task) => {
|
.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') {
|
if (!task.type || task.type !== 'subtask') {
|
||||||
const isMainTaskActive = task.status !== 3;
|
const isMainTaskActive = task.status !== 3;
|
||||||
if (!isMainTaskActive) {
|
if (!isMainTaskActive) {
|
||||||
@ -118,8 +118,16 @@ export function Duties() {
|
|||||||
return isMainTaskActive;
|
return isMainTaskActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
// For subtasks, we keep them regardless of their status
|
// For subtasks, check if their parent task is Done
|
||||||
console.log(`Keeping subtask ${task.id}: status=${task.status} (${getStatusLabel(task.status)}), parentId=${task.dependingTicketId || 'none'}`);
|
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;
|
return true;
|
||||||
})
|
})
|
||||||
.sort((a: Task, b: Task) => {
|
.sort((a: Task, b: Task) => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user