Skip to content

Commit 0552fab

Browse files
Merge pull request #605 from topcoder-platform/fix/PLAT-2567
Fix/plat 2567
2 parents 8e46d7b + eb7fad5 commit 0552fab

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

src/services/ChallengeService.js

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1589,6 +1589,18 @@ async function updateChallenge(currentUser, challengeId, data) {
15891589
logger.debug(`There was an error trying to update the project: ${e.message}`);
15901590
}
15911591
}
1592+
1593+
if (
1594+
data.status === constants.challengeStatuses.CancelledRequirementsInfeasible ||
1595+
data.status === constants.challengeStatuses.CancelledPaymentFailed
1596+
) {
1597+
try {
1598+
await helper.cancelProject(challenge.projectId, data.cancelReason, currentUser);
1599+
} catch (e) {
1600+
logger.debug(`There was an error trying to cancel the project: ${e.message}`);
1601+
}
1602+
sendRejectedEmail = true;
1603+
}
15921604
}
15931605

15941606
/* END self-service stuffs */
@@ -1634,18 +1646,6 @@ async function updateChallenge(currentUser, challengeId, data) {
16341646
isChallengeBeingCancelled = true;
16351647
}
16361648

1637-
if (
1638-
data.status === constants.challengeStatuses.CancelledRequirementsInfeasible ||
1639-
data.status === constants.challengeStatuses.CancelledPaymentFailed
1640-
) {
1641-
try {
1642-
await helper.cancelProject(challenge.projectId, cancelReason, currentUser);
1643-
} catch (e) {
1644-
logger.debug(`There was an error trying to cancel the project: ${e.message}`);
1645-
}
1646-
sendRejectedEmail = true;
1647-
}
1648-
16491649
if (data.status === constants.challengeStatuses.Completed) {
16501650
if (
16511651
!_.get(challenge, "legacy.pureV5Task") &&
@@ -1769,7 +1769,7 @@ async function updateChallenge(currentUser, challengeId, data) {
17691769
phasesUpdated = true;
17701770
data.phases = newPhases;
17711771
}
1772-
if (isChallengeBeingCancelled) {
1772+
if (isChallengeBeingCancelled && challenge.phases && challenge.phases.length > 0) {
17731773
data.phases = await phaseHelper.handlePhasesAfterCancelling(challenge.phases);
17741774
phasesUpdated = true;
17751775
}
@@ -1874,8 +1874,7 @@ async function updateChallenge(currentUser, challengeId, data) {
18741874
}
18751875

18761876
try {
1877-
const updateInput = sanitizeRepeatedFieldsInUpdateRequest(data);
1878-
1877+
const updateInput = sanitizeRepeatedFieldsInUpdateRequest(_.omit(data, ['cancelReason']));
18791878
if (!_.isEmpty(updateInput)) {
18801879
const grpcMetadata = new GrpcMetadata();
18811880

0 commit comments

Comments
 (0)