[FIX] correct default date on calendar popups
bzr revid: chs@openerp.com-20120104170118-jmvxk4vqaqgad858
This commit is contained in:
parent
6ec4c670a0
commit
76f85b16e4
|
@ -135,21 +135,21 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
},
|
||||
|
||||
do_show: function () {
|
||||
var self = this,
|
||||
deferred = $.Deferred().resolve();
|
||||
this.has_been_loaded.then(function() {
|
||||
var self = this;
|
||||
return this.has_been_loaded.pipe(function() {
|
||||
var result;
|
||||
if (self.dataset.index === null) {
|
||||
// null index means we should start a new record
|
||||
deferred.pipe(self.on_button_new());
|
||||
result = self.on_button_new();
|
||||
} else {
|
||||
deferred.pipe(self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_record_loaded));
|
||||
result = self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_record_loaded);
|
||||
}
|
||||
self.$element.show();
|
||||
if (self.sidebar) {
|
||||
self.sidebar.$element.show();
|
||||
}
|
||||
return result;
|
||||
});
|
||||
return deferred;
|
||||
},
|
||||
do_hide: function () {
|
||||
this._super();
|
||||
|
@ -172,7 +172,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
field.validate();
|
||||
});
|
||||
});
|
||||
return $.when.apply(null, set_values).then(function() {
|
||||
return $.when.apply(null, set_values).pipe(function() {
|
||||
if (!record.id) {
|
||||
self.show_invalid = false;
|
||||
// New record: Second pass in order to trigger the onchanges
|
||||
|
|
|
@ -288,7 +288,9 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
|||
var self = this,
|
||||
data = this.get_event_data(event_obj),
|
||||
form = self.form_dialog.form,
|
||||
fields_to_fetch = _(form.fields_view.fields).keys();
|
||||
fields_to_fetch = _(form.fields_view.fields).keys(),
|
||||
set_values = [],
|
||||
fields_names = [];
|
||||
this.dataset.index = null;
|
||||
self.creating_event_id = event_id;
|
||||
this.form_dialog.form.do_show().then(function() {
|
||||
|
@ -296,14 +298,26 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
|||
_.each(['date_start', 'date_stop', 'date_delay'], function(field) {
|
||||
var field_name = self[field];
|
||||
if (field_name && form.fields[field_name]) {
|
||||
field = form.fields[field_name];
|
||||
field.set_value(data[field_name]);
|
||||
field.dirty = true;
|
||||
form.do_onchange(field);
|
||||
var ffield = form.fields[field_name];
|
||||
ffield.reset();
|
||||
var result = ffield.set_value(data[field_name]);
|
||||
set_values.push(result);
|
||||
fields_names.push(field_name);
|
||||
$.when(result).then(function() {
|
||||
ffield.validate();
|
||||
});
|
||||
}
|
||||
});
|
||||
form.show_invalid = true;
|
||||
self.form_dialog.open();
|
||||
|
||||
$.when(set_values).then(function() {
|
||||
_.each(fields_names, function(fn) {
|
||||
var field = form.fields[fn];
|
||||
field.dirty = true;
|
||||
form.do_onchange(field);
|
||||
});
|
||||
form.show_invalid = true;
|
||||
self.form_dialog.open();
|
||||
});
|
||||
});
|
||||
},
|
||||
do_save_event: function(event_id, event_obj) {
|
||||
|
|
Loading…
Reference in New Issue