当用户点击"编辑按钮"?

时间:2015-07-02 14:33:48

标签: odoo openerp-7

我尝试使用 write ,但我错了,这个方法没有被调用。我真的需要检查没有人能够在status is paid时编辑发票表单,所以我想覆盖在"编辑按钮"点击。

**编辑:澄清我的问题**

enter image description here

红色方块中的按钮,我想要覆盖的按钮(或者在最好的情况下隐藏')不允许任何人在发票时编辑表格&#39 ;国家是有偿的!

4 个答案:

答案 0 :(得分:2)

单击 save 按钮后单击“编辑按钮”时,它始终会调用该对象的 write 方法。除了他们没有具体方法可用。

在Odoo / OpenERP中,发票是确认或支付的,没有人可以编辑它的详细信息。对它设置了一些约束。但是,如果要编辑任何状态的详细信息,而不是修改字段定义。

我们举一个例子:

account_invoice.py

'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}),

以下是一些属性效果说明:

  • readonly = True,=>这将使用readonly设置约束。没有人可以在对象的所有状态下从GUI编辑它。
  • states = {'draft':[('readonly',False)]} =>这意味着,具有草稿状态的字段,用户可以对其进行编辑。

现在你的情况:

你需要创建一个自定义模块并覆盖.py方字段声明,如需要删除 readonly = True

如果你想阻止特定状态的编辑而不是使用 states = {'state_name':[('readonly',False)]}

答案 1 :(得分:2)

单击编辑按钮,将不会调用任何方法。点击编辑并访问任何字段后,单击保存按钮然后将调用write方法[***请注意,如果我们只访问任何字段,则会调用它]

当您单击“创建”按钮并填写表单然后保存按钮时,将调用create方法。

答案 2 :(得分:2)

  

我确实需要检查无法在状态为paid

时编辑发票表单

在这种情况下,请检查state字段,如果是paid,请将所有字段设为只读。

听起来像是一个疯狂的想法;但这似乎是解决方案

答案 3 :(得分:0)

在编辑时没有调用方法,但是当你保存write方法时,调用并检查链接here以获取保存方法的详细信息。