Skip to content

Commit 2b6f6b3

Browse files
committed
Merge branch 'develop' of github.com:topcoder-platform/work-manager into develop
# Conflicts: # src/components/ChallengeEditor/index.js
2 parents fcfd5df + 3837be3 commit 2b6f6b3

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

src/components/ChallengeEditor/ChallengeView/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ const ChallengeView = ({
207207
</>
208208
)}
209209
{
210-
phases.map((phase, index) => (
210+
_.sortBy(phases, ['scheduledEndDate']).map((phase, index) => (
211211
<PhaseInput
212212
phase={phase}
213213
phaseIndex={index}

src/components/ChallengeEditor/index.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ class ChallengeEditor extends Component {
103103
// NOTE that we have to keep `assignedMemberDetails` in the local state, rather than just get it from the props
104104
// because we can update it locally when we choose another assigned user, so we don't have to wait for user details
105105
// to be loaded from Member Service as we already know it in such case
106-
assignedMemberDetails: this.props.assignedMemberDetails
106+
assignedMemberDetails: this.props.assignedMemberDetails,
107+
isPhaseChange: false
107108
}
108109
this.onUpdateInput = this.onUpdateInput.bind(this)
109110
this.onUpdateSelect = this.onUpdateSelect.bind(this)
@@ -839,7 +840,11 @@ class ChallengeEditor extends Component {
839840
for (let index = 0; index < phases.length; ++index) {
840841
newChallenge.phases[index].isDurationActive =
841842
moment(newChallenge.phases[index]['scheduledEndDate']).isAfter()
842-
newChallenge.phases[index].isStartTimeActive = true
843+
if (newChallenge.phases[index].name === 'Submission') {
844+
newChallenge.phases[index].isStartTimeActive = true
845+
} else {
846+
newChallenge.phases[index].isStartTimeActive = index <= 0
847+
}
843848
newChallenge.phases[index].isOpen =
844849
newChallenge.phases[index].isDurationActive
845850
}
@@ -861,8 +866,8 @@ class ChallengeEditor extends Component {
861866
.format('MM/DD/YYYY HH:mm')
862867
} else {
863868
newChallenge.phases[index]['duration'] = phase.duration
864-
newChallenge.phases[index]['scheduledStartDate'] = phase.startDate
865-
newChallenge.phases[index]['scheduledEndDate'] = phase.endDate
869+
newChallenge.phases[index]['scheduledStartDate'] = moment(phase.startDate).toISOString()
870+
newChallenge.phases[index]['scheduledEndDate'] = moment(phase.endDate).toISOString()
866871
}
867872

868873
for (let phaseIndex = index + 1; phaseIndex < phases.length; ++phaseIndex) {
@@ -882,7 +887,9 @@ class ChallengeEditor extends Component {
882887
.add(newChallenge.phases[phaseIndex]['duration'], 'hours')
883888
.format('MM/DD/YYYY HH:mm')
884889
}
885-
890+
if (!_.isEqual(newChallenge.phases[index], phases[index])) {
891+
this.setState({ isPhaseChange: true })
892+
}
886893
this.setState({ challenge: newChallenge })
887894

888895
setTimeout(() => {
@@ -891,6 +898,7 @@ class ChallengeEditor extends Component {
891898
}
892899

893900
collectChallengeData (status) {
901+
const { isPhaseChange } = this.state
894902
const { attachments, metadata } = this.props
895903
const challenge = pick([
896904
'phases',
@@ -938,6 +946,7 @@ class ChallengeEditor extends Component {
938946
if (challenge.terms && challenge.terms.length === 0) delete challenge.terms
939947
delete challenge.attachments
940948
delete challenge.reviewType
949+
if (!isPhaseChange) delete challenge.phases
941950
return _.cloneDeep(challenge)
942951
}
943952

src/util/tc.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ export const checkAllowedRoles = roles =>
156156
*/
157157
export const checkReadOnlyRoles = token => {
158158
const roles = _.get(decodeToken(token), 'roles')
159+
if (checkAllowedRoles(roles)) {
160+
return false
161+
}
159162
return roles.some(val => READ_ONLY_ROLES.indexOf(val.toLowerCase()) > -1)
160163
}
161164

0 commit comments

Comments
 (0)