Python OpennERP确认消息

Python OpennERP确认消息,python,openerp,confirmation,Python,Openerp,Confirmation,我尝试在create方法中使用,但它产生了一个错误,因为create方法的返回必须是数据库中创建的记录ID(而不是其他任何东西) 我只想在用户在创建或编辑视图时单击“保存”时显示确认消息(是/否) 我不想使用Javascript 我还使用了Python Easy Gui库。它在本地工作得很好,但在远程服务器上会产生以下错误: \u tkinter.TclError:没有显示名称和$display环境变量 在尝试解决此问题时,我使用ssh命令行(ssh-X)中的-X属性登录了远程服务器UserNa

我尝试在create方法中使用,但它产生了一个错误,因为create方法的返回必须是数据库中创建的记录ID(而不是其他任何东西)

我只想在用户在创建或编辑视图时单击“保存”时显示确认消息(是/否)

我不想使用Javascript

我还使用了Python Easy Gui库。它在本地工作得很好,但在远程服务器上会产生以下错误:

\u tkinter.TclError:没有显示名称和$display环境变量

在尝试解决此问题时,我使用ssh命令行(
ssh-X)中的
-X
属性登录了远程服务器UserName@IP
)和库在测试时运行良好,因此解决此问题的解决方案是正确设置ssh配置文件的参数,但它还不起作用


如何在create方法中创建确认消息?

正确的方法是使用向导


这意味着一些开销,因为您必须先为向导定义一个模型和表单视图,但在标准的Odoo中没有这方面的快捷方式。

有两种方法可以做到这一点

1) 在按钮中,您可以向定义中添加一个名为“确认”的特殊字段,仅此字段就可以完成您想要的操作。例如:

<button name="Name of the button"
    string="Showable label"
    type="object"
    confirm="Are you sure you want to do this?"
/>

这将弹出一个确认窗口,显示文本“您确定要执行此操作吗?”

2) 您可以使用两个按钮创建向导,一个按钮类型为special cancel,另一个按钮执行一个函数,该函数也将调用工作流中的确认函数

例如:

<record id="view_cancel_repair" model="ir.ui.view">
<field name="name">Cancel Repair</field>
<field name="model">mrp.repair.cancel</field>
<field name="arch" type="xml">
    <form string="Cancel Repair Order" version="7.0">
        <group>
            <label string="This operation will cancel the Repair process, but will not cancel it's Invoice. Do you want to continue?"/>
        </group>
        <footer>
            <button name="cancel_repair" string="Yes" type="object" class="oe_highlight"/>
            or
            <button string="Cancel" class="oe_link" special="cancel" />
        </footer>
    </form>
</field>

取消修理
维修,取消
或

我希望这对你有帮助! 谢谢和问候