From 099188849449cde94d4a9f84d0ee661621727367 Mon Sep 17 00:00:00 2001
From: mgw <1392924357@qq.com>
Date: Wed, 25 Dec 2024 11:02:00 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=90=88=E5=90=8C=E4=B8=8A?=
=?UTF-8?q?=E4=BC=A0=E5=9F=BA=E7=A1=80=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jikimo_purchase_tier_validation/__init__.py | 3 +-
.../__manifest__.py | 7 +-
.../data/documents_data.xml | 11 ++
.../models/models.py | 43 +++++++-
.../security/ir.model.access.csv | 2 +-
.../views/views.xml | 28 +++--
.../wizards/__init__.py | 1 +
.../wizards/upload_file_wizard.py | 103 ++++++++++++++++++
.../wizards/upload_file_wizard_view.xml | 21 ++++
9 files changed, 197 insertions(+), 22 deletions(-)
create mode 100644 jikimo_purchase_tier_validation/data/documents_data.xml
create mode 100644 jikimo_purchase_tier_validation/wizards/__init__.py
create mode 100644 jikimo_purchase_tier_validation/wizards/upload_file_wizard.py
create mode 100644 jikimo_purchase_tier_validation/wizards/upload_file_wizard_view.xml
diff --git a/jikimo_purchase_tier_validation/__init__.py b/jikimo_purchase_tier_validation/__init__.py
index 511a0ca3..40c32597 100644
--- a/jikimo_purchase_tier_validation/__init__.py
+++ b/jikimo_purchase_tier_validation/__init__.py
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from . import controllers
-from . import models
\ No newline at end of file
+from . import models
+from . import wizards
diff --git a/jikimo_purchase_tier_validation/__manifest__.py b/jikimo_purchase_tier_validation/__manifest__.py
index 99945b9e..2c59b177 100644
--- a/jikimo_purchase_tier_validation/__manifest__.py
+++ b/jikimo_purchase_tier_validation/__manifest__.py
@@ -20,13 +20,14 @@
'version': '0.1',
# any module necessary for this one to work correctly
- 'depends': ['purchase', 'base_tier_validation'],
+ 'depends': ['purchase', 'base_tier_validation', 'documents'],
# always loaded
'data': [
- # 'security/ir.model.access.csv',
+ 'security/ir.model.access.csv',
+ 'data/documents_data.xml',
+ 'wizards/upload_file_wizard_view.xml',
'views/views.xml',
- 'views/templates.xml',
],
# only loaded in demonstration mode
'demo': [
diff --git a/jikimo_purchase_tier_validation/data/documents_data.xml b/jikimo_purchase_tier_validation/data/documents_data.xml
new file mode 100644
index 00000000..990a6418
--- /dev/null
+++ b/jikimo_purchase_tier_validation/data/documents_data.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ 采购合同
+ 存放采购合同相关文件
+ 10
+
+
+
\ No newline at end of file
diff --git a/jikimo_purchase_tier_validation/models/models.py b/jikimo_purchase_tier_validation/models/models.py
index bb61cd5b..f69859c1 100644
--- a/jikimo_purchase_tier_validation/models/models.py
+++ b/jikimo_purchase_tier_validation/models/models.py
@@ -1,6 +1,7 @@
from odoo import models, fields, api, _
from odoo.exceptions import ValidationError
+
class jikimo_purchase_tier_validation(models.Model):
_name = 'purchase.order'
_inherit = ['purchase.order', 'tier.validation']
@@ -12,8 +13,46 @@ class jikimo_purchase_tier_validation(models.Model):
missing_fields.append('合同名称')
if not record.contract_number:
missing_fields.append('合同编号')
-
+
if missing_fields:
raise ValidationError(_('如下字段要求必须填写:%s') % '、'.join(missing_fields))
-
+
return super(jikimo_purchase_tier_validation, self).request_validation()
+
+ # 上传合同文件
+ def upload_contract_file(self):
+ print('upload_contract_file===========================')
+ # self.ensure_one()
+ # return {
+ # 'name': _('上传合同文件'),
+ # 'type': 'ir.actions.act_window',
+ # 'res_model': 'ir.attachment',
+ # 'view_mode': 'form',
+ # 'view_type': 'form',
+ # 'target': 'new',
+ # 'context': {
+ # 'default_res_model': self._name,
+ # 'default_res_id': self.id,
+ # 'default_type': 'binary',
+ # 'default_mimetype': 'application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/jpeg,image/png',
+ # }
+ # }
+
+ self.ensure_one()
+ action = {
+ 'type': 'ir.actions.act_window',
+ 'name': _('上传合同文件'),
+ 'res_model': 'ir.attachment.wizard', # 我们需要创建一个新的向导模型
+ 'view_mode': 'form',
+ 'target': 'new',
+ 'context': {
+ 'default_res_model': self._name,
+ 'default_res_id': self.id,
+ }
+ }
+ return action
+
+ # 删除合同文件
+ def delete_contract_file(self):
+ print('delete_contract_file============================')
+ pass
diff --git a/jikimo_purchase_tier_validation/security/ir.model.access.csv b/jikimo_purchase_tier_validation/security/ir.model.access.csv
index ccd753fc..09ba96bc 100644
--- a/jikimo_purchase_tier_validation/security/ir.model.access.csv
+++ b/jikimo_purchase_tier_validation/security/ir.model.access.csv
@@ -1,2 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_jikimo_purchase_tier_validation_jikimo_purchase_tier_validation,jikimo_purchase_tier_validation.jikimo_purchase_tier_validation,model_jikimo_purchase_tier_validation_jikimo_purchase_tier_validation,base.group_user,1,1,1,1
\ No newline at end of file
+access_ir_attachment_wizard,ir.attachment.wizard,model_ir_attachment_wizard,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/jikimo_purchase_tier_validation/views/views.xml b/jikimo_purchase_tier_validation/views/views.xml
index 5c87a811..0fee7710 100644
--- a/jikimo_purchase_tier_validation/views/views.xml
+++ b/jikimo_purchase_tier_validation/views/views.xml
@@ -1,19 +1,17 @@
+
-
-
-
+
+
+ tier_validation_view_purchase_order_form_inherit
+ purchase.order
+
+
+
+
+
+
+
+