fix(tasks): address regressions from group plan rollout

This commit is contained in:
SabreCat
2022-08-24 11:05:19 -05:00
parent a2f191089c
commit 1aae9638ec
3 changed files with 18 additions and 12 deletions

View File

@@ -6,6 +6,7 @@
hide-footer="hide-footer"
:no-close-on-backdrop="true"
:no-close-on-esc="true"
:centered="true"
>
<div
slot="modal-header"
@@ -96,8 +97,6 @@
<style lang="scss">
@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 {

View File

@@ -79,7 +79,6 @@
<lockable-label
class="mr-auto"
:class-override="cssClass('headings')"
:locked="challengeAccessRequired"
:text="`${$t('notes')}`"
/>
<small
@@ -96,7 +95,6 @@
v-model="task.notes"
class="form-control input-notes"
:class="cssClass('input')"
:disabled="challengeAccessRequired"
:placeholder="$t('addNotes')"
></textarea>
</div>
@@ -363,7 +361,7 @@
</div>
</div>
<div
v-if="!challengeAccessRequired && !groupId"
v-if="!groupId"
class="tags-select option mt-3"
>
<div class="tags-inline form-group row">

View File

@@ -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;