Odoo 11自定义向导功能

时间:2018-07-18 08:44:06

标签: python-3.x odoo odoo-11

我想自定义向导按钮以允许选择的项目,并在单击按钮后将done(Boolean)更改为True。这是示例视图和我创建的向导按钮。 enter image description here

这是我在查看文件中的以下代码:

<record model="ir.actions.server" id="make_it_done">
    <field name="name">Make it done</field>
    <field name="condition">True</field>
    <field name="model_id" ref="model_todo_task"/>
    <field name="type">ir.actions.server</field>
    <field name="binding_model_id" ref="model_todo_task" />
    <field name="code">
        action = self.make_it_done()
    </field>
</record>

这是我的模型文件:

from odoo import api,fields, models
from odoo.addons.base.res.res_request import referenceable_models
from odoo.exceptions import ValidationError

class TodoTask(models.Model):

def make_it_done(self):
    print('Success!!')

我希望创建一个向导功能,该功能允许将所有选定的项目更新为“完成”(就像“存档”功能中的构建一样)。但是,根据我的代码,当我选择该项目并单击向导功能时,它什么都不做。

这是我收到的唯一回复(如上图所示)。然后所有复选框将变为未选中状态。 enter image description here

我不知道我错过了什么,但是只是不运行代码。 请帮助我解决这个问题,谢谢大家!!

2 个答案:

答案 0 :(得分:3)

也许您可以尝试添加一个名为“州”的字段

<field name="state">code</field>

在服务器操作中,它对我有用

答案 1 :(得分:0)

您只需要将服务器操作的代码更改为:

<field name="code">records.make_it_done()</field>

records将是所有已标记列表项的记录集。然后当然改变方法:

def make_it_done(self):
    self.done = True