mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-16 06:07:21 +01:00
Group Tasks Shared Completion (#10515)
* WIP(groups): add shared completion prop Also fix an issue where the Needs Approval toggle would not read/save correctly. * fix(groups): save group options on task create Also, correct count of assigned members when viewing user is among assignments * fix(groups): display correct messages in two places * fix(tasks): eliminate console error related to filtering Also localize a group plans string * WIP(groups): implement single completion for approval workflow * WIP(groups): Add shared completion handling to no-approval-needed flow * WIP(groups): cover approval flow case for all-assigned Also save new field on initial task creation * fix(tasks): use default sharedCompletion value when creating tasks * WIP(tests): non-working draft test * Added completed todo to group query * WIP(group-tasks): fix bugs, add tests * refactor(group-tasks): deleteMany op, add more tests * refactor(group-tasks): move shared completion handling to lib * WIP(group-tasks): broken refactor * WIP(group-tasks): await all the things * Turned complete master task to save * WIP(group-tasks): show completed * fix(filtering): don't try to filter if no list is passed * refactor(group-tasks): load completed to-dos on demand, not at start * fix(group-tasks): don't double up on repeat visits * fix(group-tasks): include brief explanation in dropdown * fix(group-tasks): improve wording some more
This commit is contained in:
@@ -3,6 +3,9 @@ import * as Tasks from '../models/task';
|
||||
import {
|
||||
BadRequest,
|
||||
} from './errors';
|
||||
import {
|
||||
SHARED_COMPLETION,
|
||||
} from './groupTasks';
|
||||
import _ from 'lodash';
|
||||
import shared from '../../common';
|
||||
|
||||
@@ -96,6 +99,7 @@ export async function createTasks (req, res, options = {}) {
|
||||
if (taskData.requiresApproval) {
|
||||
newTask.group.approval.required = true;
|
||||
}
|
||||
newTask.group.sharedCompletion = taskData.sharedCompletion || SHARED_COMPLETION.default;
|
||||
} else {
|
||||
newTask.userId = user._id;
|
||||
}
|
||||
@@ -183,11 +187,12 @@ export async function getTasks (req, res, options = {}) {
|
||||
limit = 0; // no limit
|
||||
}
|
||||
|
||||
query = {
|
||||
userId: user._id,
|
||||
type: 'todo',
|
||||
completed: true,
|
||||
};
|
||||
query.type = 'todo';
|
||||
query.completed = true;
|
||||
|
||||
if (owner._id === user._id) {
|
||||
query.userId = user._id;
|
||||
}
|
||||
|
||||
sort = {
|
||||
dateCompleted: -1,
|
||||
|
||||
Reference in New Issue
Block a user