关闭从方法调用的弹出对话框
Close pop up dialog called from method
点击保存按钮打开弹出对话框时,对话框没有关闭。
我知道我可以添加
<footer>
<button name="save_item" string="Save" type="object" class="oe_highlight" />
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>
并在模型中添加方法 save_item
return True
并关闭弹出对话框。
但是,如果我单击网格上的项目(one2many 小部件),它会弹出操作按钮和我的自定义 save/cancel 按钮。所以按钮会变得多余。
@api.multi
def add_item(self):
# for record in self:
return {
"type": "ir.actions.act_window",
"name": "Add Item",
"res_model": "quotation.line",
"view_type": "form",
"view_mode": "form",
"view_id": self.env.ref("prescription.view_quotation_line_form",False).id,
"target": "new",
"flags": {"form": {"action_buttons": True}},
"context": {
"default_quotation_id": self.id,
},
}
有没有办法关闭点击默认操作按钮后弹出的对话框?
我想我已经理解你了,但你不能只打开你的 pop-up 并将 action_buttons
设置为 False 以仅使用你自己的按钮?
@api.multi
def add_item(self):
# for record in self:
return {
"type": "ir.actions.act_window",
"name": "Add Item",
"res_model": "quotation.line",
"view_type": "form",
"view_mode": "form",
"view_id": self.env.ref("prescription.view_quotation_line_form",False).id,
"target": "new",
"flags": {"form": {"action_buttons": False}},
"context": {
"default_quotation_id": self.id,
},
}
这样用户只能点击您的按钮,您可以在 save_item
方法中关闭 pop-up。
编辑
阅读您的评论后,我了解到您想在编辑记录时摆脱自己的按钮,因为在这种情况下您会看到 4 个按钮,默认按钮和您自己的按钮。而在创建时你没有这个问题。我想您已经创建了自己的 Add item 按钮,并且您不允许用户使用默认的 One2many Add an element 按钮或类似的按钮.然后试试这个
...
<field name="id" invisible="1"/>
...
<footer attrs="{'invisible': [('id', '!=', False)]}">
<button name="save_item" string="Save" type="object" class="oe_highlight" />
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>
点击保存按钮打开弹出对话框时,对话框没有关闭。
我知道我可以添加
<footer>
<button name="save_item" string="Save" type="object" class="oe_highlight" />
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>
并在模型中添加方法 save_item
return True
并关闭弹出对话框。
但是,如果我单击网格上的项目(one2many 小部件),它会弹出操作按钮和我的自定义 save/cancel 按钮。所以按钮会变得多余。
@api.multi
def add_item(self):
# for record in self:
return {
"type": "ir.actions.act_window",
"name": "Add Item",
"res_model": "quotation.line",
"view_type": "form",
"view_mode": "form",
"view_id": self.env.ref("prescription.view_quotation_line_form",False).id,
"target": "new",
"flags": {"form": {"action_buttons": True}},
"context": {
"default_quotation_id": self.id,
},
}
有没有办法关闭点击默认操作按钮后弹出的对话框?
我想我已经理解你了,但你不能只打开你的 pop-up 并将 action_buttons
设置为 False 以仅使用你自己的按钮?
@api.multi
def add_item(self):
# for record in self:
return {
"type": "ir.actions.act_window",
"name": "Add Item",
"res_model": "quotation.line",
"view_type": "form",
"view_mode": "form",
"view_id": self.env.ref("prescription.view_quotation_line_form",False).id,
"target": "new",
"flags": {"form": {"action_buttons": False}},
"context": {
"default_quotation_id": self.id,
},
}
这样用户只能点击您的按钮,您可以在 save_item
方法中关闭 pop-up。
编辑
阅读您的评论后,我了解到您想在编辑记录时摆脱自己的按钮,因为在这种情况下您会看到 4 个按钮,默认按钮和您自己的按钮。而在创建时你没有这个问题。我想您已经创建了自己的 Add item 按钮,并且您不允许用户使用默认的 One2many Add an element 按钮或类似的按钮.然后试试这个
...
<field name="id" invisible="1"/>
...
<footer attrs="{'invisible': [('id', '!=', False)]}">
<button name="save_item" string="Save" type="object" class="oe_highlight" />
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>