@@ -819,31 +819,21 @@ class ChallengeEditor extends Component {
819819 newChallenge . phases [ index ] [ 'scheduledStartDate' ] = phase . startDate
820820 newChallenge . phases [ index ] [ 'scheduledEndDate' ] = phase . endDate
821821
822- let lastDate = phase . endDate
823- for ( let phaseIndex = 0 ; phaseIndex < phases . length ; phaseIndex ++ ) {
824- if ( phaseIndex !== index ) {
825- if ( moment ( phases [ phaseIndex ] [ 'scheduledStartDate' ] ) . isBefore ( lastDate ) ) {
826- lastDate = moment ( lastDate ) . add ( '1' , 'hour' ) . format ( 'MM/DD/YYYY HH:mm' )
827-
828- if ( newChallenge . phases [ phaseIndex ] [ 'name' ] !== 'Submission' ) {
829- newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] = lastDate
830- } else {
831- newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] = newChallenge . phases [ index ] [ 'scheduledStartDate' ]
832- }
833-
834- if ( moment ( phases [ phaseIndex ] [ 'scheduledEndDate' ] ) . isBefore ( lastDate ) ) {
835- lastDate = moment ( lastDate ) . add ( '1' , 'hour' ) . format ( 'MM/DD/YYYY HH:mm' )
836- newChallenge . phases [ phaseIndex ] [ 'scheduledEndDate' ] = lastDate
837- }
838-
839- // if (moment(newChallenge.phases[phaseIndex]['scheduledEndDate']).isAfter(phases[phaseIndex]['scheduledStartDate'])) {
840- // newChallenge.phases[phaseIndex]['scheduledStartDate'] = moment(newChallenge.phases[phaseIndex]['scheduledEndDate']).subtract('1', 'hour').format('MM/DD/YYYY HH:mm')
841- // }
842-
843- newChallenge . phases [ phaseIndex ] [ 'duration' ] =
844- moment ( newChallenge . phases [ phaseIndex ] [ 'scheduledEndDate' ] ) . diff ( newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] , 'hours' )
845- }
822+ for ( let phaseIndex = index + 1 ; phaseIndex < phases . length ; ++ phaseIndex ) {
823+ if ( newChallenge . phases [ phaseIndex ] [ 'name' ] === 'Submission' ) {
824+ newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] =
825+ newChallenge . phases [ phaseIndex - 1 ] [ 'scheduledStartDate' ]
826+ newChallenge . phases [ phaseIndex ] [ 'duration' ] =
827+ _ . max ( newChallenge . phases [ phaseIndex - 1 ] [ 'duration' ] ,
828+ newChallenge . phases [ phaseIndex ] [ 'duration' ] )
829+ } else {
830+ newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] =
831+ newChallenge . phases [ phaseIndex - 1 ] [ 'scheduledEndDate' ]
846832 }
833+ newChallenge . phases [ phaseIndex ] [ 'scheduledEndDate' ] =
834+ moment ( newChallenge . phases [ phaseIndex ] [ 'scheduledStartDate' ] )
835+ . add ( newChallenge . phases [ phaseIndex ] [ 'duration' ] , 'hours' )
836+ . format ( 'MM/DD/YYYY HH:mm' )
847837 }
848838
849839 this . setState ( { challenge : newChallenge } )
0 commit comments