diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controlls5.png b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controlls5.png
new file mode 100644
index 00000000000..24957208fdc
Binary files /dev/null and b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/controlls5.png differ
diff --git a/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/lightbox.png b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/lightbox.png
new file mode 100644
index 00000000000..500ece60c3d
Binary files /dev/null and b/addons/web_calendar/static/lib/dhtmlxScheduler/codebase/imgs/lightbox.png differ
diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js
index 2de64b4c276..887bdc47780 100644
--- a/addons/web_calendar/static/src/js/calendar.js
+++ b/addons/web_calendar/static/src/js/calendar.js
@@ -124,7 +124,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
scheduler.attachEvent('onEventDeleted', this.do_delete_event);
scheduler.attachEvent('onEventChanged', this.do_save_event);
scheduler.attachEvent('onClick', this.do_edit_event);
- scheduler.attachEvent('onBeforeLightbox', this.do_edit_event);
+ scheduler.attachEvent('onLightbox', this.do_edit_event);
scheduler.attachEvent('onViewChange', function(mode, date) {
self.$element.removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode);
@@ -313,7 +313,6 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
if (index !== null) {
this.dataset.index = index;
this.do_switch_view('page');
- return false;
} else if (scheduler.getState().mode === 'month') {
var event_obj = scheduler.getEvent(event_id);
if (event_obj._length === 1) {
@@ -322,11 +321,14 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
event_obj['end_date'].addHours(1);
}
this.do_create_event_with_formdialog(event_id, event_obj);
- // TODO: check dhtmlxscheduler problem here. At this line, scheduler
- // event 'onEventChanged' bound to this.do_save_event() won't be fired !;
- return false;
+ // return false;
+ // Theorically, returning false should prevent the lightbox to open.
+ // It works, but then the scheduler is in a buggy state where drag'n drop
+ // related internal Event won't be fired anymore.
+ // I tried scheduler.editStop(event_id); but doesn't work either
+ // After losing one hour on this, here's a quick and very dirty fix :
+ $(".dhx_cancel_btn").click();
}
- return true;
},
get_event_data: function(event_obj) {
var data = {