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" hide-footer="hide-footer"
:no-close-on-backdrop="true" :no-close-on-backdrop="true"
:no-close-on-esc="true" :no-close-on-esc="true"
:centered="true"
> >
<div <div
slot="modal-header" slot="modal-header"
@@ -96,8 +97,6 @@
<style lang="scss"> <style lang="scss">
@import '~@/assets/scss/colors.scss'; @import '~@/assets/scss/colors.scss';
#group-plans-update { #group-plans-update {
overflow-y: hidden;
.modal-content { .modal-content {
border-top-left-radius: 10px; border-top-left-radius: 10px;
border-top-right-radius: 10px; border-top-right-radius: 10px;
@@ -107,8 +106,7 @@
.modal-dialog { .modal-dialog {
max-width: 566px; max-width: 566px;
margin-top: 50vh; margin-top: 0px;
transform: translateY(-50%);
} }
.modal-header { .modal-header {

View File

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

View File

@@ -156,6 +156,7 @@ async function getTasks (req, res, options = {}) {
let limit; let limit;
let sort; let sort;
let upgradedGroups = []; let upgradedGroups = [];
const upgradedGroupIds = [];
const owner = group || challenge || user; const owner = group || challenge || user;
if (challenge) { if (challenge) {
@@ -179,15 +180,19 @@ async function getTasks (req, res, options = {}) {
).exec(); ).exec();
} }
if (upgradedGroups.length > 0) { if (upgradedGroups.length > 0) {
const upgradedGroupIds = [];
for (const upgradedGroup of upgradedGroups) { for (const upgradedGroup of upgradedGroups) {
upgradedGroupIds.push(upgradedGroup._id); upgradedGroupIds.push(upgradedGroup._id);
} }
query = { query = {
$or: [ $or: [
{ userId: user._id }, { userId: user._id },
{
'group.id': { $in: upgradedGroupIds },
$or: [
{ 'group.assignedUsers': user._id }, { 'group.assignedUsers': user._id },
{ 'group.id': { $in: upgradedGroupIds }, 'group.assignedUsers.0': { $exists: false } }, { 'group.assignedUsers.0': { $exists: false } },
],
},
], ],
}; };
} else { } else {
@@ -214,8 +219,13 @@ async function getTasks (req, res, options = {}) {
if (upgradedGroups.length > 0) { if (upgradedGroups.length > 0) {
query.$or = [ query.$or = [
{ userId: user._id }, { userId: user._id },
{
'group.id': { $in: upgradedGroupIds },
$or: [
{ 'group.assignedUsers': user._id }, { 'group.assignedUsers': user._id },
{ 'group.completedBy.userId': user._id }, { 'group.completedBy.userId': user._id },
],
},
]; ];
} else if (owner._id === user._id) { } else if (owner._id === user._id) {
query.userId = user._id; query.userId = user._id;