Odoo 11自定义精灵功能
Odoo 11 customize wizard function
我想自定义一个向导按钮以允许 selected 项目并在我单击该按钮后将 done(Boolean) 更改为 True。这是我创建的示例视图和向导按钮。
下面是我在视图文件中的代码:
<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!!')
我想创建一个向导功能,允许将所有 selected 项目更新为 "Done"(就像内置 "Archive" 功能一样)。但是根据我的代码,当我 select 项目并单击向导功能时,它什么也不做。
这是我收到的唯一回复(加载如上图所示)。然后所有复选框都将变为未选中状态。
我不知道我错过了什么,但 运行 代码根本就没有。
请帮我解决这个问题,提前谢谢大家!!
您只需将服务器操作的代码更改为:
<field name="code">records.make_it_done()</field>
records
将是所有标记列表条目的记录集。然后当然改变方法:
def make_it_done(self):
self.done = True
也许您可以尝试添加一个名为 "state"
的字段
<field name="state">code</field>
在服务器操作中,它对我有用
我想自定义一个向导按钮以允许 selected 项目并在我单击该按钮后将 done(Boolean) 更改为 True。这是我创建的示例视图和向导按钮。
下面是我在视图文件中的代码:
<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!!')
我想创建一个向导功能,允许将所有 selected 项目更新为 "Done"(就像内置 "Archive" 功能一样)。但是根据我的代码,当我 select 项目并单击向导功能时,它什么也不做。
这是我收到的唯一回复(加载如上图所示)。然后所有复选框都将变为未选中状态。
我不知道我错过了什么,但 运行 代码根本就没有。 请帮我解决这个问题,提前谢谢大家!!
您只需将服务器操作的代码更改为:
<field name="code">records.make_it_done()</field>
records
将是所有标记列表条目的记录集。然后当然改变方法:
def make_it_done(self):
self.done = True
也许您可以尝试添加一个名为 "state"
的字段<field name="state">code</field>
在服务器操作中,它对我有用