mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
WIP(teams): fix initially unassigned task, add completedBy data
This commit is contained in:
@@ -1458,11 +1458,13 @@ export default {
|
|||||||
tasks: [this.task],
|
tasks: [this.task],
|
||||||
});
|
});
|
||||||
Object.assign(this.task, response);
|
Object.assign(this.task, response);
|
||||||
|
if (this.assignedMember) {
|
||||||
await this.$store.dispatch('tasks:assignTask', {
|
await this.$store.dispatch('tasks:assignTask', {
|
||||||
taskId: this.task._id,
|
taskId: this.task._id,
|
||||||
userId: this.assignedMember,
|
userId: this.assignedMember,
|
||||||
});
|
});
|
||||||
this.task.group.assignedUsers = [this.assignedMember];
|
this.task.group.assignedUsers = [this.assignedMember];
|
||||||
|
}
|
||||||
this.$emit('taskCreated', this.task);
|
this.$emit('taskCreated', this.task);
|
||||||
} else {
|
} else {
|
||||||
this.createTask(this.task);
|
this.createTask(this.task);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ async function handleSharedCompletion (masterTask, groupMemberTask) {
|
|||||||
if (masterTask.type === 'reward') return;
|
if (masterTask.type === 'reward') return;
|
||||||
if (masterTask.type === 'todo') await _deleteUnfinishedTasks(groupMemberTask);
|
if (masterTask.type === 'todo') await _deleteUnfinishedTasks(groupMemberTask);
|
||||||
masterTask.completed = groupMemberTask.completed;
|
masterTask.completed = groupMemberTask.completed;
|
||||||
|
masterTask.group.completedBy = groupMemberTask.userId;
|
||||||
await masterTask.save();
|
await masterTask.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -375,6 +375,10 @@ async function scoreTask (user, task, direction, req, res) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (task.completed && task.group.id && !task.userId) {
|
||||||
|
task.group.completedBy = user._id;
|
||||||
|
}
|
||||||
|
|
||||||
setNextDue(task, user);
|
setNextDue(task, user);
|
||||||
|
|
||||||
if (localTask) {
|
if (localTask) {
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ export const TaskSchema = new Schema({
|
|||||||
default: SHARED_COMPLETION.single,
|
default: SHARED_COMPLETION.single,
|
||||||
},
|
},
|
||||||
managerNotes: { $type: String },
|
managerNotes: { $type: String },
|
||||||
|
completedBy: { $type: String, ref: 'User', validate: [v => validator.isUUID(v), 'Invalid uuid for group completing user.'] },
|
||||||
},
|
},
|
||||||
|
|
||||||
reminders: [reminderSchema],
|
reminders: [reminderSchema],
|
||||||
|
|||||||
Reference in New Issue
Block a user