From 30c77faf3211f932aa743cb3f01da9e1a47716d4 Mon Sep 17 00:00:00 2001 From: pengyuthon Date: Wed, 29 May 2024 22:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E4=BA=8C=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tianhe_approvals/__init__.py | 4 +++ tianhe_approvals/__manifest__.py | 21 +++++++++++ .../data/approval_category_type_data.xml | 25 +++++++++++++ tianhe_approvals/models/__init__.py | 5 +++ .../models/inherit_approval_category.py | 36 +++++++++++++++++++ .../models/tianhe_purchase_work_approval.py | 15 ++++++++ tianhe_approvals/security/ir.model.access.csv | 2 ++ .../views/tianhe_purchase_work_approval.xml | 34 ++++++++++++++++++ .../models/demo_approval_request.py | 2 +- 9 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 tianhe_approvals/__init__.py create mode 100644 tianhe_approvals/__manifest__.py create mode 100644 tianhe_approvals/data/approval_category_type_data.xml create mode 100644 tianhe_approvals/models/__init__.py create mode 100644 tianhe_approvals/models/inherit_approval_category.py create mode 100644 tianhe_approvals/models/tianhe_purchase_work_approval.py create mode 100644 tianhe_approvals/security/ir.model.access.csv create mode 100644 tianhe_approvals/views/tianhe_purchase_work_approval.xml diff --git a/tianhe_approvals/__init__.py b/tianhe_approvals/__init__.py new file mode 100644 index 000000000..dc5e6b693 --- /dev/null +++ b/tianhe_approvals/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/tianhe_approvals/__manifest__.py b/tianhe_approvals/__manifest__.py new file mode 100644 index 000000000..be2058db2 --- /dev/null +++ b/tianhe_approvals/__manifest__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': 'Tianhe Approvals', + 'version': '1.0', + 'category': 'Human Resources/Approvals', + 'sequence': 190, + 'summary': 'Create and validate approvals requests', + 'description': """ + """, + 'depends': ['yuthon_approval'], + 'data': [ + 'security/ir.model.access.csv', + 'data/approval_category_type_data.xml', + 'views/tianhe_purchase_work_approval.xml', + + ], + 'application': True, + 'installable': True, + 'license': 'OEEL-1', +} diff --git a/tianhe_approvals/data/approval_category_type_data.xml b/tianhe_approvals/data/approval_category_type_data.xml new file mode 100644 index 000000000..012d6fb42 --- /dev/null +++ b/tianhe_approvals/data/approval_category_type_data.xml @@ -0,0 +1,25 @@ + + + + + + 采购办公用品 + purchase_work_approval + approval.request + + 1 + no + no + required + no + no + no + no + no + no + optional + 1 + approver + + + diff --git a/tianhe_approvals/models/__init__.py b/tianhe_approvals/models/__init__.py new file mode 100644 index 000000000..fb9c266be --- /dev/null +++ b/tianhe_approvals/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import tianhe_purchase_work_approval +from . import inherit_approval_category diff --git a/tianhe_approvals/models/inherit_approval_category.py b/tianhe_approvals/models/inherit_approval_category.py new file mode 100644 index 000000000..793c602bd --- /dev/null +++ b/tianhe_approvals/models/inherit_approval_category.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +from odoo import api, fields, models, tools, _ + + +class ApprovalCategory(models.Model): + _inherit = 'approval.category' + _description = 'tian he 审批框架拓展' + + def create_request(self): + self.ensure_one() + if not self.category_type_number: + return { + "type": "ir.actions.act_window", + "res_model": "approval.request", + "views": [[False, "form"]], + "context": { + 'default_name': _('New') if self.automated_sequence else self.name, + 'default_category_id': self.id, + 'default_request_owner_id': self.env.user.id, + 'default_request_status': 'new' + }, + } + else: + form_str = 'tianhe_approvals.approvals_category_type_code_%s' % self.category_type_number + approvals_form_id = self.env.ref(form_str).id or '' + return { + "type": "ir.actions.act_window", + "res_model": self.model_name, + "views": [[approvals_form_id, "form"]], + "context": { + 'default_name': _('New') if self.automated_sequence else self.name, + 'default_category_id': self.id, + 'default_request_owner_id': self.env.user.id, + 'default_request_status': 'new' + }, + } \ No newline at end of file diff --git a/tianhe_approvals/models/tianhe_purchase_work_approval.py b/tianhe_approvals/models/tianhe_purchase_work_approval.py new file mode 100644 index 000000000..fc9e4041a --- /dev/null +++ b/tianhe_approvals/models/tianhe_purchase_work_approval.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +from odoo import api, fields, models, tools, _ +from odoo.exceptions import ValidationError + + +class TianHePurchaseApproval(models.Model): + _inherit = "approval.request" + _description = '天河采购审批单' + + # approvals_department_id 部门 + # date_confirm 确认日期 + # purchase_work_notice = fields.Text(string="采购原由") + # 产品明细,设备名称,型号,单价,数量,小计,库存,备注 + + diff --git a/tianhe_approvals/security/ir.model.access.csv b/tianhe_approvals/security/ir.model.access.csv new file mode 100644 index 000000000..08145a00f --- /dev/null +++ b/tianhe_approvals/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink + diff --git a/tianhe_approvals/views/tianhe_purchase_work_approval.xml b/tianhe_approvals/views/tianhe_purchase_work_approval.xml new file mode 100644 index 000000000..bf621c65e --- /dev/null +++ b/tianhe_approvals/views/tianhe_purchase_work_approval.xml @@ -0,0 +1,34 @@ + + + + approvals.category.type.code.purchase.work.approval + approval.request + + + + + + + 采购原由 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yuthon_approval/models/demo_approval_request.py b/yuthon_approval/models/demo_approval_request.py index 991f74283..fc64de44b 100644 --- a/yuthon_approval/models/demo_approval_request.py +++ b/yuthon_approval/models/demo_approval_request.py @@ -5,7 +5,7 @@ from odoo.exceptions import ValidationError class DemoApprovalRequest(models.Model): _inherit = "approval.request" - _description = '默认审批 approval.request' + _description = '默认审批' demo1 = fields.Char(string="demo1") demo2 = fields.Char(string="demo2")