* @returns {$.Deferred} switching end signal
*/
on_prev_view: function (options) {
+ options = options || {};
var current_view = this.views_history.pop();
var previous_view = this.views_history[this.views_history.length - 1] || options['default'];
if (options.created && current_view === 'form' && previous_view === 'list') {
var groupby = results.group_by.length
? results.group_by
: action_context.group_by;
+ if (_.isString(groupby)) {
+ groupby = [groupby];
+ }
controller.do_search(results.domain, results.context, groupby || []);
});
},
// TODO fme: should add the language to fields_view_get because between the fields view get
// and the moment the user opens the translation dialog, the user language could have been changed
this.view_language = view.session.user_context.lang;
- this['on_button' + _t("Save")] = this.on_button_Save;
- this['on_button' + _t("Close")] = this.on_button_Close;
+ this['on_button_' + _t("Save")] = this.on_btn_save;
+ this['on_button_' + _t("Close")] = this.on_btn_close;
this._super(view, {
width: '80%',
height: '80%'
}
});
},
- on_button_Save: function() {
+ on_btn_save: function() {
var trads = {},
self = this,
trads_mutex = new $.Mutex();
if (code === self.view_language) {
_.each(data, function(value, field) {
self.view.fields[field].set_value(value);
- self.view.fields[field].dirty = true;
- });
- } else {
- trads_mutex.exec(function() {
- return self.view.dataset.write(self.view.datarecord.id, data, { context : { 'lang': code } });
});
}
+ trads_mutex.exec(function() {
+ return self.view.dataset.write(self.view.datarecord.id, data, { context : { 'lang': code } });
+ });
});
this.close();
},
- on_button_Close: function() {
+ on_btn_close: function() {
this.close();
}
});