From 9cd7da6dcad967d33e90ce46f031057f6f0f7df8 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Thu, 14 Nov 2024 16:29:43 +0800
Subject: [PATCH 1/2] =?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
---
yuthon_hr_attendance/models/card_approval.py | 26 +++++++++--------
yuthon_hr_attendance/models/duty_approval.py | 26 +++++++++--------
yuthon_hr_attendance/models/go_approval.py | 26 +++++++++--------
.../models/overtime_approval.py | 26 +++++++++--------
.../models/remove_holiday_approval.py | 26 +++++++++--------
yuthon_hr_attendance/views/card_approval.xml | 2 +-
yuthon_hr_attendance/views/duty_approval.xml | 2 +-
yuthon_hr_attendance/views/go_approval.xml | 2 +-
.../views/overtime_approval.xml | 2 +-
.../views/remove_holiday_approval.xml | 2 +-
.../models/yuthon_account_approval.py | 1 -
.../models/yuthon_appointment_approval.py | 26 +++++++++--------
.../models/yuthon_interview_approval.py | 23 ++++++++-------
.../models/yuthon_leaving_approval.py | 25 +++++++++--------
.../models/yuthon_message_login.py | 27 ++++++++++--------
.../models/yuthon_onboard_approval.py | 27 ++++++++++--------
.../models/yuthon_prepare_approval.py | 26 +++++++++--------
.../models/yuthon_reassignment_approval.py | 26 +++++++++--------
.../models/yuthon_recruitment_approval.py | 27 ++++++++++--------
.../models/yuthon_regularization_approval.py | 26 +++++++++--------
.../models/yuthon_reward_approval.py | 26 +++++++++--------
.../models/yuthon_service_approval.py | 26 +++++++++--------
.../models/yuthon_transfer_approval.py | 28 +++++++++++--------
.../yuthon_appointment_approval_views.xml | 2 +-
.../views/yuthon_interview_approval_views.xml | 2 +-
.../views/yuthon_leaving_approval_views.xml | 2 +-
.../views/yuthon_message_login_views.xml | 2 +-
.../views/yuthon_onboard_approval_views.xml | 2 +-
.../views/yuthon_prepare_approval_views.xml | 2 +-
.../yuthon_reassignment_approval_views.xml | 2 +-
.../yuthon_recruitment_approval_views.xml | 2 +-
.../yuthon_regularization_approval_views.xml | 2 +-
.../views/yuthon_reward_approval_views.xml | 2 +-
.../views/yuthon_service_approval_views.xml | 2 +-
.../views/yuthon_transfer_approval_views.xml | 2 +-
35 files changed, 272 insertions(+), 206 deletions(-)
diff --git a/yuthon_hr_attendance/models/card_approval.py b/yuthon_hr_attendance/models/card_approval.py
index be1d5de23..542b7f979 100644
--- a/yuthon_hr_attendance/models/card_approval.py
+++ b/yuthon_hr_attendance/models/card_approval.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
+from odoo.exceptions import UserError
class CardApprovals(models.Model):
@@ -23,17 +24,20 @@ class CardApprovals(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
def card_approval(self):
pass
diff --git a/yuthon_hr_attendance/models/duty_approval.py b/yuthon_hr_attendance/models/duty_approval.py
index 7d6c1ac4a..79865fb67 100644
--- a/yuthon_hr_attendance/models/duty_approval.py
+++ b/yuthon_hr_attendance/models/duty_approval.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
+from odoo.exceptions import UserError
class DutyApprovals(models.Model):
@@ -29,17 +30,20 @@ class DutyApprovals(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class DutyApprovalsLine(models.Model):
_name = 'duty.approval.line'
diff --git a/yuthon_hr_attendance/models/go_approval.py b/yuthon_hr_attendance/models/go_approval.py
index 2a3b5bab2..9757871b5 100644
--- a/yuthon_hr_attendance/models/go_approval.py
+++ b/yuthon_hr_attendance/models/go_approval.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
+from odoo.exceptions import UserError
class GoApprovals(models.Model):
@@ -21,17 +22,20 @@ class GoApprovals(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class GoApprovalsLine(models.Model):
_name = 'go.approvals.line'
diff --git a/yuthon_hr_attendance/models/overtime_approval.py b/yuthon_hr_attendance/models/overtime_approval.py
index 6c85fb025..421aa2856 100644
--- a/yuthon_hr_attendance/models/overtime_approval.py
+++ b/yuthon_hr_attendance/models/overtime_approval.py
@@ -3,6 +3,7 @@ from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
from odoo.exceptions import UserError
+
class OvertimeApprovals(models.Model):
_name = 'overtime.approval'
_description = "加班审批"
@@ -23,17 +24,20 @@ class OvertimeApprovals(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
@api.onchange('overtime_department_id')
def onchange_overtime_users(self):
diff --git a/yuthon_hr_attendance/models/remove_holiday_approval.py b/yuthon_hr_attendance/models/remove_holiday_approval.py
index efbdfc2dd..7245eb6bd 100644
--- a/yuthon_hr_attendance/models/remove_holiday_approval.py
+++ b/yuthon_hr_attendance/models/remove_holiday_approval.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
+from odoo.exceptions import UserError
class RemoveHolidayApprovals(models.Model):
@@ -28,17 +29,20 @@ class RemoveHolidayApprovals(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
def remove_holiday_approval(self):
pass
\ No newline at end of file
diff --git a/yuthon_hr_attendance/views/card_approval.xml b/yuthon_hr_attendance/views/card_approval.xml
index bb1ab42d4..5b7861707 100644
--- a/yuthon_hr_attendance/views/card_approval.xml
+++ b/yuthon_hr_attendance/views/card_approval.xml
@@ -38,7 +38,7 @@
-
+
diff --git a/yuthon_hr_attendance/views/duty_approval.xml b/yuthon_hr_attendance/views/duty_approval.xml
index ec24835f2..1d00136ad 100644
--- a/yuthon_hr_attendance/views/duty_approval.xml
+++ b/yuthon_hr_attendance/views/duty_approval.xml
@@ -36,7 +36,7 @@
-
+
diff --git a/yuthon_hr_attendance/views/go_approval.xml b/yuthon_hr_attendance/views/go_approval.xml
index 7b0ed376c..d0d9468f8 100644
--- a/yuthon_hr_attendance/views/go_approval.xml
+++ b/yuthon_hr_attendance/views/go_approval.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/yuthon_hr_attendance/views/overtime_approval.xml b/yuthon_hr_attendance/views/overtime_approval.xml
index 2b9c3fdcc..ec6b4230e 100644
--- a/yuthon_hr_attendance/views/overtime_approval.xml
+++ b/yuthon_hr_attendance/views/overtime_approval.xml
@@ -39,7 +39,7 @@
-
+
diff --git a/yuthon_hr_attendance/views/remove_holiday_approval.xml b/yuthon_hr_attendance/views/remove_holiday_approval.xml
index 29005d0aa..a9b2c812c 100644
--- a/yuthon_hr_attendance/views/remove_holiday_approval.xml
+++ b/yuthon_hr_attendance/views/remove_holiday_approval.xml
@@ -34,7 +34,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/models/yuthon_account_approval.py b/yuthon_hr_employee_approval/models/yuthon_account_approval.py
index d8705dcd3..327b247ad 100644
--- a/yuthon_hr_employee_approval/models/yuthon_account_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_account_approval.py
@@ -6,6 +6,5 @@ class YuthonAccountApproval(models.Model):
_description = '薪资核算申请表'
_inherit = 'soong.workflow.mixin'
-
name = fields.Char(string='名称')
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_account_approval_code'))
diff --git a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py
index 3cb766d16..69b63113b 100644
--- a/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_appointment_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonAppointmentApproval(models.Model):
@@ -23,17 +24,20 @@ class YuthonAppointmentApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class YuthonAppointmentResultIsDetailed(models.Model):
diff --git a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
index 03eff5cf0..4f957ef17 100644
--- a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
@@ -60,16 +60,19 @@ class YuthonInterviewApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class InterviewApprovalLine(models.Model):
_name = 'interview.approval.line'
diff --git a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py
index d6f451423..7eeaeb28d 100644
--- a/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_leaving_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonLeavingApproval(models.Model):
@@ -36,17 +37,19 @@ class YuthonLeavingApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class HrJobType(models.Model):
_name = "hr.job.type"
diff --git a/yuthon_hr_employee_approval/models/yuthon_message_login.py b/yuthon_hr_employee_approval/models/yuthon_message_login.py
index d1cd80351..9a3c3cb33 100644
--- a/yuthon_hr_employee_approval/models/yuthon_message_login.py
+++ b/yuthon_hr_employee_approval/models/yuthon_message_login.py
@@ -1,4 +1,6 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
+
nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'), ('e', '苗族'), ('f', '维吾尔族'),
('g', '土家族'), ('h', '彝族'), ('i', '蒙古族'), ('j', '藏族'), ('k', '布依族'), ('l', '侗族'),
@@ -109,17 +111,20 @@ class YuthonMessageLogin(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
def pub_name_button(self):
code_url = self.get_base_url() + "/hr/employee/create?employee_id=" + str(self.id)
diff --git a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
index 836de3814..1cd48dbf5 100644
--- a/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_onboard_approval.py
@@ -1,4 +1,6 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
+
nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'), ('e', '苗族'), ('f', '维吾尔族'),
('g', '土家族'), ('h', '彝族'), ('i', '蒙古族'), ('j', '藏族'), ('k', '布依族'), ('l', '侗族'),
@@ -44,17 +46,20 @@ class YuthonOnboardApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
def put_contract(self):
form_id = self.env.ref('hr_contract.hr_contract_view_form').id
diff --git a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py
index 3f8060344..663b5776d 100644
--- a/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_prepare_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonPrepareApproval(models.Model):
@@ -58,17 +59,20 @@ class YuthonPrepareApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class PrepareApprovalLine(models.Model):
_name = 'prepare.approval.line'
diff --git a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py
index efdf2552e..af7e20b90 100644
--- a/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_reassignment_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonReassignmentApproval(models.Model):
@@ -48,17 +49,20 @@ class YuthonReassignmentApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class HrJobType(models.Model):
_name = "hr.job.type"
diff --git a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py
index e32e2465f..038f3cbe6 100644
--- a/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_recruitment_approval.py
@@ -1,6 +1,7 @@
from numpy.f2py.rules import defmod_rules
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonRecruitmentApproval(models.Model):
@@ -23,18 +24,20 @@ class YuthonRecruitmentApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- self.write({'is_issues': 'Ture'})
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
def put_time_failure(self):
for record in self:
diff --git a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py
index eea91a364..df3cc5755 100644
--- a/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_regularization_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonRegularizationPrepareApproval(models.Model):
@@ -47,17 +48,20 @@ class YuthonRegularizationPrepareApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class HrJobType(models.Model):
_name = "hr.job.type"
diff --git a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py
index 18a76b1a0..e6713834e 100644
--- a/yuthon_hr_employee_approval/models/yuthon_reward_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_reward_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonRewardApproval(models.Model):
@@ -22,14 +23,17 @@ class YuthonRewardApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
\ No newline at end of file
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
diff --git a/yuthon_hr_employee_approval/models/yuthon_service_approval.py b/yuthon_hr_employee_approval/models/yuthon_service_approval.py
index ed5ed8bed..3d312d2ac 100644
--- a/yuthon_hr_employee_approval/models/yuthon_service_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_service_approval.py
@@ -1,4 +1,5 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
class YuthonServiceApproval(models.Model):
@@ -21,14 +22,17 @@ class YuthonServiceApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
\ No newline at end of file
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
diff --git a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py
index c6326867c..ffeabfeff 100644
--- a/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_transfer_approval.py
@@ -1,4 +1,6 @@
from odoo import models, fields, api
+from odoo.exceptions import UserError
+
class YutransferApproval(models.Model):
_name = 'yuthon.transfer.approval'
@@ -31,18 +33,20 @@ class YutransferApproval(models.Model):
@api.onchange('is_issues')
def _onchange_is_issues(self):
- issue_id = self.env['issue.library'].create({'name': self.name})
- self.related_issues_id = issue_id.id
- workflow_record_id = self.env["soong.workflow.record"].search(
- [("res_model", "=", self._name), ("res_id", "=", self.id)])
- self.env['issue.library.approval.line'].create({
- 'issue_library_id': issue_id.id,
- 'workflow_record_id': workflow_record_id.id,
- 'approval_type': workflow_record_id.workflow_id.id,
- 'code': self.code,
- 'approval_date': fields.Datetime.now(),
- })
-
+ if self.is_issues:
+ issue_id = self.env['issue.library'].create({'name': self.name})
+ self.related_issues_id = issue_id.id
+ workflow_record_id = self.env["soong.workflow.record"].search(
+ [("res_model", "=", self._name), ("res_id", "=", self.id)])
+ self.env['issue.library.approval.line'].create({
+ 'issue_library_id': issue_id.id,
+ 'workflow_record_id': workflow_record_id.id,
+ 'approval_type': workflow_record_id.workflow_id.id,
+ 'code': self.code,
+ 'approval_date': fields.Datetime.now(),
+ })
+ elif self.related_issues_id:
+ raise UserError("已经创建了相关的上会记录,不能取消勾选")
class YuthonTransferDetailLines(models.Model):
_name = "yuthon.transfer.infor.detail.lines"
diff --git a/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml
index 819a4c922..d7bfc5622 100644
--- a/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_appointment_approval_views.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
index ed9af1cd9..2ee4fce44 100644
--- a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
@@ -32,7 +32,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml
index 71152e064..9953126a5 100644
--- a/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_leaving_approval_views.xml
@@ -66,7 +66,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml b/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml
index 122a81f48..ed7b0e9a1 100644
--- a/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_message_login_views.xml
@@ -33,7 +33,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
index 28cba0a3a..1c7878c14 100644
--- a/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_onboard_approval_views.xml
@@ -23,7 +23,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml
index deb40dcd0..5bf22d633 100644
--- a/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_prepare_approval_views.xml
@@ -26,7 +26,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml
index 26b81c532..7dc7cf3cd 100644
--- a/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_reassignment_approval_views.xml
@@ -72,7 +72,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml
index 3abf6f3c9..d7be3ca63 100644
--- a/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_recruitment_approval_views.xml
@@ -25,7 +25,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml
index b4be5d094..83cfac9b6 100644
--- a/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_regularization_approval_views.xml
@@ -61,7 +61,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml
index e0f0e5fb1..891b9e41a 100644
--- a/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_reward_approval_views.xml
@@ -31,7 +31,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml
index aca9fc003..e3c975c83 100644
--- a/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_service_approval_views.xml
@@ -29,7 +29,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml
index 4621be0ec..bd8399277 100644
--- a/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_transfer_approval_views.xml
@@ -50,7 +50,7 @@
-
+
From 377aa757bafc4e8704ef703b303e7e279e81b4e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
Date: Thu, 14 Nov 2024 16:33:35 +0800
Subject: [PATCH 2/2] pengyuthon wechat
---
preview_easy/__manifest__.py | 2 +-
preview_easy/views/preview.xml | 2 -
soong_workflow/models/soong_workflow_node.py | 7 ---
yuthon_issue/__manifest__.py | 1 +
.../static/scss/issue_library_scss.scss | 4 ++
yuthon_issue/views/issue_library_views.xml | 52 +++++++++++--------
6 files changed, 37 insertions(+), 31 deletions(-)
create mode 100644 yuthon_issue/static/scss/issue_library_scss.scss
diff --git a/preview_easy/__manifest__.py b/preview_easy/__manifest__.py
index 9ec4f3da5..b53c89b0f 100644
--- a/preview_easy/__manifest__.py
+++ b/preview_easy/__manifest__.py
@@ -11,7 +11,7 @@
'author': 'zxltwins',
'website': "www.odoo.com",
'version': '17.0',
- "depends": ["base",'sale'],
+ "depends": ["base", 'sale'],
"external_dependencies": {"python": ["mammoth"]},
"data": [
'security/ir.model.access.csv',
diff --git a/preview_easy/views/preview.xml b/preview_easy/views/preview.xml
index 817df3f15..24839367e 100644
--- a/preview_easy/views/preview.xml
+++ b/preview_easy/views/preview.xml
@@ -8,10 +8,8 @@
-
-
\ No newline at end of file
diff --git a/soong_workflow/models/soong_workflow_node.py b/soong_workflow/models/soong_workflow_node.py
index c3dbdb17a..7faeb0c8b 100644
--- a/soong_workflow/models/soong_workflow_node.py
+++ b/soong_workflow/models/soong_workflow_node.py
@@ -113,13 +113,6 @@ class SoongWorkflowNode(models.Model):
},)]
else:
val["button_ids"] = [
- (0, 0, {
- "name": _("上议题"),
- "workflow_id": val['workflow_id'],
- "sequence":-1,
- "action_type": "code",
- "code": "obj.action_meeting()"
- }),
(0, 0, {
"name": _("转交"),
"workflow_id": val['workflow_id'],
diff --git a/yuthon_issue/__manifest__.py b/yuthon_issue/__manifest__.py
index d5660394c..5cae4a24d 100644
--- a/yuthon_issue/__manifest__.py
+++ b/yuthon_issue/__manifest__.py
@@ -31,6 +31,7 @@
'assets': {
'web.assets_backend': [
'yuthon_issue/static/xml/issue_approval.xml',
+ 'yuthon_issue/static/scss/issue_library_scss.scss',
],
},
'installable': True,
diff --git a/yuthon_issue/static/scss/issue_library_scss.scss b/yuthon_issue/static/scss/issue_library_scss.scss
new file mode 100644
index 000000000..d214f7b33
--- /dev/null
+++ b/yuthon_issue/static/scss/issue_library_scss.scss
@@ -0,0 +1,4 @@
+.list_width{
+ width: 180px;
+ max-width: 180px;
+}
\ No newline at end of file
diff --git a/yuthon_issue/views/issue_library_views.xml b/yuthon_issue/views/issue_library_views.xml
index c5fb110d4..ffbb98e41 100644
--- a/yuthon_issue/views/issue_library_views.xml
+++ b/yuthon_issue/views/issue_library_views.xml
@@ -13,7 +13,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -130,6 +130,7 @@
decoration-muted="state == 'cancel'">
+
@@ -192,7 +193,7 @@
-
+
@@ -359,7 +360,7 @@
-
+
@@ -413,6 +414,7 @@
decoration-muted="state == 'cancel'">
+
@@ -472,7 +474,7 @@
-
+
@@ -621,7 +623,7 @@
-
+
@@ -675,6 +677,7 @@
decoration-muted="state == 'cancel'">
+
@@ -734,7 +737,7 @@
-
+
@@ -881,7 +884,7 @@
-
+
@@ -946,6 +949,7 @@
decoration-muted="state == 'cancel'">
+
@@ -1005,7 +1009,7 @@
-
+
@@ -1140,7 +1144,7 @@
-
+
@@ -1194,6 +1198,7 @@
decoration-muted="state == 'cancel'">
+
@@ -1253,7 +1258,7 @@
-
+
@@ -1399,7 +1404,7 @@
-
+
@@ -1453,6 +1458,7 @@
decoration-muted="state == 'cancel'">
+
@@ -1512,7 +1518,7 @@
-
+
@@ -1658,7 +1664,7 @@
-
+
@@ -1723,6 +1729,7 @@
decoration-muted="state == 'cancel'">
+
@@ -1782,7 +1789,7 @@
-
+
@@ -1917,7 +1924,7 @@
-
+
@@ -1982,6 +1989,7 @@
decoration-muted="state == 'cancel'">
+
@@ -2041,7 +2049,7 @@
-
+
@@ -2186,7 +2194,7 @@
-
+
@@ -2241,6 +2249,7 @@
decoration-muted="state == 'cancel'">
+
@@ -2300,7 +2309,7 @@
-
+
@@ -2464,7 +2473,7 @@
-
+
@@ -2520,6 +2529,7 @@
decoration-muted="state == 'cancel'">
+
@@ -2579,7 +2589,7 @@
-
+