diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index cc83d34..144d39a 100644 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -4,10 +4,10 @@ from odoo import _, api, fields, models from odoo.tools.misc import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT from ..utils import MODULE_NAME -from ..utils.misc import Extension +from ..utils.misc import Extension, IDocument -class PartnerContract(models.Model, Extension): +class PartnerContract(models.Model, IDocument, Extension): _name = "res.partner.contract" _description = "Contract" _inherit = ["mail.thread", "mail.activity.mixin", "mail.followers"] diff --git a/models/res_partner_contract_annex.py b/models/res_partner_contract_annex.py index 927e71b..a751955 100644 --- a/models/res_partner_contract_annex.py +++ b/models/res_partner_contract_annex.py @@ -3,10 +3,10 @@ import math from odoo import _, api, fields, models from ..utils import MODULE_NAME -from ..utils.misc import Extension +from ..utils.misc import Extension, IDocument -class ContractOrderAnnex(models.Model, Extension): +class ContractOrderAnnex(models.Model, IDocument, Extension): _name = "res.partner.contract.annex" _description = "Contract Annex" diff --git a/utils/misc.py b/utils/misc.py index 6df9bd5..d9c3c74 100644 --- a/utils/misc.py +++ b/utils/misc.py @@ -1,8 +1,20 @@ +import inspect import datetime as dt +from odoo import fields from odoo.tools.misc import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT +class IDocument(object): + """Class must be used as an interface for create new document based model""" + + def get_name_by_document_template(self, document_template_id: fields.Many2one): + raise NotImplementedError('Method {} is not implemented'.format(inspect.currentframe().f_code.co_name)) + + def get_filename_by_document_template(self, document_template_id: fields.Many2one): + raise NotImplementedError('Method {} is not implemented'.format(inspect.currentframe().f_code.co_name)) + + class Extension(object): def parse_odoo_date(self, date: str):