Skip to content

Commit 1310070

Browse files
committed
issue 3210 patch
1 parent e7048a9 commit 1310070

File tree

2 files changed

+39
-28
lines changed

2 files changed

+39
-28
lines changed

src/projects/detail/components/PhaseCard/EditStageForm.jsx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ import Tooltip from 'appirio-tech-react-components/components/Tooltip/Tooltip'
2020
import { TOOLTIP_DEFAULT_DELAY } from '../../../../config/constants'
2121
import { getPhaseActualData } from '../../../../helpers/projectHelper'
2222
import DeletePhase from './DeletePhase'
23+
import {
24+
ROLE_CONNECT_ADMIN,
25+
ROLE_ADMINISTRATOR,
26+
} from '../../../../../config/constants'
2327

2428
const moment = extendMoment(Moment)
2529
const phaseStatuses = PHASE_STATUS.map(ps => ({
@@ -33,7 +37,7 @@ class EditStageForm extends React.Component {
3337

3438
this.state = {
3539
isUpdating: false,
36-
isEdittable: _.get(props, 'phase.status') !== PHASE_STATUS_COMPLETED,
40+
isEdittable: (_.get(props, 'phase.status') !== PHASE_STATUS_COMPLETED) || (_.get(props, 'isAdmin')),
3741
disableActiveStatusFields: _.get(props, 'phase.status') !== PHASE_STATUS_ACTIVE,
3842
showPhaseOverlapWarning: false,
3943
phaseIsdirty: false,
@@ -399,11 +403,18 @@ EditStageForm.propTypes = {
399403
phaseIndex: PT.number
400404
}
401405

402-
const mapStateToProps = ({projectState, productsTimelines}) => ({
403-
isUpdating: projectState.processing,
404-
phases: projectState.phases,
405-
productsTimelines
406-
})
406+
const mapStateToProps = ({projectState, productsTimelines, loadUser}) => {
407+
const adminRoles = [
408+
ROLE_ADMINISTRATOR,
409+
ROLE_CONNECT_ADMIN,
410+
]
411+
return {
412+
isUpdating: projectState.processing,
413+
phases: projectState.phases,
414+
productsTimelines,
415+
isAdmin: _.intersection(loadUser.user.roles, adminRoles).length > 0
416+
}
417+
}
407418

408419
const actionCreators = {
409420
updatePhaseAction,

src/projects/detail/components/timeline/Milestone/Milestone.jsx

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -260,27 +260,7 @@ class Milestone extends React.Component {
260260
isRequired: true
261261
},
262262
validationError: 'Planned text is required',
263-
}, ...( isActualDateEditable && [{
264-
label: 'Actual Start date',
265-
placeholder: 'Actual Start date',
266-
name: 'actualStartDate',
267-
value: moment.utc(milestone.actualStartDate).format('YYYY-MM-DD'),
268-
type: 'date',
269-
validations: {
270-
isRequired: true
271-
},
272-
validationError: 'Actual Start date is required',
273-
}]), ...( isCompletionDateEditable && [{
274-
label: 'Completion date',
275-
placeholder: 'Completion date',
276-
name: 'completionDate',
277-
value: moment.utc(milestone.completionDate).format('YYYY-MM-DD'),
278-
type: 'date',
279-
validations: {
280-
isRequired: true
281-
},
282-
validationError: 'Completion date is required',
283-
}]), {
263+
}, {
284264
label: 'Active text',
285265
placeholder: 'Active text',
286266
name: 'activeText',
@@ -313,7 +293,27 @@ class Milestone extends React.Component {
313293
isRequired: true
314294
},
315295
validationError: 'Completed text is required',
316-
}]}
296+
}, ...( isActualDateEditable && [{
297+
label: 'Actual Start date',
298+
placeholder: 'Actual Start date',
299+
name: 'actualStartDate',
300+
value: moment.utc(milestone.actualStartDate).format('YYYY-MM-DD'),
301+
type: 'date',
302+
validations: {
303+
isRequired: true
304+
},
305+
validationError: 'Actual Start date is required',
306+
}]), ...( isCompletionDateEditable && [{
307+
label: 'Completion date',
308+
placeholder: 'Completion date',
309+
name: 'completionDate',
310+
value: moment.utc(milestone.completionDate).format('YYYY-MM-DD'),
311+
type: 'date',
312+
validations: {
313+
isRequired: true
314+
},
315+
validationError: 'Completion date is required',
316+
}])]}
317317
onCancelClick={this.closeEditForm}
318318
onSubmit={this.updateMilestoneWithData}
319319
onChange={this.milestoneEditorChanged}

0 commit comments

Comments
 (0)