From e426ee5564b7bf57d34b4569f6f63141e245b71f Mon Sep 17 00:00:00 2001 From: Stepan Savelyev Date: Wed, 15 Jan 2020 18:34:01 +0500 Subject: [PATCH] [FIX] cant delete a templates --- models/res_partner_contract.py | 2 +- wizard/res_partner_contract_wizard.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index 3b694c8..73f6dc2 100644 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -134,7 +134,7 @@ class DocumentTemplate(models.Model): name = fields.Char() attachment_id = fields.Many2one( - "ir.attachment", string="Template Attachment", required=True, + "ir.attachment", string="Template Attachment", ondelete="cascade", required=True, ) document_type = fields.Selection( string="Type of document", diff --git a/wizard/res_partner_contract_wizard.py b/wizard/res_partner_contract_wizard.py index 7dc43d1..302332e 100644 --- a/wizard/res_partner_contract_wizard.py +++ b/wizard/res_partner_contract_wizard.py @@ -3,6 +3,7 @@ import base64 import logging from odoo import _, api, fields, models +from odoo.exceptions import ValidationError from ..utils import MODULE_NAME from ..utils.docxtpl import get_document_from_values_stream @@ -27,7 +28,7 @@ class ContractWizard(models.TransientModel): company_id = fields.Many2one("res.partner", string="Company") partner_id = fields.Many2one("res.partner", string="Partner") document_template = fields.Many2one( - "res.partner.document.template", string="Document Template", required=True, + "res.partner.document.template", string="Document Template", ) transient_field_ids = fields.One2many( "res.partner.contract.field.transient", @@ -38,6 +39,11 @@ class ContractWizard(models.TransientModel): "res.partner.contract.field.transient", "_contract_wizard_id", ) + @api.constrains("document_template") + def _check_document_template(self): + if not self.document_template: + raise ValidationError("You did not set up the template...") + @api.onchange("document_template") def _onchange_document_template(self): """Creates transient fields for generate contract template