diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 5f9595210..982efb476 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -663,6 +663,10 @@ class SoongWorkflowMixin(models.AbstractModel): btn_exec_action_el.set( "invisible", "not id or state != '%s'" % node.node_name ) + if button.name in ["退回", "结束"]: + if not self.sudo().env["soong.workflow.log"].search([("workflow_id", "=", wkf_rec.id), ("node_id", "=", node.id)]).ids: + btn_exec_action_el.set("invisible", "1") + btn_exec_action_el.set( "context", "{'btn_key':'%s','active_model':'%s'}" diff --git a/soong_workflow/models/soong_workflow_record.py b/soong_workflow/models/soong_workflow_record.py index 0eaaa54c2..3a0f7e049 100644 --- a/soong_workflow/models/soong_workflow_record.py +++ b/soong_workflow/models/soong_workflow_record.py @@ -17,7 +17,9 @@ class SoongWorkflowRecord(models.Model): def read(self, fields=None, load='_classic_read'): for re in self: - re.name = self.env[re.res_model].search([('id', '=', re.res_id)]).name + res_name = self.env[re.res_model].search([('id', '=', re.res_id)]).name + if re.name != res_name: + re.name = res_name return super(SoongWorkflowRecord, self).read(fields=fields, load=load)