diff --git a/.circleci/config.yml b/.circleci/config.yml index 02fc2b25..39899074 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -160,7 +160,7 @@ workflows: context: org-global filters: &filters-dev branches: - only: ["develop"] + only: ["develop", "pm-2917"] # Production builds are exectuted only on tagged commits to the # master branch. diff --git a/src/components/ChallengeEditor/ChallengeReviewer-Field/index.js b/src/components/ChallengeEditor/ChallengeReviewer-Field/index.js index b582fc57..218e6bf0 100644 --- a/src/components/ChallengeEditor/ChallengeReviewer-Field/index.js +++ b/src/components/ChallengeEditor/ChallengeReviewer-Field/index.js @@ -780,8 +780,9 @@ class ChallengeReviewerField extends Component { .filter(id => id !== undefined && id !== null) ) - // Exclude phases already assigned to other reviewers, except the currently selected phase - if (assignedPhaseIds.has(phase.phaseId || phase.id) && !isCurrentlySelected) { + // If current reviewer is a member review, allow selecting phases even if already assigned to others. + // Only exclude assigned phases for ai reviewers. + if (!!reviewer.isMemberReview && assignedPhaseIds.has(phase.phaseId || phase.id) && !isCurrentlySelected) { return false } diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 2c6be99b..da51eb04 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -1314,9 +1314,21 @@ class ChallengeEditor extends Component { const { updateChallengeDetails, assignedMemberDetails: oldAssignedMember, projectDetail, challengeDetails } = this.props if (this.state.isSaving) return this.setState({ isSaving: true }, async () => { - const challenge = this.collectChallengeData(status) + let challenge = this.collectChallengeData(status) let newChallenge = _.cloneDeep(this.state.challenge) newChallenge.status = status + + if (challenge.reviewers && Array.isArray(challenge.reviewers)) { + challenge.reviewers = challenge.reviewers.map(reviewer => { + if (reviewer.isMemberReview === false) { + const copy = { ...reviewer } + delete copy.type + return copy + } + return reviewer + }) + } + try { const challengeId = this.getCurrentChallengeId() // state can have updated assigned member (in cases where user changes assignments without refreshing the page)