mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
fix(teams): copy in assignee username during migration
This commit is contained in:
@@ -2,6 +2,7 @@ import filter from 'lodash/filter';
|
|||||||
import find from 'lodash/find';
|
import find from 'lodash/find';
|
||||||
import isArray from 'lodash/isArray';
|
import isArray from 'lodash/isArray';
|
||||||
import { model as Group } from '../../website/server/models/group';
|
import { model as Group } from '../../website/server/models/group';
|
||||||
|
import { model as User } from '../../website/server/models/user';
|
||||||
import * as Tasks from '../../website/server/models/task';
|
import * as Tasks from '../../website/server/models/task';
|
||||||
|
|
||||||
async function updateTeamTasks (team) {
|
async function updateTeamTasks (team) {
|
||||||
@@ -20,21 +21,24 @@ async function updateTeamTasks (team) {
|
|||||||
boardTask.group.assigningUsername = undefined;
|
boardTask.group.assigningUsername = undefined;
|
||||||
boardTask.group.sharedCompletion = undefined;
|
boardTask.group.sharedCompletion = undefined;
|
||||||
|
|
||||||
for (const assignedUser of boardTask.group.assignedUsers) {
|
for (const assignedUserId of boardTask.group.assignedUsers) {
|
||||||
const userTask = find(teamUserTasks, task => task.userId === assignedUser
|
const assignedUser = await User.findById(assignedUserId, 'auth'); // eslint-disable-line no-await-in-loop
|
||||||
|
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) {
|
||||||
boardTask.group.assignedUsersDetail[assignedUser] = {
|
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
||||||
assignedDate: userTask.group.assignedDate,
|
assignedDate: userTask.group.assignedDate,
|
||||||
|
assignedUsername: assignedUser.auth.local.username,
|
||||||
assigningUsername: userTask.group.assigningUsername,
|
assigningUsername: userTask.group.assigningUsername,
|
||||||
completed: userTask.completed || false,
|
completed: userTask.completed || false,
|
||||||
completedDate: userTask.dateCompleted,
|
completedDate: userTask.dateCompleted,
|
||||||
};
|
};
|
||||||
toSave.push(Tasks.Task.findByIdAndDelete(userTask._id));
|
toSave.push(Tasks.Task.findByIdAndDelete(userTask._id));
|
||||||
} else {
|
} else {
|
||||||
boardTask.group.assignedUsersDetail[assignedUser] = {
|
boardTask.group.assignedUsersDetail[assignedUserId] = {
|
||||||
assignedDate: new Date(),
|
assignedDate: new Date(),
|
||||||
|
assignedUsername: assignedUser.auth.local.username,
|
||||||
assigningUsername: null,
|
assigningUsername: null,
|
||||||
completed: false,
|
completed: false,
|
||||||
completedDate: null,
|
completedDate: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user