[FIX] Some fixes in calendar since dhtmlxSheduler upgrade

bzr revid: fme@openerp.com-20110804100731-v032rcnxthqe0y7u
This commit is contained in:
Fabien Meghazi
2011-08-04 12:07:31 +02:00
parent 3ce3ce9cb6
commit fd573bc0d9
2 changed files with 17 additions and 22 deletions
+10 -15
View File
@@ -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 = {
@@ -3,13 +3,13 @@
<h3 class="title"><t t-esc="fields_view.arch.attrs.string"/></h3>
<div id="openerp_scheduler" class="dhx_cal_container" style="height: 1000px;">
<div class="dhx_cal_navline">
<div class="dhx_cal_prev_button"/>
<div class="dhx_cal_next_button"/>
<div class="dhx_cal_today_button"/>
<div class="dhx_cal_date"/>
<div class="dhx_cal_tab" name="day_tab" style="right:204px;"/>
<div class="dhx_cal_tab" name="week_tab" style="right:140px;"/>
<div class="dhx_cal_tab" name="month_tab" style="right:76px;"/>
<div class="dhx_cal_prev_button">&amp;nbsp;</div>
<div class="dhx_cal_next_button">&amp;nbsp;</div>
<div class="dhx_cal_today_button" t-opentag="true"></div>
<div class="dhx_cal_date" t-opentag="true"></div>
<div class="dhx_cal_tab" name="day_tab" style="right:204px;" t-opentag="true"></div>
<div class="dhx_cal_tab" name="week_tab" style="right:140px;" t-opentag="true"></div>
<div class="dhx_cal_tab" name="month_tab" style="right:76px;" t-opentag="true"></div>
</div>
<div class="dhx_cal_header">
</div>