diff --git a/addons/web/static/src/js/views/calendar/calendar_quick_create.js b/addons/web/static/src/js/views/calendar/calendar_quick_create.js index 59ea21c42874b9765198a4d23dee0ed1d4ace670..f6132c5364e1428d45bc2cf4ac9630eab36bd442 100644 --- a/addons/web/static/src/js/views/calendar/calendar_quick_create.js +++ b/addons/web/static/src/js/views/calendar/calendar_quick_create.js @@ -32,7 +32,7 @@ var QuickCreate = Dialog.extend({ init: function (parent, buttons, options, dataTemplate, dataCalendar) { this._buttons = buttons || false; this.options = options; - + this.parentCalendar = parent; // Can hold data pre-set from where you clicked on agenda this.dataTemplate = dataTemplate || {}; this.dataCalendar = dataCalendar; @@ -67,6 +67,20 @@ var QuickCreate = Dialog.extend({ this.$('input').focus(); }, + destroy: function () { + // On quick create, remaining dialogs may be closed. We avoid to lose the selection for new quickcreate + // by checking that the dialog is not already destroyed. + if (!this.isDestroyed()) { + // remove selection when the dialog is closed + if (this.parentCalendar.renderer.state.scale === 'year') { + this.parentCalendar.renderer.calendar.view.unselect(); + } else { + this.parentCalendar.renderer.calendar.unselect(); + } + } + this._super.apply(this, arguments); + }, + //-------------------------------------------------------------------------- // Private //-------------------------------------------------------------------------- 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 6c0efb6ff965f9b1364da413f9e172533e23eb3a..23bb6885c28f18ea904f44cc287c25361b955657 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -381,11 +381,6 @@ return AbstractRenderer.extend({ data.title = this.state.context.default_name; } this.trigger_up('openCreate', this._convertEventToFC3Event(data)); - if (this.state.scale === 'year') { - this.calendar.view.unselect(); - } else { - this.calendar.unselect(); - } }, /** * Return the Object options for FullCalendar