From 653cccfd60f1ecafaf69ca6c266a3a0b0b541303 Mon Sep 17 00:00:00 2001 From: RomainLibert Date: Mon, 9 Sep 2019 10:20:58 +0000 Subject: [PATCH] [FIX] web: Display event name on calendar popup instead of undefined Purpose ======= When you edit a Time Off Request from the dashboard. The title in the header is undefined https://drive.google.com/open?id=1vBg9AlVCN7rc5D6DUel8hx2uY-oOfwRs --- .../web/static/src/js/views/calendar/calendar_popover.js | 5 ++++- .../web/static/src/js/views/calendar/calendar_renderer.js | 7 +++++-- addons/web/static/tests/views/calendar_tests.js | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/views/calendar/calendar_popover.js b/addons/web/static/src/js/views/calendar/calendar_popover.js index 8c34ed87ba5..e6e5518d752 100644 --- a/addons/web/static/src/js/views/calendar/calendar_popover.js +++ b/addons/web/static/src/js/views/calendar/calendar_popover.js @@ -123,7 +123,10 @@ var CalendarPopover = Widget.extend(StandaloneFieldManagerMixin, { */ _onClickPopoverEdit: function (ev) { ev.preventDefault(); - this.trigger_up('edit_event', {id: this.event.id}); + this.trigger_up('edit_event', { + id: this.event.id, + title: this.event.record.display_name, + }); }, /** * @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 a8e12094e97..757835e694d 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -699,7 +699,7 @@ return AbstractRenderer.extend({ } else { context.eventDate.date = isSameDayEvent ? start.clone().format('dddd, LL') : start.clone().format('LL') + ' - ' + end.clone().format('LL'); } - + if (eventData.record.allday && isSameDayEvent) { context.eventDate.duration = _t("All day"); } else if (eventData.record.allday && !isSameDayEvent) { @@ -772,7 +772,10 @@ return AbstractRenderer.extend({ */ _onEditEvent: function (event) { this._unselectEvent(); - this.trigger_up('openEvent', {_id: event.data.id}); + this.trigger_up('openEvent', { + _id: event.data.id, + title: event.data.title, + }); }, /** * @private diff --git a/addons/web/static/tests/views/calendar_tests.js b/addons/web/static/tests/views/calendar_tests.js index 1be4764f7e8..c91b68285e4 100644 --- a/addons/web/static/tests/views/calendar_tests.js +++ b/addons/web/static/tests/views/calendar_tests.js @@ -1902,7 +1902,7 @@ QUnit.module('Views', { }); QUnit.test('Update event with filters', async function (assert) { - assert.expect(5); + assert.expect(6); var records = this.data.user.records; records.push({ @@ -1958,6 +1958,7 @@ QUnit.module('Views', { await testUtils.dom.click(calendar.$('.fc-event:contains(event 2) .fc-content')); assert.ok(calendar.$('.o_cw_popover').length, "should open a popover clicking on event"); await testUtils.dom.click(calendar.$('.o_cw_popover .o_cw_popover_edit')); + assert.strictEqual($('.modal .modal-title').text(), 'Open: event 2', "dialog should have a valid title"); await testUtils.dom.click($('.modal .o_field_widget[name="user_id"] input')); await testUtils.dom.click($('.ui-menu-item a:contains(user 5)').trigger('mouseenter')); await testUtils.dom.click($('.modal button.btn:contains(Save)'));