From ffa4646af7bb1f8263b0d7ee012e435a5855f2b0 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 31 Oct 2017 09:55:50 -0400 Subject: [PATCH] [FIX] web: calendar don't return to month mode in US When click on the mini calendar, the calendar does not return to month mode. --- .../static/src/js/views/calendar/calendar_controller.js | 2 +- addons/web/static/src/js/views/calendar/calendar_model.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/js/views/calendar/calendar_controller.js b/addons/web/static/src/js/views/calendar/calendar_controller.js index d46cb1c5241..94bd168ef0d 100644 --- a/addons/web/static/src/js/views/calendar/calendar_controller.js +++ b/addons/web/static/src/js/views/calendar/calendar_controller.js @@ -113,7 +113,7 @@ var CalendarController = AbstractController.extend({ */ _onChangeDate: function (event) { var modelData = this.model.get(); - if (modelData.target_date.isSame(event.data.date)) { + if (modelData.target_date.format('YYYY-MM-DD') === event.data.date.format('YYYY-MM-DD')) { // When clicking on same date, toggle between the two views switch (modelData.scale) { case 'month': this.model.setScale('week'); break; diff --git a/addons/web/static/src/js/views/calendar/calendar_model.js b/addons/web/static/src/js/views/calendar/calendar_model.js index 9900c4b9f29..a0f6515b98c 100644 --- a/addons/web/static/src/js/views/calendar/calendar_model.js +++ b/addons/web/static/src/js/views/calendar/calendar_model.js @@ -255,6 +255,8 @@ return AbstractModel.extend({ */ setDate: function (start, highlight) { this.data.start_date = this.data.end_date = this.data.target_date = this.data.highlight_date = start; + this.data.start_date.utc().add(this.getSession().getTZOffset(this.data.start_date), 'minutes'); + switch (this.data.scale) { case 'month': this.data.start_date = this.data.start_date.clone().startOf('month').startOf('week'); @@ -391,6 +393,12 @@ return AbstractModel.extend({ firstDay: moment().startOf('week').isoWeekday(), }; }, + /** + * Return a domain from the date range + * + * @private + * @returns {Array} + */ _getRangeDomain: function () { // Build OpenERP Domain to filter object by this.mapping.date_start field // between given start, end dates.