Skip to content

Commit 14310b6

Browse files
authored
Merge pull request #1465 from topcoder-platform/PLAT-2111
feat: set scheduled start date for submission phase
2 parents 667b930 + b9977dd commit 14310b6

File tree

5 files changed

+40
-54
lines changed

5 files changed

+40
-54
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ workflows:
152152
context : org-global
153153
filters: &filters-dev
154154
branches:
155-
only: ['develop']
155+
only: ['develop', 'PLAT-2111']
156156

157157
# Production builds are exectuted only on tagged commits to the
158158
# master branch.

package-lock.json

+19-49
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -175,5 +175,8 @@
175175
},
176176
"devDependencies": {
177177
"standard": "^12.0.1"
178+
},
179+
"volta": {
180+
"node": "10.15.3"
178181
}
179182
}

src/components/ChallengeEditor/index.js

+15-3
Original file line numberDiff line numberDiff line change
@@ -853,13 +853,16 @@ class ChallengeEditor extends Component {
853853
}
854854

855855
onUpdatePhaseDate (phase, index) {
856+
console.log('onUpdatePhase', phase, index)
856857
const { phases } = this.state.challenge
857858
let newChallenge = _.cloneDeep(this.state.challenge)
859+
858860
if (phase.isBlur && newChallenge.phases[index]['name'] === 'Submission') {
859861
newChallenge.phases[index]['duration'] = _.max([
860862
newChallenge.phases[index - 1]['duration'],
861863
phase.duration
862864
])
865+
newChallenge.phases[index]['scheduledStartDate'] = moment(phase.startDate).toISOString()
863866
newChallenge.phases[index]['scheduledEndDate'] =
864867
moment(newChallenge.phases[index]['scheduledStartDate'])
865868
.add(newChallenge.phases[index]['duration'], 'hours')
@@ -872,8 +875,9 @@ class ChallengeEditor extends Component {
872875

873876
for (let phaseIndex = index + 1; phaseIndex < phases.length; ++phaseIndex) {
874877
if (newChallenge.phases[phaseIndex]['name'] === 'Submission') {
875-
newChallenge.phases[phaseIndex]['scheduledStartDate'] =
876-
newChallenge.phases[phaseIndex - 1]['scheduledStartDate']
878+
console.log('Setting submission phase scheduled start date', moment(phase.startDate).toISOString())
879+
newChallenge.phases[index]['scheduledStartDate'] = moment(phase.startDate).toISOString()
880+
877881
newChallenge.phases[phaseIndex]['duration'] = _.max([
878882
newChallenge.phases[phaseIndex - 1]['duration'],
879883
newChallenge.phases[phaseIndex]['duration']
@@ -890,6 +894,8 @@ class ChallengeEditor extends Component {
890894
if (!_.isEqual(newChallenge.phases[index], phases[index])) {
891895
this.setState({ isPhaseChange: true })
892896
}
897+
console.log('Setting new state', newChallenge)
898+
console.log('isPhaseChange', this.state.isPhaseChange)
893899
this.setState({ challenge: newChallenge })
894900

895901
setTimeout(() => {
@@ -937,17 +943,23 @@ class ChallengeEditor extends Component {
937943
if (this.state.challenge.id) {
938944
challenge.attachmentIds = _.map(attachments, item => item.id)
939945
}
946+
console.log('Phase Data', challenge.phases)
940947
challenge.phases = challenge.phases.map((p) => pick([
941948
'duration',
942949
'phaseId',
943950
'scheduledStartDate',
944951
'scheduledEndDate'
945952
], p))
953+
946954
if (challenge.terms && challenge.terms.length === 0) delete challenge.terms
947955
delete challenge.attachments
948956
delete challenge.reviewType
949957
if (!isPhaseChange) delete challenge.phases
950-
return _.cloneDeep(challenge)
958+
959+
const cloned = _.cloneDeep(challenge)
960+
console.log('CLONED', cloned)
961+
962+
return cloned
951963
}
952964

953965
goToEdit (challengeID) {

src/util/date.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ export const updateChallengePhaseBeforeSendRequest = (challengeDetail) => {
116116
// challengeDetailTmp.submissionEndDate = moment(challengeDetail.phases[1].scheduledEndDate)
117117
challengeDetailTmp.phases = challengeDetailTmp.phases.map((p) => ({
118118
duration: p.duration * hourToSecond,
119-
phaseId: p.phaseId
119+
phaseId: p.phaseId,
120+
scheduledStartDate: p.scheduledStartDate
120121
}))
121122
return challengeDetailTmp
122123
}

0 commit comments

Comments
 (0)