From cc63c0ef4da9e5bbbb7b036e016fe541ba44b5a0 Mon Sep 17 00:00:00 2001
From: ljmwkx <1340053001@qq.com>
Date: Wed, 29 May 2024 21:11:21 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=20=E7=A1=AE=E8=AE=A4=20?=
=?UTF-8?q?=E6=8B=92=E7=BB=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yuthon_approval/__manifest__.py | 1 +
yuthon_approval/security/ir.model.access.csv | 3 ++
.../views/inherit_approval_request_views.xml | 9 +++++-
yuthon_approval/wizard/__init__.py | 6 ++--
.../wizard/approval_refuse_wizard.py | 19 +++++++++++
.../wizard/approval_refuse_wizard_views.xml | 32 +++++++++++++++++++
6 files changed, 67 insertions(+), 3 deletions(-)
create mode 100644 yuthon_approval/wizard/approval_refuse_wizard.py
create mode 100644 yuthon_approval/wizard/approval_refuse_wizard_views.xml
diff --git a/yuthon_approval/__manifest__.py b/yuthon_approval/__manifest__.py
index e4415eeb4..1f1834c0a 100644
--- a/yuthon_approval/__manifest__.py
+++ b/yuthon_approval/__manifest__.py
@@ -15,6 +15,7 @@
'security/ir.model.access.csv',
'data/approval_category_type_data.xml',
'wizard/approval_notice_wizard_views.xml',
+ 'wizard/approval_refuse_wizard_views.xml',
'views/inherit_approval_category_views.xml',
'views/inherit_approval_request_views.xml',
'views/approval_process_views.xml',
diff --git a/yuthon_approval/security/ir.model.access.csv b/yuthon_approval/security/ir.model.access.csv
index f84146a1d..6d1d82074 100644
--- a/yuthon_approval/security/ir.model.access.csv
+++ b/yuthon_approval/security/ir.model.access.csv
@@ -2,6 +2,9 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_approval_process,approval_process,model_approval_process,base.group_user,1,1,1,1
access_approval_users,approval_users,model_approval_users,base.group_user,1,1,1,1
access_approval_other_users,approval_other_users,model_approval_other_users,base.group_user,1,1,1,1
+
access_approval_notice_wizard,approval_notice_wizard,model_approval_notice_wizard,base.group_user,1,1,1,1
+access_approval_refuse_wizard,approval_refuse_wizard,model_approval_refuse_wizard,base.group_user,1,1,1,1
+
diff --git a/yuthon_approval/views/inherit_approval_request_views.xml b/yuthon_approval/views/inherit_approval_request_views.xml
index f23bf41ab..23b33c3ba 100644
--- a/yuthon_approval/views/inherit_approval_request_views.xml
+++ b/yuthon_approval/views/inherit_approval_request_views.xml
@@ -15,9 +15,16 @@
1
+
+
+ 1
-
+
+
+
+
+
diff --git a/yuthon_approval/wizard/__init__.py b/yuthon_approval/wizard/__init__.py
index d5fbee71c..9d9a82d6b 100644
--- a/yuthon_approval/wizard/__init__.py
+++ b/yuthon_approval/wizard/__init__.py
@@ -1,3 +1,5 @@
-from . import approval_notice_wizard
-
#
+
+from . import approval_notice_wizard
+from . import approval_refuse_wizard
+
diff --git a/yuthon_approval/wizard/approval_refuse_wizard.py b/yuthon_approval/wizard/approval_refuse_wizard.py
new file mode 100644
index 000000000..22a5360a9
--- /dev/null
+++ b/yuthon_approval/wizard/approval_refuse_wizard.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+from odoo import api, fields, models, tools, _
+
+
+class ApprovalRefuseWizard(models.TransientModel):
+ _name = 'approval.refuse.wizard'
+ _description = """ 审批意见弹窗 """
+
+ approval_user_line_id = fields.Many2one('approval.request', string="审批明细行")
+ approval_notice_text = fields.Text(string="审批意见")
+ approval_sign = fields.Char(string="审批签署")
+
+ def confirm(self):
+ self.ensure_one()
+ approver = self.sudo().approval_user_line_id.mapped('approver_ids').filtered(
+ lambda approver: approver.user_id == self.env.user
+ )
+ self.sudo().approval_user_line_id.action_refuse(approver=approver)
+ approver.write({'approval_notice': self.approval_notice_text})
diff --git a/yuthon_approval/wizard/approval_refuse_wizard_views.xml b/yuthon_approval/wizard/approval_refuse_wizard_views.xml
new file mode 100644
index 000000000..e45c0b3c4
--- /dev/null
+++ b/yuthon_approval/wizard/approval_refuse_wizard_views.xml
@@ -0,0 +1,32 @@
+
+
+ 审批意见弹窗
+ approval.refuse.wizard
+
+
+
+
+
+ 审批意见弹窗
+ ir.actions.act_window
+ approval.refuse.wizard
+ {
+ 'default_approval_user_line_id': active_id,
+ }
+ form
+ new
+
+
+
\ No newline at end of file