[FIX] web: on launching ir_actions_act_window, reset the active_* params if the target is current
This commit is related to8d49639933
andb88755c431
When hitting buttons of type object, the active_model and active_id(s) were kept, and, therefore, when calling a feature using the active* args, this feature used the active* args from the previous action. Nevertheless, concerning wizards, the active* args should be indeed the active* args of the previous action, as wizards expects to have the active* args from the previous action. Thus, we reset these active* args only when this is not a wizard (target === 'current') For example, from a sales order, hit the 'view invoice' button, and on the invoice, hit the 'send by email' button: The active_id in the send by email wizard were the id of the sale order, not of the invoice
This commit is contained in:
parent
e137a7713b
commit
a37bad205b
|
@ -436,6 +436,16 @@ instance.web.ActionManager = instance.web.Widget.extend({
|
|||
ir_actions_act_window: function (action, options) {
|
||||
var self = this;
|
||||
|
||||
if (action.target === 'current'){
|
||||
action.context['active_model'] = action.res_model;
|
||||
if (action.res_id){
|
||||
action.context['active_id'] = action.res_id;
|
||||
action.context['active_ids'] = [action.res_id];
|
||||
} else{
|
||||
delete action.context['active_id'];
|
||||
delete action.context['active_ids'];
|
||||
}
|
||||
}
|
||||
return this.ir_actions_common({
|
||||
widget: function () { return new instance.web.ViewManagerAction(self, action); },
|
||||
action: action,
|
||||
|
|
Loading…
Reference in New Issue