From 1aae9638ecf285ee1d9989c745ded4c6c24e2be4 Mon Sep 17 00:00:00 2001 From: SabreCat Date: Wed, 24 Aug 2022 11:05:19 -0500 Subject: [PATCH] fix(tasks): address regressions from group plan rollout --- .../group-plans/groupPlansUpdateModal.vue | 6 ++---- .../client/src/components/tasks/taskModal.vue | 4 +--- website/server/libs/tasks/index.js | 20 ++++++++++++++----- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/website/client/src/components/group-plans/groupPlansUpdateModal.vue b/website/client/src/components/group-plans/groupPlansUpdateModal.vue index e79c2dd39f..30205a0576 100644 --- a/website/client/src/components/group-plans/groupPlansUpdateModal.vue +++ b/website/client/src/components/group-plans/groupPlansUpdateModal.vue @@ -6,6 +6,7 @@ hide-footer="hide-footer" :no-close-on-backdrop="true" :no-close-on-esc="true" + :centered="true" >
@import '~@/assets/scss/colors.scss'; #group-plans-update { - overflow-y: hidden; - .modal-content { border-top-left-radius: 10px; border-top-right-radius: 10px; @@ -107,8 +106,7 @@ .modal-dialog { max-width: 566px; - margin-top: 50vh; - transform: translateY(-50%); + margin-top: 0px; } .modal-header { diff --git a/website/client/src/components/tasks/taskModal.vue b/website/client/src/components/tasks/taskModal.vue index 6a2d7b0372..0dae29e9a5 100644 --- a/website/client/src/components/tasks/taskModal.vue +++ b/website/client/src/components/tasks/taskModal.vue @@ -79,7 +79,6 @@
@@ -363,7 +361,7 @@
diff --git a/website/server/libs/tasks/index.js b/website/server/libs/tasks/index.js index 9dd0ef77d9..d32280fd3c 100644 --- a/website/server/libs/tasks/index.js +++ b/website/server/libs/tasks/index.js @@ -156,6 +156,7 @@ async function getTasks (req, res, options = {}) { let limit; let sort; let upgradedGroups = []; + const upgradedGroupIds = []; const owner = group || challenge || user; if (challenge) { @@ -179,15 +180,19 @@ async function getTasks (req, res, options = {}) { ).exec(); } if (upgradedGroups.length > 0) { - const upgradedGroupIds = []; for (const upgradedGroup of upgradedGroups) { upgradedGroupIds.push(upgradedGroup._id); } query = { $or: [ { userId: user._id }, - { 'group.assignedUsers': user._id }, - { 'group.id': { $in: upgradedGroupIds }, 'group.assignedUsers.0': { $exists: false } }, + { + 'group.id': { $in: upgradedGroupIds }, + $or: [ + { 'group.assignedUsers': user._id }, + { 'group.assignedUsers.0': { $exists: false } }, + ], + }, ], }; } else { @@ -214,8 +219,13 @@ async function getTasks (req, res, options = {}) { if (upgradedGroups.length > 0) { query.$or = [ { userId: user._id }, - { 'group.assignedUsers': user._id }, - { 'group.completedBy.userId': user._id }, + { + 'group.id': { $in: upgradedGroupIds }, + $or: [ + { 'group.assignedUsers': user._id }, + { 'group.completedBy.userId': user._id }, + ], + }, ]; } else if (owner._id === user._id) { query.userId = user._id;