关闭从方法调用的弹出对话框

2024-04-25 19:55:10 发布

您现在位置:Python中文网/ 问答频道 /正文

单击“保存”按钮打开弹出对话框时,对话框不会关闭。你知道吗

我知道我可以补充

<footer> 
<button name="save_item" string="Save" type="object" class="oe_highlight" />                 
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>

并将方法save_item添加到将返回True的模型中并关闭弹出对话框。你知道吗

但是如果我点击网格上的项目(一个2many小部件),它会弹出操作按钮和我的自定义保存/取消按钮。这样按钮就多余了。你知道吗

@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,
                },
    }

有没有办法在单击默认操作按钮后关闭弹出的对话框?你知道吗


Tags: nameselfformviewidstringsavetype
1条回答
网友
1楼 · 发布于 2024-04-25 19:55:10

我想我已经理解你了,但是你不能打开你的弹出窗口,将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方法中的弹出窗口。你知道吗

编辑

在阅读了您的评论之后,我了解到您希望在编辑记录时去掉自己的按钮,因为在本例中,您将看到4个按钮,默认按钮和您的按钮。当你创造的时候,你没有这个问题。我猜您已经创建了自己的添加项按钮,并且不允许用户使用默认的添加元素按钮。那就试试这个

...
    <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>

相关问题 更多 >