From 2ee0e9d5927295db3790d39988904ae4aa3f8579 Mon Sep 17 00:00:00 2001 From: RishiRaj Date: Thu, 16 Aug 2018 17:46:27 +0530 Subject: [PATCH] Corrected logic in calculating progress of the milestones. --- .../MilestoneTypeAddLinks/MilestoneTypeAddLinks.jsx | 7 ++++--- .../MilestoneTypeCheckpointReview.jsx | 9 +++++---- .../MilestoneTypeFinalDesigns.jsx | 9 +++++---- .../MilestoneTypeProgress/MilestoneTypeProgress.jsx | 7 ++++--- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/projects/detail/components/timeline/milestones/MilestoneTypeAddLinks/MilestoneTypeAddLinks.jsx b/src/projects/detail/components/timeline/milestones/MilestoneTypeAddLinks/MilestoneTypeAddLinks.jsx index d5a0bca7a..0e61a9ecc 100644 --- a/src/projects/detail/components/timeline/milestones/MilestoneTypeAddLinks/MilestoneTypeAddLinks.jsx +++ b/src/projects/detail/components/timeline/milestones/MilestoneTypeAddLinks/MilestoneTypeAddLinks.jsx @@ -170,10 +170,11 @@ class MilestoneTypeAddLinks extends React.Component { const isActive = milestone.status === MILESTONE_STATUS.ACTIVE const isCompleted = milestone.status === MILESTONE_STATUS.COMPLETED + const today = moment().hours(0).minutes(0).seconds(0).milliseconds(0) - const endDate = moment(milestone.endDate) - const startDate = moment(milestone.startDate) - const daysLeft = endDate.diff(moment(), 'days') + const startDate = moment(milestone.actualStartDate || milestone.startDate) + const endDate = moment(milestone.startDate).add(milestone.duration - 1, 'days') + const daysLeft = endDate.diff(today, 'days') const totalDays = endDate.diff(startDate, 'days') const progressText = daysLeft >= 0 diff --git a/src/projects/detail/components/timeline/milestones/MilestoneTypeCheckpointReview/MilestoneTypeCheckpointReview.jsx b/src/projects/detail/components/timeline/milestones/MilestoneTypeCheckpointReview/MilestoneTypeCheckpointReview.jsx index bece4b35a..fec777c9a 100644 --- a/src/projects/detail/components/timeline/milestones/MilestoneTypeCheckpointReview/MilestoneTypeCheckpointReview.jsx +++ b/src/projects/detail/components/timeline/milestones/MilestoneTypeCheckpointReview/MilestoneTypeCheckpointReview.jsx @@ -246,12 +246,13 @@ class MilestoneTypeCheckpointReview extends React.Component { const isActive = milestone.status === MILESTONE_STATUS.ACTIVE const isCompleted = milestone.status === MILESTONE_STATUS.COMPLETED const minCheckedDesigns = this.getMinSelectedDesigns() + const today = moment().hours(0).minutes(0).seconds(0).milliseconds(0) - const endDate = moment(milestone.endDate) - const startDate = moment(milestone.startDate) - const daysLeft = endDate.diff(moment(), 'days') - const hoursLeft = endDate.diff(moment(), 'hours') + const startDate = moment(milestone.actualStartDate || milestone.startDate) + const endDate = moment(milestone.startDate).add(milestone.duration - 1, 'days') + const daysLeft = endDate.diff(today, 'days') const totalDays = endDate.diff(startDate, 'days') + const hoursLeft = endDate.diff(moment(), 'hours') const progressText = daysLeft >= 0 ? `${daysLeft} days until designs are completed` diff --git a/src/projects/detail/components/timeline/milestones/MilestoneTypeFinalDesigns/MilestoneTypeFinalDesigns.jsx b/src/projects/detail/components/timeline/milestones/MilestoneTypeFinalDesigns/MilestoneTypeFinalDesigns.jsx index 77227adc7..d6ea93a61 100644 --- a/src/projects/detail/components/timeline/milestones/MilestoneTypeFinalDesigns/MilestoneTypeFinalDesigns.jsx +++ b/src/projects/detail/components/timeline/milestones/MilestoneTypeFinalDesigns/MilestoneTypeFinalDesigns.jsx @@ -278,12 +278,13 @@ class MilestoneTypeFinalDesigns extends React.Component { const isActive = milestone.status === MILESTONE_STATUS.ACTIVE const isCompleted = milestone.status === MILESTONE_STATUS.COMPLETED const minCheckedDesigns = this.getMinSelectedDesigns() + const today = moment().hours(0).minutes(0).seconds(0).milliseconds(0) - const endDate = moment(milestone.endDate) - const startDate = moment(milestone.startDate) - const daysLeft = endDate.diff(moment(), 'days') - const hoursLeft = endDate.diff(moment(), 'hours') + const startDate = moment(milestone.actualStartDate || milestone.startDate) + const endDate = moment(milestone.startDate).add(milestone.duration - 1, 'days') + const daysLeft = endDate.diff(today, 'days') const totalDays = endDate.diff(startDate, 'days') + const hoursLeft = endDate.diff(moment(), 'hours') const progressText = daysLeft >= 0 ? `${daysLeft} days until designs are completed` diff --git a/src/projects/detail/components/timeline/milestones/MilestoneTypeProgress/MilestoneTypeProgress.jsx b/src/projects/detail/components/timeline/milestones/MilestoneTypeProgress/MilestoneTypeProgress.jsx index 72783670b..80c4de64a 100644 --- a/src/projects/detail/components/timeline/milestones/MilestoneTypeProgress/MilestoneTypeProgress.jsx +++ b/src/projects/detail/components/timeline/milestones/MilestoneTypeProgress/MilestoneTypeProgress.jsx @@ -74,10 +74,11 @@ class MilestoneTypeProgress extends React.Component { const links = _.get(milestone, 'details.content.links', []) const isActive = milestone.status === MILESTONE_STATUS.ACTIVE const isCompleted = milestone.status === MILESTONE_STATUS.COMPLETED + const today = moment().hours(0).minutes(0).seconds(0).milliseconds(0) - const endDate = moment(milestone.endDate) - const startDate = moment(milestone.startDate) - const daysLeft = endDate.diff(moment(), 'days') + const startDate = moment(milestone.actualStartDate || milestone.startDate) + const endDate = moment(milestone.startDate).add(milestone.duration - 1, 'days') + const daysLeft = endDate.diff(today, 'days') const totalDays = endDate.diff(startDate, 'days') const progressText = daysLeft > 0