Files
test/jikimo_purchase_tier_validation/models/models.py
2024-12-25 11:02:00 +08:00

59 lines
2.1 KiB
Python

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']
def request_validation(self):
for record in self:
missing_fields = []
if not record.partner_ref:
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