From 6d2ddfd2c7a36f3b9e63175212e3ebc069bd2b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= <9664676+pengyuthon@user.noreply.gitee.com> Date: Thu, 19 Mar 2026 18:06:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wizard/soong_workflow_comment_wizard.py | 19 +++++++++++++++---- .../models/extended_vacation_approval.py | 11 +++++++++-- yuthon_holiday/security/ir.model.access.csv | 3 ++- .../extended_vacation_approval_views.xml | 2 +- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py index fb277be7c..a8f0403bd 100644 --- a/soong_workflow/wizard/soong_workflow_comment_wizard.py +++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py @@ -651,10 +651,21 @@ class SoongWorkflowCommentWizard(models.TransientModel): for next_link in record_id.workflow_id.link_ids: if next_link.name.split('-> ')[0].strip() == self.return_link_id.name.strip(): next_node_id = next_link.node_from - record_id.log_ids[-1].write({'approval_state': '2', - "lase_click_date": fields.Datetime.now(), - "comment": self.comment, - "node_btn_name": "1"}) + + user_log = record_id.log_ids.filtered( + lambda log: log.done_by == self.env.user and log.approval_state in ['0', '1']) + user_log.write({'approval_state': '2', + "lase_click_date": fields.Datetime.now(), + "comment": self.comment, + "node_btn_name": "1"}) + target_names = user_log.mapped('name') + logs_to_delete = record_id.log_ids.filtered( + lambda log: (log.name in target_names) and + not log.comment and + log not in user_log + ) + if logs_to_delete: + logs_to_delete.unlink() self.sudo().env["soong.workflow.log"].create({ "code": self.code, "model": self.res_model, diff --git a/yuthon_holiday/models/extended_vacation_approval.py b/yuthon_holiday/models/extended_vacation_approval.py index 09952f3de..d54c87bba 100644 --- a/yuthon_holiday/models/extended_vacation_approval.py +++ b/yuthon_holiday/models/extended_vacation_approval.py @@ -14,7 +14,7 @@ class ExtendedVacationApproval(models.Model): users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id) department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门") employee_ids = fields.Many2many('hr.employee', string="假期顺延人员") - type_vacations_ids = fields.Many2many('hr.leave.type', string="假期类型") + type_vacations_ids = fields.Many2many('extended.type', string="假期类型") is_issues = fields.Boolean(string='是否上会') issues_result = fields.Html(string="会议结果") related_issues_id = fields.Many2one('issue.library', string="关联议题") @@ -87,4 +87,11 @@ class ExtendedVacationLine(models.Model): vacation_id = fields.Many2one('extended.vacation.approval', string="假期延长") employee_id = fields.Many2one('hr.employee', string="姓名") dynamic_previous_year = fields.Float(string="上年年假剩余d", digits=(16, 3)) - dynamic_previous_year1 = fields.Float(string="上年补休剩余d", digits=(16, 3)) \ No newline at end of file + dynamic_previous_year1 = fields.Float(string="上年补休剩余d", digits=(16, 3)) + + +class ExtendedType(models.Model): + _name = 'extended.type' + _description = "假期延长类型" + + name = fields.Char(string="名称") diff --git a/yuthon_holiday/security/ir.model.access.csv b/yuthon_holiday/security/ir.model.access.csv index 70ee2a65b..041b90f8d 100644 --- a/yuthon_holiday/security/ir.model.access.csv +++ b/yuthon_holiday/security/ir.model.access.csv @@ -8,4 +8,5 @@ access_leave_allocation_wizard,leave_allocation_wizard,model_leave_allocation_wi access_yuthon_leave_wizard,yuthon_leave_wizard,model_yuthon_leave_wizard,base.group_user,1,1,1,1 access_yuthon_breastfeed_leave,yuthon_breastfeed_leave,model_yuthon_breastfeed_leave,base.group_user,1,1,1,1 access_extended_vacation_approval,extended_vacation_approval,model_extended_vacation_approval,base.group_user,1,1,1,1 -access_extended_vacation_line,extended_vacation_line,model_extended_vacation_line,base.group_user,1,1,1,1 \ No newline at end of file +access_extended_vacation_line,extended_vacation_line,model_extended_vacation_line,base.group_user,1,1,1,1 +access_extended_type,extended_type,model_extended_type,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/yuthon_holiday/views/extended_vacation_approval_views.xml b/yuthon_holiday/views/extended_vacation_approval_views.xml index 7e01fc5e8..925ee8a99 100644 --- a/yuthon_holiday/views/extended_vacation_approval_views.xml +++ b/yuthon_holiday/views/extended_vacation_approval_views.xml @@ -44,7 +44,7 @@ - +