跳至内容
菜单
此问题已终结
4 回复
12368 查看

I have a button in a wizard, and what I need when I click it, keep the wizard opened. (Odoo 13)

形象
丢弃
编写者 最佳答案

I resolved it in an easy way, just returned the same wizard in a new action like this:

## here I change what I need example:

self.my_field_ids = [(6, 0, my_values_ids)]
return {
'name': 'Same title',
'view_mode': 'form',
'view_id': False,
'res_model': self._name,
'domain': [],
'context': dict(self._context, active_ids=self.ids),
'type': 'ir.actions.act_window',
'target': 'new',
'res_id': self.id,
}
形象
丢弃

Nice!

最佳答案

More appropriate way to make this happen is this and it will not close the wizard

return { 
'type' : 'ir.actions.do_nothing'
}
形象
丢弃

It works in back dates

最佳答案
It works for me:

action = self.env["ir.actions.actions"]._for_xml_id("current_model.current_action")
action['res_id'] = self.id
return action


形象
丢弃
最佳答案

If I'm not mistaken previously it was possible with the attribute special='string', e.g.:

<button name="do_stuff" type="object" string="Do Stuff" class="oe_highlight" special="string"/>

Be cautious: (even if it helped) the object would not be saved before the button is triggered. For example, some of compute, inverse, create/write method would not have take a place. Thus, the behavior would be different in comparison to normal button, some figures might be not yet calculated.

Alternatively, it should be done by adding JavaScript event handlers.

形象
丢弃
编写者

thank you for your answer.

相关帖文 回复 查看 活动
1
4月 24
3056
0
11月 23
1870
1
9月 23
1969
2
8月 23
4283
2
4月 23
31946