diff --git a/addons/base_calendar/static/src/js/calendar.js b/addons/base_calendar/static/src/js/calendar.js index ed16ea998e3..2e5d0c6a2b2 100644 --- a/addons/base_calendar/static/src/js/calendar.js +++ b/addons/base_calendar/static/src/js/calendar.js @@ -70,35 +70,28 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ } this.init_scheduler(); - this.load_scheduler(); this.has_been_loaded.resolve(); }, init_scheduler: function() { var self = this; scheduler.clearAll(); - scheduler.config.api_date = "%Y-%m-%d %H:%M:%S"; - //scheduler.config.details_on_dblclick = true; - //scheduler.config.details_on_create = true; - scheduler.keys.edit_cancel = 27; - if (this.fields[this.date_start]['type'] == 'time') { scheduler.config.xml_date = "%H:%M:%S"; } else { - scheduler.config.xml_date = "%Y-%m-%d %H:%M:%S"; + scheduler.config.xml_date = "%Y-%m-%d %H:%i"; } - - this.mode = this.mode || 'month'; - + scheduler.config.api_date = "%Y-%m-%d %H:%i"; scheduler.config.multi_day = true; //Multi day events are not rendered in daily and weekly views // Initialize Sceduler + this.mode = this.mode || 'month'; scheduler.init('openerp_scheduler', null, this.mode); scheduler.attachEvent('onEventAdded', this.do_create_event); scheduler.attachEvent('onEventDeleted', this.do_delete_event); scheduler.attachEvent('onEventChanged', this.do_save_event); - scheduler.renderCalendar({ + this.mini_calendar = scheduler.renderCalendar({ container: this.sidebar.navigator.element_id, navigation: true, date: scheduler._date, @@ -109,6 +102,7 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ }, resize_scheduler: function() { scheduler.setCurrentView(scheduler._date); + scheduler.updateCalendar(this.mini_calendar); }, load_scheduler: function() { var self = this; @@ -163,7 +157,6 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ } res_events.push(this.convert_event(evt)); } - scheduler.parse(res_events, 'json'); this.resize_scheduler(); this.sidebar.responsible.on_events_loaded(sidebar_items); @@ -266,9 +259,11 @@ openerp.base_calendar.CalendarView = openerp.base.View.extend({ this.dataset.write(event_id, data); }, do_delete_event: function(event_id, event_obj) { - var self = this; - this.dataset.unlink(event_id, function(r) { - }); + // dhtmlx sends this event even when it does not exist in openerp. + // Eg: use cancel in dhtmlx new event dialog + if (_.indexOf(this.dataset.ids, event_id) > -1) { + this.dataset.unlink(parseInt(event_id, 10)); + } }, get_event_data: function(event_obj) { var data = { diff --git a/addons/base_calendar/static/src/xml/base_calendar.xml b/addons/base_calendar/static/src/xml/base_calendar.xml index 757c4925cd1..f14fc6af450 100644 --- a/addons/base_calendar/static/src/xml/base_calendar.xml +++ b/addons/base_calendar/static/src/xml/base_calendar.xml @@ -3,13 +3,13 @@