[FIX] Fixed on_switch_mode tirggering.
bzr revid: vta@openerp.com-20121009145113-8sazhfrp3xaan5cq
This commit is contained in:
parent
1b7d002922
commit
fe07dc2e6d
|
@ -3370,10 +3370,13 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
|
|||
}
|
||||
def.resolve();
|
||||
});
|
||||
this.viewmanager.on('on_mode_switch',self,function(n_mode, b, c, d, e) {
|
||||
this.viewmanager.on("on_mode_switch", self, function(n_mode, b, c, d, e) {
|
||||
$.when(self.save_any_view()).then(function() {
|
||||
if(n_mode === "list")
|
||||
$.async_when().then(function() {self.reload_current_view();});
|
||||
if (n_mode === "list") {
|
||||
$.async_when().then(function() {
|
||||
self.reload_current_view();
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
this.is_setted.then(function() {
|
||||
|
|
|
@ -417,7 +417,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
this._super();
|
||||
var self = this;
|
||||
this.$el.find('.oe_view_manager_switch a').click(function() {
|
||||
self.on_mode_switch($(this).data('view-type'));
|
||||
self.trigger('on_mode_switch', $(this).data('view-type'));
|
||||
}).tipsy();
|
||||
var views_ids = {};
|
||||
_.each(this.views_src, function(view) {
|
||||
|
@ -439,16 +439,12 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
}
|
||||
// If no default view defined, switch to the first one in sequence
|
||||
var default_view = this.flags.default_view || this.views_src[0].view_type;
|
||||
return this.on_mode_switch(default_view);
|
||||
this.on('on_mode_switch', self, function(view_type, no_store, view_options) {
|
||||
self.switch_mode(view_type, no_store, view_options);
|
||||
});
|
||||
return this.trigger('on_mode_switch', default_view);
|
||||
},
|
||||
/**
|
||||
* Asks the view manager to switch visualization mode.
|
||||
*
|
||||
* @param {String} view_type type of view to display
|
||||
* @param {Boolean} [no_store=false] don't store the view being switched to on the switch stack
|
||||
* @returns {jQuery.Deferred} new view loading promise
|
||||
*/
|
||||
on_mode_switch: function(view_type, no_store, view_options) {
|
||||
switch_mode: function(view_type, no_store, view_options) {
|
||||
var self = this;
|
||||
var view = this.views[view_type];
|
||||
var view_promise;
|
||||
|
@ -552,7 +548,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
add_breadcrumb: function(on_reverse_breadcrumb) {
|
||||
var self = this;
|
||||
var views = [this.active_view || this.views_src[0].view_type];
|
||||
this.on('on_mode_switch',self,function(mode) {
|
||||
this.on('on_mode_switch',self,function(mode) {
|
||||
var last = views.slice(-1)[0];
|
||||
if (mode !== last) {
|
||||
if (mode !== 'form') {
|
||||
|
@ -568,7 +564,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
var view_to_select = views[index];
|
||||
self.$el.show();
|
||||
if (self.active_view !== view_to_select) {
|
||||
self.on_mode_switch(view_to_select);
|
||||
self.trigger('on_mode_switch', view_to_select);
|
||||
}
|
||||
},
|
||||
get_title: function() {
|
||||
|
@ -604,7 +600,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
* consist to switch to the asked view.
|
||||
*/
|
||||
switch_view: function(view_type, no_store, options) {
|
||||
return this.on_mode_switch(view_type, no_store, options);
|
||||
return this.trigger('on_mode_switch', view_type, no_store, options);
|
||||
},
|
||||
/**
|
||||
* Returns to the view preceding the caller view in this manager's
|
||||
|
@ -623,12 +619,12 @@ instance.web.ViewManager = instance.web.Widget.extend({
|
|||
if (options.created && current_view === 'form' && previous_view === 'list') {
|
||||
// APR special case: "If creation mode from list (and only from a list),
|
||||
// after saving, go to page view (don't come back in list)"
|
||||
return this.on_mode_switch('form');
|
||||
return this.trigger('on_mode_switch', 'form');
|
||||
} else if (options.created && !previous_view && this.action && this.action.flags.default_view === 'form') {
|
||||
// APR special case: "If creation from dashboard, we have no previous view
|
||||
return this.on_mode_switch('form');
|
||||
return this.trigger('on_mode_switch', 'form');
|
||||
}
|
||||
return this.on_mode_switch(previous_view, true);
|
||||
return this.trigger('on_mode_switch', previous_view, true);
|
||||
},
|
||||
/**
|
||||
* Sets up the current viewmanager's search view.
|
||||
|
@ -897,7 +893,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
|||
}, action || {});
|
||||
this.do_action(action);
|
||||
},
|
||||
on_mode_switch: function (view_type, no_store, options) {
|
||||
switch_mode: function (view_type, no_store, options) {
|
||||
var self = this;
|
||||
|
||||
return $.when(this._super.apply(this, arguments)).then(function () {
|
||||
|
@ -932,7 +928,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
|
|||
if (state.view_type && state.view_type !== this.active_view) {
|
||||
defs.push(
|
||||
this.views[this.active_view].deferred.pipe(function() {
|
||||
return self.on_mode_switch(state.view_type, true);
|
||||
return self.trigger('on_mode_switch', state.view_type, true)
|
||||
})
|
||||
);
|
||||
}
|
||||
|
|
|
@ -194,7 +194,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
});
|
||||
var am = instance.webclient.action_manager;
|
||||
var form = am.dialog_widget.views.form.controller;
|
||||
form.on_button_cancel.add_last(am.dialog.on_close);
|
||||
form.on("on_button_cancel",self,am.dialog.on_close);
|
||||
form.on_created.add_last(function(r) {
|
||||
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r.result]).then(function(new_record) {
|
||||
am.dialog.on_close();
|
||||
|
@ -672,7 +672,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
|||
});
|
||||
var am = instance.webclient.action_manager;
|
||||
var form = am.dialog_widget.views.form.controller;
|
||||
form.on_button_cancel.add_last(am.dialog.on_close);
|
||||
form.on("on_button_cancel",self,am.dialog.on_close);
|
||||
form.on_saved.add_last(function() {
|
||||
am.dialog.on_close();
|
||||
self.view.do_reload();
|
||||
|
|
|
@ -1014,9 +1014,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
|
|||
var action_manager = new instance.web.ActionManager(self);
|
||||
$.when(action_manager.do_action(action)).then(function() {
|
||||
var controller = action_manager.dialog_widget.views['form'].controller;
|
||||
controller.on_button_cancel.add_last(function(){
|
||||
action_manager.destroy()
|
||||
});
|
||||
controller.on("on_button_cancel",self,action_manager.destroy);
|
||||
controller.do_save.add_last(function(){
|
||||
action_manager.destroy();
|
||||
var value =controller.fields.name.get('value');
|
||||
|
|
Loading…
Reference in New Issue