diff --git a/soong_workflow/models/soong_workflow.py b/soong_workflow/models/soong_workflow.py index 081f875a6..d70fb917a 100644 --- a/soong_workflow/models/soong_workflow.py +++ b/soong_workflow/models/soong_workflow.py @@ -51,8 +51,8 @@ class SoongWorkflow(models.Model): is_enable_return_button = fields.Boolean(string="是否启用收回", default=True) is_enable_transmitted_button = fields.Boolean(string="是否启用转交", default=True) approvals_group_id = fields.Many2one('soong.approval.group', string="审批分组") - user_role_ids = fields.Many2many('soong.user.role', string="授权范围", store=True, - default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])], domain=[('user_type', '!=', 'lv_role')]) + user_role_ids = fields.Many2many('soong.user.role', string="授权范围", store=True, domain=[('user_type', '!=', 'lv_role')], + default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])]) department_role_ids = fields.Many2many('hr.department', string="授权部门范围", store=True) is_user_department_role = fields.Boolean(string="是否有权限查看", store=False, search="_search_is_user_department_role") diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index ac4aab5e9..d3f4f2b21 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -378,6 +378,7 @@ class SoongWorkflowMixin(models.AbstractModel): # 下一个节点 if self_state + 1 != len(state_list): next_state = btn_rec.workflow_id.node_ids[self_state + 1].button_ids[0] + # 转交逻辑调整。之后的所有流程 if btn_rec.name == '转交' and len(btn_rec.node_id.out_link_ids) >= 1: for state in btn_rec.node_id.out_link_ids: trans_link_id = self.env['trans.link'].create({ @@ -401,6 +402,10 @@ class SoongWorkflowMixin(models.AbstractModel): raise UserError('请配置{}的角色人员'.format(state.name)) if btn_rec.name == '分发': employee_ids = [self.env['hr.employee'].search([('user_role_id.name', '=', '董事长')])[0].id] + # 分发督办隐藏过滤 + is_supervising = False + if self._module in ['yuthon_official']: + is_supervising = self.is_supervising return { "name": _("评论"), "type": "ir.actions.act_window", @@ -413,6 +418,7 @@ class SoongWorkflowMixin(models.AbstractModel): "default_res_id": self.id, "default_res_model": self._name, "default_log_ids": logs.ids, + "default_is_supervising": is_supervising, "default_is_automatic": next_state.is_automatic if btn_rec.name != '分发' else False, "default_employee_ids": employee_ids, "default_node_btn_id": btn_rec.id, @@ -527,7 +533,6 @@ class SoongWorkflowMixin(models.AbstractModel): return res # 收回 - # 状态变化的时候会出现一条记录是谁操作的? def action_withdraw(self): for record in self: log_ids = record.log_ids.sorted('sequence') diff --git a/soong_workflow/models/trans_link.py b/soong_workflow/models/trans_link.py index 67bb25e10..f6171a78a 100644 --- a/soong_workflow/models/trans_link.py +++ b/soong_workflow/models/trans_link.py @@ -9,6 +9,7 @@ class TransLink(models.Model): node_button_id = fields.Many2one('soong.workflow.node.button', string="按钮") name = fields.Char(string="节点名称") link_type = fields.Selection([('trans', '转交'), ('return', '退回')], string="节点类型") + sequence = fields.Integer(string="转交顺序") record_id = fields.Integer() diff --git a/soong_workflow/views/soong_workflow_node_views.xml b/soong_workflow/views/soong_workflow_node_views.xml index 79ae4e364..fff814e11 100644 --- a/soong_workflow/views/soong_workflow_node_views.xml +++ b/soong_workflow/views/soong_workflow_node_views.xml @@ -43,7 +43,7 @@