diff --git a/models/account_invoice.py b/models/account_invoice.py index 79eacab..dfdbc7e 100755 --- a/models/account_invoice.py +++ b/models/account_invoice.py @@ -27,6 +27,7 @@ class AccountInvoice(models.Model): view = self.env.ref( "{}.res_partner_wizard_print_document_view".format(MODULE_NAME) ) + annex = order.contract_annex_id return { "name": _("Print Form of Contract Annex"), "type": "ir.actions.act_window", @@ -35,8 +36,9 @@ class AccountInvoice(models.Model): "view_id": view.id, "target": "new", "context": { - "self_id": order.contract_annex_id.id, + "self_id": annex.id, "active_model": "res.partner.contract.annex", + "company_form": annex.partner_id.company_form if annex.partner_id.is_company else "person", "attachment_model": self._name, "attachment_res_id": self.id, }, diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index 91eb6d6..47d8bd5 100755 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -101,8 +101,11 @@ class PartnerContract(models.Model, IDocument, Extension): "view_mode": "form", "view_id": view.id, "target": "new", - "context": {"self_id": self.id}, - } + "context": { + "self_id": self.id, + "active_model": self._name, + "company_form": self.partner_id.company_form if self.partner_id.is_company else "person",}, + } def get_name_by_document_template(self, document_template_id): return self.name diff --git a/models/res_partner_contract_annex.py b/models/res_partner_contract_annex.py index a0e6d9e..8d5e165 100755 --- a/models/res_partner_contract_annex.py +++ b/models/res_partner_contract_annex.py @@ -113,7 +113,11 @@ class ContractOrderAnnex(models.Model, IDocument, Extension): "view_mode": "form", "view_id": view.id, "target": "new", - "context": {"self_id": self.id}, + "context": { + "self_id": self.id, + "active_model": self._name, + "company_form": self.partner_id.company_form if self.partner_id.is_company else "person", + }, } def get_name_by_document_template(self, document_template_id): diff --git a/wizard/res_partner_contract_wizard.py b/wizard/res_partner_contract_wizard.py index b5f8344..9f6a039 100755 --- a/wizard/res_partner_contract_wizard.py +++ b/wizard/res_partner_contract_wizard.py @@ -29,9 +29,7 @@ class ContractWizard(models.TransientModel, Extension): "res.partner.contract": "contract", "res.partner.contract.annex": "annex", }.get(self.active_model, False) - company_type = ( - self.partner_id.company_form if self.partner_id.is_company else "person" - ) + company_type = self.env.context.get("company_form", False) document_template_domain = [ ("template_type", "=", template_type), @@ -60,6 +58,7 @@ class ContractWizard(models.TransientModel, Extension): "res.partner.document.template", string="Document Template", default=_default_document_template, + domain=lambda self: self._get_template_domain(), readonly=False, ) transient_field_ids = fields.One2many(