diff --git a/src/helpers/projectHelper.js b/src/helpers/projectHelper.js index d628a2ef8..a0dedad17 100644 --- a/src/helpers/projectHelper.js +++ b/src/helpers/projectHelper.js @@ -111,7 +111,7 @@ export function formatProjectProgressProps(project, phases, productsTimelines) { // calculate progress of phase const timeline = productsTimelines[phase.products[0].id].timeline - if (timeline && timeline.milestones.length > 0) { + if (timeline && timeline.milestones && timeline.milestones.length > 0) { const timelineNow = moment().utc() let tlPlannedDuration = 0 let tlCurrentDuration = 0 @@ -239,7 +239,7 @@ export function getPhaseActualData(phase, timeline) { let progress // if phase's product doesn't have timeline get data from phase - if (!timeline || timeline.milestones.length < 1) { + if (!timeline || !timeline.milestones || timeline.milestones.length < 1) { startDate = phase.startDate && moment.utc(phase.startDate) endDate = phase.endDate && moment.utc(phase.endDate) duration = phase.duration ? phase.duration : 0 diff --git a/src/projects/actions/project.js b/src/projects/actions/project.js index 73eaedb64..19ded5c9c 100644 --- a/src/projects/actions/project.js +++ b/src/projects/actions/project.js @@ -376,6 +376,9 @@ export function updatePhase(projectId, phaseId, updatedProps, phaseIndex) { const timeline = state.productsTimelines[productId] && state.productsTimelines[productId].timeline const startDateChanged =updatedProps.startDate && updatedProps.startDate.diff(timeline.startDate) const phaseActivated = phaseStatusChanged && updatedProps.status === PHASE_STATUS_ACTIVE + if (phaseActivated) { + updatedProps.startDate = moment().hours(0).minutes(0).seconds(0).milliseconds(0) + } return dispatch({ type: UPDATE_PHASE,