some debug and clearance
This commit is contained in:
parent
299fd4116f
commit
3cd78e91fc
@ -14,7 +14,7 @@
|
|||||||
self = record # res.partner.contract
|
self = record # res.partner.contract
|
||||||
|
|
||||||
partner = self.partner_id # res.partner
|
partner = self.partner_id # res.partner
|
||||||
seller = self.company_id
|
seller = self.company_id.partner_id
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
_ = self._
|
_ = self._
|
||||||
@ -164,7 +164,7 @@ action = ctx
|
|||||||
# Aliases
|
# Aliases
|
||||||
self = record # res.partner.contract.annex
|
self = record # res.partner.contract.annex
|
||||||
|
|
||||||
seller = self.company_id
|
seller = self.company_id.partner_id
|
||||||
partner = self.partner_id
|
partner = self.partner_id
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
|
@ -48,9 +48,9 @@ class PartnerContract(models.Model): # , IDocument, Extension):
|
|||||||
required=True,
|
required=True,
|
||||||
)
|
)
|
||||||
company_id = fields.Many2one(
|
company_id = fields.Many2one(
|
||||||
"res.partner",
|
"res.company",
|
||||||
string="Company",
|
string="Company",
|
||||||
default=lambda self: self.env.company.partner_id,
|
default=lambda self: self.env.company,
|
||||||
)
|
)
|
||||||
create_date_ts = fields.Char(default=_get_default_create_date_ts)
|
create_date_ts = fields.Char(default=_get_default_create_date_ts)
|
||||||
res_model = fields.Char(default=lambda self: self._name)
|
res_model = fields.Char(default=lambda self: self._name)
|
||||||
|
@ -30,17 +30,17 @@ class ContractOrderAnnex(models.Model): # , IDocument, Extension):
|
|||||||
readonly=True,
|
readonly=True,
|
||||||
)
|
)
|
||||||
company_id = fields.Many2one(
|
company_id = fields.Many2one(
|
||||||
"res.partner",
|
comodel_name="res.company",
|
||||||
related="contract_id.company_id",
|
related="contract_id.company_id",
|
||||||
)
|
)
|
||||||
partner_id = fields.Many2one(
|
partner_id = fields.Many2one(
|
||||||
"res.partner",
|
comodel_name="res.partner",
|
||||||
related="contract_id.partner_id",
|
related="contract_id.partner_id",
|
||||||
)
|
)
|
||||||
order_id = fields.Many2one(
|
order_id = fields.Many2one(
|
||||||
"sale.order",
|
comodel_name="sale.order",
|
||||||
string="Order",
|
string="Sale order",
|
||||||
help="This partner's orders which are not used in annexes yet",
|
help="Sale order for this annex.",
|
||||||
required=True,
|
required=True,
|
||||||
)
|
)
|
||||||
date_conclusion = fields.Date(
|
date_conclusion = fields.Date(
|
||||||
|
@ -12,25 +12,39 @@ class SaleOrder(models.Model):
|
|||||||
default=45,
|
default=45,
|
||||||
)
|
)
|
||||||
contract_annex_id = fields.Many2one(
|
contract_annex_id = fields.Many2one(
|
||||||
"res.partner.contract.annex",
|
comodel_name="res.partner.contract.annex",
|
||||||
string="Contract Annex",
|
string="Contract Annex",
|
||||||
readonly=True,
|
compute="get_contract_annex_id",
|
||||||
)
|
)
|
||||||
|
contract_annex_ids = fields.One2many(
|
||||||
|
comodel_name="res.partner.contract.annex",
|
||||||
|
inverse_name="order_id",
|
||||||
|
string="Annex for this Sale order",
|
||||||
|
help="Technical field for binding with contract annex\n"
|
||||||
|
"In form this link showed in 'contract_annex_id' field.",
|
||||||
|
)
|
||||||
|
|
||||||
# Extend default field for showing payment terms created by this module only.
|
# Extend default field for showing payment terms created by this module only.
|
||||||
payment_term_id = fields.Many2one(
|
payment_term_id = fields.Many2one(
|
||||||
"account.payment.term",
|
comodel_name="account.payment.term",
|
||||||
domain=lambda self: [("id", "in", self._get_payment_terms())],
|
domain=lambda self: [("id", "in", self._get_payment_terms())],
|
||||||
)
|
)
|
||||||
|
|
||||||
def _get_payment_terms(self):
|
def _get_payment_terms(self):
|
||||||
ref = self.env.ref
|
terms = [
|
||||||
terms = (
|
self.env.ref("{}.{}".format(MODULE_NAME, external_id)).id
|
||||||
ref("{}.{}".format(MODULE_NAME, external_id)).id
|
|
||||||
for external_id in (
|
for external_id in (
|
||||||
"payment_term_prepaid",
|
"payment_term_prepaid",
|
||||||
"payment_term_postpayment",
|
"payment_term_postpayment",
|
||||||
"payment_term_partial_2",
|
"payment_term_partial_2",
|
||||||
"payment_term_partial_3",
|
"payment_term_partial_3",
|
||||||
)
|
)
|
||||||
)
|
]
|
||||||
return list(terms)
|
return terms
|
||||||
|
|
||||||
|
@api.onchange("contract_annex_ids")
|
||||||
|
def get_contract_annex_id(self):
|
||||||
|
if self.contract_annex_ids:
|
||||||
|
self.contract_annex_id = self.contract_annex_ids[0].id
|
||||||
|
else:
|
||||||
|
self.contract_annex_id = False
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<xpath expr="//field[@name='payment_term_id']" position="after">
|
<xpath expr="//field[@name='payment_term_id']" position="after">
|
||||||
<field name="delivery_time"/>
|
<field name="delivery_time"/>
|
||||||
<field name="contract_annex_id"/>
|
<field name="contract_annex_id" readonly="1"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|
||||||
</field>
|
</field>
|
||||||
|
@ -10,7 +10,7 @@ from ..utils.docxtpl import get_document_from_values_stream
|
|||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class ContractWizard(models.TransientModel): # , Extension):
|
class ContractWizard(models.TransientModel):
|
||||||
_name = "res.partner.contract.wizard"
|
_name = "res.partner.contract.wizard"
|
||||||
_inherit = ["client_contracts.utils"]
|
_inherit = ["client_contracts.utils"]
|
||||||
|
|
||||||
@ -31,7 +31,6 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
"res.partner.contract.annex": "annex",
|
"res.partner.contract.annex": "annex",
|
||||||
}.get(self.active_model, False)
|
}.get(self.active_model, False)
|
||||||
company_type = self.env.context.get("company_form", False)
|
company_type = self.env.context.get("company_form", False)
|
||||||
|
|
||||||
document_template_domain = [
|
document_template_domain = [
|
||||||
("template_type", "=", template_type),
|
("template_type", "=", template_type),
|
||||||
("company_type", "=", company_type),
|
("company_type", "=", company_type),
|
||||||
@ -45,14 +44,15 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
],
|
],
|
||||||
string="Target",
|
string="Target",
|
||||||
default=_default_target,
|
default=_default_target,
|
||||||
|
help="Record of contract or annex entity, from where wizard has been called",
|
||||||
)
|
)
|
||||||
company_id = fields.Many2one(
|
company_id = fields.Many2one(
|
||||||
"res.partner",
|
comodel_name="res.partner",
|
||||||
string="Company",
|
string="Company",
|
||||||
compute="_compute_company_id",
|
compute="_compute_company_id",
|
||||||
)
|
)
|
||||||
partner_id = fields.Many2one(
|
partner_id = fields.Many2one(
|
||||||
"res.partner",
|
comodel_name="res.partner",
|
||||||
string="Partner",
|
string="Partner",
|
||||||
compute="_compute_partner_id",
|
compute="_compute_partner_id",
|
||||||
)
|
)
|
||||||
@ -60,7 +60,7 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
string="Document Name", compute="_compute_document_name"
|
string="Document Name", compute="_compute_document_name"
|
||||||
)
|
)
|
||||||
document_template = fields.Many2one(
|
document_template = fields.Many2one(
|
||||||
"res.partner.document.template",
|
comodel_name="res.partner.document.template",
|
||||||
string="Document Template",
|
string="Document Template",
|
||||||
default=_default_document_template,
|
default=_default_document_template,
|
||||||
domain=lambda self: self._get_template_domain(),
|
domain=lambda self: self._get_template_domain(),
|
||||||
@ -78,8 +78,10 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
|
|
||||||
@api.depends("target")
|
@api.depends("target")
|
||||||
def _compute_company_id(self):
|
def _compute_company_id(self):
|
||||||
if self.target:
|
if self.target and self.target.company_id:
|
||||||
self.company_id = self.target.company_id
|
self.company_id = self.target.company_id.id
|
||||||
|
else:
|
||||||
|
self.company_id = self.env.company.id
|
||||||
|
|
||||||
@api.depends("target")
|
@api.depends("target")
|
||||||
def _compute_partner_id(self):
|
def _compute_partner_id(self):
|
||||||
@ -176,37 +178,7 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
"""
|
|
||||||
self.transient_field_ids = [ # one2many
|
|
||||||
(
|
|
||||||
4,
|
|
||||||
self.env["res.partner.contract.field.transient"]
|
|
||||||
.create(
|
|
||||||
{
|
|
||||||
"contract_field_id": get_contract_field(field).id,
|
|
||||||
"value": value,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.id,
|
|
||||||
0,
|
|
||||||
)
|
|
||||||
for field, value in sorted(
|
|
||||||
contract_context_values.items(),
|
|
||||||
key=lambda tpl: self.env.ref(
|
|
||||||
"{}.contract_field_{}".format(MODULE_NAME, tpl[0])
|
|
||||||
).sequence,
|
|
||||||
)
|
|
||||||
]
|
|
||||||
self.transient_field_ids_hidden = (
|
|
||||||
self.transient_field_ids - self.transient_field_ids.filtered("visible")
|
|
||||||
)
|
|
||||||
self.transient_field_ids = (
|
|
||||||
self.transient_field_ids - self.transient_field_ids_hidden
|
|
||||||
)
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
|
|
||||||
def get_docx_contract(self):
|
def get_docx_contract(self):
|
||||||
template = self.document_template.attachment_id
|
template = self.document_template.attachment_id
|
||||||
template_path = template._full_path(template.store_fname)
|
template_path = template._full_path(template.store_fname)
|
||||||
@ -297,11 +269,14 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
"attachment_ids": [(4, result.id, False)],
|
"attachment_ids": [(4, result.id, False)],
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def middleware_fields(self, kv):
|
@staticmethod
|
||||||
|
def middleware_fields(kv):
|
||||||
|
"""
|
||||||
|
Removes items without values from dictionary.
|
||||||
|
:kv: dict.
|
||||||
|
"""
|
||||||
# Debug False values
|
# Debug False values
|
||||||
empty = []
|
empty = []
|
||||||
for k, v in list(kv.items()):
|
for k, v in list(kv.items()):
|
||||||
@ -309,7 +284,6 @@ class ContractWizard(models.TransientModel): # , Extension):
|
|||||||
empty.append(k)
|
empty.append(k)
|
||||||
kv.pop(k)
|
kv.pop(k)
|
||||||
_logger.debug("Empty fields: {}".format(empty))
|
_logger.debug("Empty fields: {}".format(empty))
|
||||||
|
|
||||||
return kv
|
return kv
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -10,12 +10,11 @@
|
|||||||
|
|
||||||
<group string="Template">
|
<group string="Template">
|
||||||
<field name="document_template"></field>
|
<field name="document_template"></field>
|
||||||
<field name="target"/>
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<group invisible="1">
|
<group invisible="1">
|
||||||
<!-- Need for generate a document -->
|
<!-- Need for generate a document -->
|
||||||
|
<field name="target"/>
|
||||||
<field name="partner_id"/>
|
<field name="partner_id"/>
|
||||||
<field name="company_id"/>
|
<field name="company_id"/>
|
||||||
</group>
|
</group>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user