Odoo中为project.task的kanban_state新增Solved选项显示异常求助
解决Odoo任务看板新增"Solved"状态图标显示异常的问题
你已经通过Python代码成功给project.task的kanban_state字段新增了solved选项,但前端显示红色圆圈(和Blocked状态一致)是因为缺少对应的样式定义——Odoo默认只会为内置的kanban状态(normal/blocked/done)加载预设样式。以下是完整解决步骤:
1. 确认Python字段定义(你的代码已正确,可跳过)
你的模型继承代码没问题,selection_add和ondelete设置合理:
from odoo import models, fields class ProjectTask(models.Model): _inherit = 'project.task' kanban_state = fields.Selection( selection_add=[('solved', 'Solved')], ondelete={'solved': 'cascade'} )
2. 添加自定义CSS样式
Odoo的看板状态图标颜色由CSS类控制,你需要为solved状态单独定义蓝色样式:
步骤1:创建CSS文件
在你的模块目录下新建static/src/css/task_kanban.css,写入样式:
/* 为solved状态设置蓝色圆圈 */ .o_kanban_record .o_task_kanban_state.solved { color: #4a67d8; /* 可根据需求调整蓝色色调 */ }
步骤2:通过QWeb模板加载CSS
在模块的views目录下创建task_kanban_style.xml,将CSS注入后端资产:
<?xml version="1.0" encoding="utf-8"?> <odoo> <template id="assets_backend_task_solved" name="Task Solved Kanban Style" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel="stylesheet" href="/your_module_name/static/src/css/task_kanban.css"/> </xpath> </template> </odoo>
注意替换your_module_name为你的模块实际名称。
3. 生效配置
- 升级你的自定义模块
- 清除浏览器缓存(Ctrl+Shift+R)后刷新看板页面
完成以上操作后,设置为"Solved"状态的任务就会显示蓝色圆圈图标了。
内容的提问来源于stack exchange,提问作者Abdullah Al-Habbal
相关产品推荐
相关产品推荐

