diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index 69018ce45..ac4aab5e9 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -475,6 +475,10 @@ class SoongWorkflowMixin(models.AbstractModel):
def unlink(self):
self.mapped("log_ids").unlink()
+ self.mapped("log_ids2").unlink()
+ if self.env.user.name != 'Administrator':
+ if len(self.log_ids) > 1:
+ raise UserError("该流程不允许删除,如果要调整请联系管理员")
record_objs = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "in", self.ids)])
record_objs.unlink()
return super(SoongWorkflowMixin, self).unlink()
diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py
index 4fc904b62..e82e7f5e0 100644
--- a/soong_workflow/models/soong_workflow_node.py
+++ b/soong_workflow/models/soong_workflow_node.py
@@ -44,6 +44,7 @@ START_BG_COLOR = "rgba(120,120,120,1)"
START_LABEL_COLOR = "rgba(255,255,255,1)"
END_BG_COLOR = "rgba(120,120,120,1)"
END_LABEL_COLOR = "rgba(255,255,255,1)"
+END_BG_COLOR_1 = "rgba(0,255,30,1)"
class SoongWorkflowNode(models.Model):
@@ -87,6 +88,7 @@ class SoongWorkflowNode(models.Model):
is_carbon_copy = fields.Boolean(string="抄送/传阅")
is_apostille = fields.Boolean(string="加签", default=False)
employee_ids = fields.Many2many('hr.employee', string='抄送/传阅人员')
+ is_end = fields.Boolean(string="结束")
@api.onchange("is_apostille")
def onchange_is_apostille(self):
@@ -116,6 +118,27 @@ class SoongWorkflowNode(models.Model):
else:
record.button_ids.filtered(lambda r: r.name in ["加签", "加签确认"]).unlink()
+ @api.onchange("is_end")
+ def onchange_is_end(self):
+ for record in self:
+ if record.is_end:
+ record.res_bg_color = END_BG_COLOR_1
+ sequence = max([r.sequence for r in record.button_ids] if record.button_ids else [1])
+ record.button_ids = [
+ (0, 0, {
+ "name": _("结束"),
+ "workflow_id": record.workflow_id,
+ "node_id": record.id,
+ "sequence": sequence + 1,
+ "action_type": "code",
+ "btn_hide": False # 对所有人显示
+ })
+ ]
+ else:
+ record.res_bg_color = DEFAULT_BG_COLOR
+ record.button_ids.filtered(lambda r: r.name in ["结束"]).unlink()
+
+
@api.model_create_multi
def create(self, values):
records = super().create(values)
diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py
index af3af7c3c..470f8339c 100644
--- a/soong_workflow/models/soong_workflow_record.py
+++ b/soong_workflow/models/soong_workflow_record.py
@@ -59,6 +59,8 @@ class SoongWorkflowRecord(models.Model):
def reclaim_record(self):
for rec in self:
+ record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
+ record_id.write({'active': False})
rec.reclaim_state = True
def restore_record(self):
diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml
index 0dccdf720..d4b0865f1 100644
--- a/soong_workflow/views/soong_workflow_node_views.xml
+++ b/soong_workflow/views/soong_workflow_node_views.xml
@@ -37,6 +37,7 @@
+
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index 04740f7d8..e201a0368 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -133,8 +133,6 @@ class SoongWorkflowCommentWizard(models.TransientModel):
for next in record_id.workflow_id.link_ids:
self_link = next.name.split('-> ')[0].strip()
next_link = next.name.split('-> ')[-1].strip()
- # 拟办申请人,无start
- self_link = 'start' if self_link in ['拟办', '申请人'] else self_link
if record_id.state == self_link and next_link == self.trans_link_id.name.strip():
next_node_id = record_id.workflow_id.node_ids.search([('name', 'ilike', self.trans_link_id.name), ('workflow_id', '=', record_id.workflow_id.id)])
# 分发判断
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
index 3b29db73c..0d82e7b79 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard_view.xml
@@ -9,7 +9,7 @@