59 lines
2.1 KiB
Python
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
|