[FIX] Some fixes in calendar since dhtmlxSheduler upgrade
bzr revid: fme@openerp.com-20110804100731-v032rcnxthqe0y7u
This commit is contained in:
@@ -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">&nbsp;</div>
|
||||
<div class="dhx_cal_next_button">&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>
|
||||
|
||||
Reference in New Issue
Block a user