mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
fix(migration): handle orphaned assignments
This commit is contained in:
@@ -26,7 +26,7 @@ async function updateTeamTasks (team) {
|
|||||||
const userTask = find(teamUserTasks, task => task.userId === assignedUserId
|
const userTask = find(teamUserTasks, task => task.userId === assignedUserId
|
||||||
&& task.group.taskId === boardTask._id);
|
&& task.group.taskId === boardTask._id);
|
||||||
if (!boardTask.group.assignedUsersDetail) boardTask.group.assignedUsersDetail = {};
|
if (!boardTask.group.assignedUsersDetail) boardTask.group.assignedUsersDetail = {};
|
||||||
if (userTask) {
|
if (userTask && assignedUser) {
|
||||||
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
||||||
assignedDate: userTask.group.assignedDate,
|
assignedDate: userTask.group.assignedDate,
|
||||||
assignedUsername: assignedUser.auth.local.username,
|
assignedUsername: assignedUser.auth.local.username,
|
||||||
@@ -34,8 +34,7 @@ async function updateTeamTasks (team) {
|
|||||||
completed: userTask.completed || false,
|
completed: userTask.completed || false,
|
||||||
completedDate: userTask.dateCompleted,
|
completedDate: userTask.dateCompleted,
|
||||||
};
|
};
|
||||||
toSave.push(Tasks.Task.findByIdAndDelete(userTask._id));
|
} else if (assignedUser) {
|
||||||
} else {
|
|
||||||
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
||||||
assignedDate: new Date(),
|
assignedDate: new Date(),
|
||||||
assignedUsername: assignedUser.auth.local.username,
|
assignedUsername: assignedUser.auth.local.username,
|
||||||
@@ -43,7 +42,11 @@ async function updateTeamTasks (team) {
|
|||||||
completed: false,
|
completed: false,
|
||||||
completedDate: null,
|
completedDate: null,
|
||||||
};
|
};
|
||||||
|
} else {
|
||||||
|
const taskIndex = boardTask.group.assignedUsers.indexOf(assignedUserId);
|
||||||
|
boardTask.group.assignedUsers.splice(taskIndex, 1);
|
||||||
}
|
}
|
||||||
|
if (userTask) toSave.push(Tasks.Task.findByIdAndDelete(userTask._id));
|
||||||
}
|
}
|
||||||
boardTask.markModified('group');
|
boardTask.markModified('group');
|
||||||
toSave.push(boardTask.save());
|
toSave.push(boardTask.save());
|
||||||
|
|||||||
Reference in New Issue
Block a user