提交 8f0df988 authored 作者: 贺阳's avatar 贺阳

1、清关节点配置上新增字段:尾程POD节点匹配️,默认不勾。类型为小包的节点 只能有一个节点勾选

上级 601b7eac
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
# 导入日志 # 导入日志
import logging import logging
from odoo import models, fields from odoo import api, models, fields
from odoo.exceptions import ValidationError
# 获取日志 # 获取日志
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
...@@ -52,6 +53,30 @@ class CcNode(models.Model): ...@@ -52,6 +53,30 @@ class CcNode(models.Model):
package_state = fields.Many2one('cc.node', string='Corresponding to the status of the package', package_state = fields.Many2one('cc.node', string='Corresponding to the status of the package',
domain="[('node_type','=','package')]", index=True) # 对应小包状态 domain="[('node_type','=','package')]", index=True) # 对应小包状态
# 新增字段:尾程POD节点匹配,只有类型为小包的节点才能勾选
is_pod_node = fields.Boolean(string='Tail POD Node Match', default=False,
help='Only nodes of type "package" can be checked. Only one package node can be checked.')
@api.constrains('is_pod_node', 'node_type')
def _check_pod_node(self):
"""
约束:只有小包类型节点才能勾选POD节点
只能有一个小包节点可以勾选
"""
for record in self:
if record.is_pod_node and record.node_type != 'package':
raise ValidationError('只有小包类型节点才能勾选尾程POD节点匹配')
# 如果当前节点勾选了POD节点,检查是否已有其他小包节点勾选了
if record.is_pod_node and record.node_type == 'package':
existing_pod_nodes = self.search([
('is_pod_node', '=', True),
('node_type', '=', 'package'),
('id', '!=', record.id)
])
if existing_pod_nodes:
raise ValidationError('只能有一个小包类型节点可以勾选尾程POD节点匹配')
def node_is_sync(self): def node_is_sync(self):
# 如果更新节点是 默认节点 同步的标志变为True # 如果更新节点是 默认节点 同步的标志变为True
is_sync = False is_sync = False
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<field optional="show" name="is_must" string="Is Must Node"/> <field optional="show" name="is_must" string="Is Must Node"/>
<field optional="show" name="is_done" string="Is Done Node"/> <field optional="show" name="is_done" string="Is Done Node"/>
<field optional="show" name="is_default" string="Is Current Node"/> <field optional="show" name="is_default" string="Is Current Node"/>
<field optional="show" name="is_pod_node" string="Tail POD Node Match" attrs="{'invisible': [('node_type', '!=', 'package')]}" />
</tree> </tree>
</field> </field>
</record> </record>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论