[IMP] compute partner_id and company_id in annex model
This commit is contained in:
parent
f12ac74014
commit
405884ba9e
@ -151,8 +151,8 @@ action = ctx
|
|||||||
# Aliases
|
# Aliases
|
||||||
self = record
|
self = record
|
||||||
|
|
||||||
seller = self.contract_id.company_id
|
seller = self.company_id
|
||||||
partner = self.contract_id.partner_id
|
partner = self.partner_id
|
||||||
|
|
||||||
seller_bank = seller.bank_ids and seller.bank_ids[0]
|
seller_bank = seller.bank_ids and seller.bank_ids[0]
|
||||||
seller_bank_name = seller_bank.bank_id.name + (" г. {city}".format(city=seller_bank.bank_id.city) if seller_bank.bank_id.city else "")
|
seller_bank_name = seller_bank.bank_id.name + (" г. {city}".format(city=seller_bank.bank_id.city) if seller_bank.bank_id.city else "")
|
||||||
|
@ -17,7 +17,8 @@ class ContractOrderAnnex(models.Model, IDocument, Extension):
|
|||||||
contract_id = fields.Many2one(
|
contract_id = fields.Many2one(
|
||||||
"res.partner.contract", string="Contract", readonly=True,
|
"res.partner.contract", string="Contract", readonly=True,
|
||||||
)
|
)
|
||||||
partner_id = fields.Many2one(related="contract_id.partner_id")
|
company_id = fields.Many2one("res.partner", related="contract_id.company_id",)
|
||||||
|
partner_id = fields.Many2one("res.partner", related="contract_id.partner_id",)
|
||||||
order_id = fields.Many2one(
|
order_id = fields.Many2one(
|
||||||
"sale.order",
|
"sale.order",
|
||||||
string="Order",
|
string="Order",
|
||||||
|
@ -13,18 +13,12 @@ _logger = logging.getLogger(__name__)
|
|||||||
class ContractWizard(models.TransientModel):
|
class ContractWizard(models.TransientModel):
|
||||||
_name = "res.partner.contract.wizard"
|
_name = "res.partner.contract.wizard"
|
||||||
|
|
||||||
def _get_default_partner(self):
|
|
||||||
current_id = self.env.context.get("active_id")
|
|
||||||
partner_id = self.env[self.active_model].browse(current_id).partner_id
|
|
||||||
return partner_id
|
|
||||||
|
|
||||||
def _get_default_template(self):
|
def _get_default_template(self):
|
||||||
partner_id = self._get_default_partner()
|
|
||||||
template_type = {
|
template_type = {
|
||||||
"res.partner.contract": "contract",
|
"res.partner.contract": "contract",
|
||||||
"res.partner.contract.annex": "annex",
|
"res.partner.contract.annex": "annex",
|
||||||
}.get(self.active_model, False)
|
}.get(self.active_model, False)
|
||||||
company_type = partner_id.company_form if partner_id.is_company else "person"
|
company_type = self.partner_id.company_form if self.partner_id.is_company else "person"
|
||||||
|
|
||||||
document_template_domain = [
|
document_template_domain = [
|
||||||
("template_type", "=", template_type),
|
("template_type", "=", template_type),
|
||||||
@ -42,10 +36,8 @@ class ContractWizard(models.TransientModel):
|
|||||||
],
|
],
|
||||||
string="Target",
|
string="Target",
|
||||||
)
|
)
|
||||||
company_id = fields.Many2one("res.partner", string="Company")
|
company_id = fields.Many2one("res.partner", string="Company", compute="_compute_company_id",)
|
||||||
partner_id = fields.Many2one(
|
partner_id = fields.Many2one("res.partner", string="Partner", compute="_compute_partner_id",)
|
||||||
"res.partner", string="Partner", default=_get_default_partner
|
|
||||||
)
|
|
||||||
document_template = fields.Many2one(
|
document_template = fields.Many2one(
|
||||||
"res.partner.document.template",
|
"res.partner.document.template",
|
||||||
string="Document Template",
|
string="Document Template",
|
||||||
@ -68,6 +60,16 @@ class ContractWizard(models.TransientModel):
|
|||||||
if not self.document_template:
|
if not self.document_template:
|
||||||
raise ValidationError("You did not set up the template...")
|
raise ValidationError("You did not set up the template...")
|
||||||
|
|
||||||
|
@api.depends("company_id", "target")
|
||||||
|
def _compute_company_id(self):
|
||||||
|
if self.target:
|
||||||
|
self.company_id = self.target.company_id
|
||||||
|
|
||||||
|
@api.depends("partner_id", "target")
|
||||||
|
def _compute_partner_id(self):
|
||||||
|
if self.target:
|
||||||
|
self.partner_id = self.target.partner_id
|
||||||
|
|
||||||
@api.depends("document_name", "document_template", "target")
|
@api.depends("document_name", "document_template", "target")
|
||||||
def _compute_document_name(self):
|
def _compute_document_name(self):
|
||||||
self.document_name = self.target.get_name_by_document_template(
|
self.document_name = self.target.get_name_by_document_template(
|
||||||
@ -90,20 +92,6 @@ class ContractWizard(models.TransientModel):
|
|||||||
model=self.active_model, target_id=int(self.env.context.get("self_id"))
|
model=self.active_model, target_id=int(self.env.context.get("self_id"))
|
||||||
)
|
)
|
||||||
|
|
||||||
# Check for model and get this meta fields
|
|
||||||
company_id = (
|
|
||||||
self.target.company_id
|
|
||||||
if hasattr(self.target, "company_id")
|
|
||||||
else self.target.contract_id.company_id
|
|
||||||
)
|
|
||||||
partner_id = (
|
|
||||||
self.target.partner_id
|
|
||||||
if hasattr(self.target, "partner_id")
|
|
||||||
else self.target.contract_id.partner_id
|
|
||||||
)
|
|
||||||
self.company_id = company_id
|
|
||||||
self.partner_id = partner_id
|
|
||||||
|
|
||||||
model_to_action = {
|
model_to_action = {
|
||||||
"res.partner.contract": "action_get_contract_context",
|
"res.partner.contract": "action_get_contract_context",
|
||||||
"res.partner.contract.annex": "action_get_annex_context",
|
"res.partner.contract.annex": "action_get_annex_context",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user