[IMP] add a 'default' key to 'on_prev_view' so switchers can force an other view if needed
bzr revid: xmo@openerp.com-20120124093033-297o9np9mxhm9zpy
This commit is contained in:
parent
a0bc35050e
commit
8bd3c7035e
|
@ -386,11 +386,11 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
|||
on_button_save: function() {
|
||||
var self = this;
|
||||
return this.do_save().then(function(result) {
|
||||
self.do_prev_view(result.created);
|
||||
self.do_prev_view({'created': result.created, 'default': 'page'});
|
||||
});
|
||||
},
|
||||
on_button_cancel: function() {
|
||||
return this.do_prev_view();
|
||||
return this.do_prev_view({'default': 'page'});
|
||||
},
|
||||
on_button_new: function() {
|
||||
var self = this;
|
||||
|
|
|
@ -354,17 +354,19 @@ session.web.ViewManager = session.web.Widget.extend(/** @lends session.web.View
|
|||
* navigation history (the navigation history is appended to via
|
||||
* on_mode_switch)
|
||||
*
|
||||
* @param {Boolean} [created=false] returning from a creation
|
||||
* @param {Object} [options]
|
||||
* @param {Boolean} [options.created=false] resource was created
|
||||
* @param {String} [options.default=null] view to switch to if no previous view
|
||||
* @returns {$.Deferred} switching end signal
|
||||
*/
|
||||
on_prev_view: function (created) {
|
||||
on_prev_view: function (options) {
|
||||
var current_view = this.views_history.pop();
|
||||
var previous_view = this.views_history[this.views_history.length - 1];
|
||||
if (created && current_view === 'form' && previous_view === 'list') {
|
||||
var previous_view = this.views_history[this.views_history.length - 1] || options['default'];
|
||||
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('page');
|
||||
} else if (created && !previous_view && this.action && this.action.flags.default_view === '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('page');
|
||||
}
|
||||
|
@ -1164,8 +1166,12 @@ session.web.View = session.web.Widget.extend(/** @lends session.web.View# */{
|
|||
},
|
||||
/**
|
||||
* Cancels the switch to the current view, switches to the previous one
|
||||
*
|
||||
* @param {Object} [options]
|
||||
* @param {Boolean} [options.created=false] resource was created
|
||||
* @param {String} [options.default=null] view to switch to if no previous view
|
||||
*/
|
||||
do_prev_view: function () {
|
||||
do_prev_view: function (options) {
|
||||
},
|
||||
do_search: function(view) {
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue