diff options
| author | Martin Trigaux <mat@odoo.com> | 2020-10-02 08:34:01 +0000 |
|---|---|---|
| committer | Martin Trigaux <mat@odoo.com> | 2020-10-19 08:54:24 +0000 |
| commit | 5eed28cf927bc504b103cc872712ab0e49830a38 (patch) | |
| tree | 9887d05255d29729b161e36f51d6e24172d40e56 /addons/web/static/src/js/views | |
| parent | d577d2b53fcfdfa478d0b054768df1bcb1bf3715 (diff) | |
[FIX] web: correct count of day
Introduced at 2f67881d4517b78
Taken an event with
start_date: 2020-10-01
stop_date: 2020-10-02
allday: True
The date was displayed as "01/10 - 03/10 (2 days)" instead of "01/10 -
02/10 (2 days)"
closes odoo/odoo#60062
X-original-commit: 68774135ad827ff4d9fc678ce8e839a717459623
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/views')
| -rw-r--r-- | addons/web/static/src/js/views/calendar/calendar_renderer.js | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/addons/web/static/src/js/views/calendar/calendar_renderer.js b/addons/web/static/src/js/views/calendar/calendar_renderer.js index 132a0493c67..806e9d4e03f 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -750,10 +750,15 @@ return AbstractRenderer.extend({ * @param {moment} start * @param {moment} end * @param {boolean} showDayName + * @param {boolean} allDay */ - _getFormattedDate: function (start, end, showDayName) { + _getFormattedDate: function (start, end, showDayName, allDay) { const isSameDayEvent = start.clone().add(1, 'minute') .isSame(end.clone().subtract(1, 'minute'), 'day'); + if (allDay) { + // cancel correction done in _recordToCalendarEvent + end = end.clone().subtract(1, 'day'); + } if (!isSameDayEvent && start.isSame(end, 'month')) { // Simplify date-range if an event occurs into the same month (eg. '4-5 August 2019') return start.clone().format('MMMM D') + '-' + end.clone().format('D, YYYY'); @@ -806,7 +811,6 @@ return AbstractRenderer.extend({ } if (!this.hideDate) { - context.eventDate.date = this._getFormattedDate(start, end, true); if (eventData.extendedProps.record.allday && isSameDayEvent) { context.eventDate.duration = _t("All day"); @@ -815,6 +819,8 @@ return AbstractRenderer.extend({ var days = moment.duration(end.diff(start)).days(); context.eventDate.duration = daysLocaleData.relativeTime(days, true, 'dd'); } + + context.eventDate.date = this._getFormattedDate(start, end, true, eventData.extendedProps.record.allday); } return context; @@ -874,7 +880,7 @@ return AbstractRenderer.extend({ for (const event of events) { const start = moment(event.extendedProps.r_start); const end = moment(event.extendedProps.r_end); - const key = this._getFormattedDate(start, end, false); + const key = this._getFormattedDate(start, end, false, event.extendedProps.record.allday); if (!(key in groupedEvents)) { groupedEvents[key] = []; groupKeys.push({ |
