From b9ae916114b39811d9b51ca492fdb310da70db3d Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Sat, 9 Jan 2021 18:42:23 +0530 Subject: [PATCH 1/3] add Iterative Reviewer for First2Finish and Task type challenges --- src/components/ChallengeEditor/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 935b65ad..4ba5274c 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -955,7 +955,7 @@ class ChallengeEditor extends Component { try { const challengeId = this.getCurrentChallengeId() // state can have updated assigned member (in cases where user changes assignments without refreshing the page) - const { challenge: { copilot, reviewer }, assignedMemberDetails: assignedMember } = this.state + const { challenge: { copilot, reviewer, type }, assignedMemberDetails: assignedMember } = this.state const oldMemberHandle = _.get(oldAssignedMember, 'handle') const assignedMemberHandle = _.get(assignedMember, 'handle') // assigned member has been updated @@ -965,8 +965,11 @@ class ChallengeEditor extends Component { const action = await updateChallengeDetails(challengeId, challenge) const { copilot: previousCopilot, reviewer: previousReviewer } = this.state.draftChallenge.data if (copilot !== previousCopilot) await this.updateResource(challengeId, 'Copilot', copilot, previousCopilot) - if (reviewer !== previousReviewer) await this.updateResource(challengeId, 'Reviewer', reviewer, previousReviewer) - + if (type === 'First2Finish' || type === 'Task') { + await this.updateResource(challengeId, 'Iterative Reviewer', reviewer) + } else { + if (reviewer !== previousReviewer) await this.updateResource(challengeId, 'Reviewer', reviewer, previousReviewer) + } const draftChallenge = { data: action.challengeDetails } draftChallenge.data.copilot = copilot draftChallenge.data.reviewer = reviewer From eaf1abd0194433bdd897009c731374c6c41f871d Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Mon, 11 Jan 2021 20:29:08 +0530 Subject: [PATCH 2/3] Fix initial reviewer field and do not re-post resource to server --- src/components/ChallengeEditor/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index 4ba5274c..c0f3f58b 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -155,7 +155,9 @@ class ChallengeEditor extends Component { try { const copilotResource = this.getResourceFromProps('Copilot') const copilotFromResources = copilotResource ? copilotResource.memberHandle : '' - const reviewerResource = this.getResourceFromProps('Reviewer') + const reviewerResource = + (challengeDetails.type === 'First2Finish' || challengeDetails.type === 'Task') + ? this.getResourceFromProps('Iterative Reviewer') : this.getResourceFromProps('Reviewer') const reviewerFromResources = reviewerResource ? reviewerResource.memberHandle : '' setState({ isConfirm: false, isLaunch: false }) const challengeData = this.updateAttachmentlist(challengeDetails, attachments) @@ -966,7 +968,8 @@ class ChallengeEditor extends Component { const { copilot: previousCopilot, reviewer: previousReviewer } = this.state.draftChallenge.data if (copilot !== previousCopilot) await this.updateResource(challengeId, 'Copilot', copilot, previousCopilot) if (type === 'First2Finish' || type === 'Task') { - await this.updateResource(challengeId, 'Iterative Reviewer', reviewer) + const { memberHandle: previousIterativeReviewer } = this.getResourceFromProps('Iterative Reviewer') + if (reviewer !== previousIterativeReviewer) await this.updateResource(challengeId, 'Iterative Reviewer', reviewer, previousIterativeReviewer) } else { if (reviewer !== previousReviewer) await this.updateResource(challengeId, 'Reviewer', reviewer, previousReviewer) } From 84b4ed0dd7e784018a532a3f685a2a97e61ae748 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Tue, 12 Jan 2021 20:10:41 +0530 Subject: [PATCH 3/3] fix undefined bug --- src/components/ChallengeEditor/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/ChallengeEditor/index.js b/src/components/ChallengeEditor/index.js index c0f3f58b..5328d680 100644 --- a/src/components/ChallengeEditor/index.js +++ b/src/components/ChallengeEditor/index.js @@ -968,7 +968,8 @@ class ChallengeEditor extends Component { const { copilot: previousCopilot, reviewer: previousReviewer } = this.state.draftChallenge.data if (copilot !== previousCopilot) await this.updateResource(challengeId, 'Copilot', copilot, previousCopilot) if (type === 'First2Finish' || type === 'Task') { - const { memberHandle: previousIterativeReviewer } = this.getResourceFromProps('Iterative Reviewer') + const iterativeReviewer = this.getResourceFromProps('Iterative Reviewer') + const previousIterativeReviewer = iterativeReviewer && iterativeReviewer.memberHandle if (reviewer !== previousIterativeReviewer) await this.updateResource(challengeId, 'Iterative Reviewer', reviewer, previousIterativeReviewer) } else { if (reviewer !== previousReviewer) await this.updateResource(challengeId, 'Reviewer', reviewer, previousReviewer)