@@ -1589,6 +1589,18 @@ async function updateChallenge(currentUser, challengeId, data) {
1589
1589
logger . debug ( `There was an error trying to update the project: ${ e . message } ` ) ;
1590
1590
}
1591
1591
}
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
+ }
1592
1604
}
1593
1605
1594
1606
/* END self-service stuffs */
@@ -1634,18 +1646,6 @@ async function updateChallenge(currentUser, challengeId, data) {
1634
1646
isChallengeBeingCancelled = true ;
1635
1647
}
1636
1648
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
-
1649
1649
if ( data . status === constants . challengeStatuses . Completed ) {
1650
1650
if (
1651
1651
! _ . get ( challenge , "legacy.pureV5Task" ) &&
@@ -1769,7 +1769,7 @@ async function updateChallenge(currentUser, challengeId, data) {
1769
1769
phasesUpdated = true ;
1770
1770
data . phases = newPhases ;
1771
1771
}
1772
- if ( isChallengeBeingCancelled ) {
1772
+ if ( isChallengeBeingCancelled && challenge . phases && challenge . phases . length > 0 ) {
1773
1773
data . phases = await phaseHelper . handlePhasesAfterCancelling ( challenge . phases ) ;
1774
1774
phasesUpdated = true ;
1775
1775
}
@@ -1874,8 +1874,7 @@ async function updateChallenge(currentUser, challengeId, data) {
1874
1874
}
1875
1875
1876
1876
try {
1877
- const updateInput = sanitizeRepeatedFieldsInUpdateRequest ( data ) ;
1878
-
1877
+ const updateInput = sanitizeRepeatedFieldsInUpdateRequest ( _ . omit ( data , [ 'cancelReason' ] ) ) ;
1879
1878
if ( ! _ . isEmpty ( updateInput ) ) {
1880
1879
const grpcMetadata = new GrpcMetadata ( ) ;
1881
1880
0 commit comments