mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[FIX] agreement_legal: remove account dependency
This commit is contained in:
committed by
Patrick Wilson
parent
1d3a0b7e53
commit
3f9ae292f5
@@ -12,7 +12,7 @@
|
|||||||
"category": "Partner",
|
"category": "Partner",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"version": "12.0.1.0.0",
|
"version": "12.0.1.0.0",
|
||||||
"depends": ["contacts", "agreement", "mail", "product"],
|
"depends": ["contacts", "agreement", "product"],
|
||||||
"data": [
|
"data": [
|
||||||
"data/ir_sequence.xml",
|
"data/ir_sequence.xml",
|
||||||
"data/module_category.xml",
|
"data/module_category.xml",
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class Agreement(models.Model):
|
|||||||
end_date = fields.Date(
|
end_date = fields.Date(
|
||||||
string="End Date",
|
string="End Date",
|
||||||
track_visibility="onchange",
|
track_visibility="onchange",
|
||||||
help="When the agreement ends."
|
help="When the agreement ends.",
|
||||||
)
|
)
|
||||||
color = fields.Integer()
|
color = fields.Integer()
|
||||||
active = fields.Boolean(
|
active = fields.Boolean(
|
||||||
@@ -121,24 +121,18 @@ class Agreement(models.Model):
|
|||||||
help="Date that the contract was terminated.",
|
help="Date that the contract was terminated.",
|
||||||
)
|
)
|
||||||
reviewed_date = fields.Date(
|
reviewed_date = fields.Date(
|
||||||
string="Reviewed Date",
|
string="Reviewed Date", track_visibility="onchange"
|
||||||
track_visibility="onchange")
|
)
|
||||||
reviewed_user_id = fields.Many2one(
|
reviewed_user_id = fields.Many2one(
|
||||||
"res.users",
|
"res.users", string="Reviewed By", track_visibility="onchange"
|
||||||
string="Reviewed By",
|
|
||||||
track_visibility="onchange"
|
|
||||||
)
|
)
|
||||||
approved_date = fields.Date(
|
approved_date = fields.Date(
|
||||||
string="Approved Date",
|
string="Approved Date", track_visibility="onchange"
|
||||||
track_visibility="onchange")
|
|
||||||
approved_user_id = fields.Many2one(
|
|
||||||
"res.users",
|
|
||||||
string="Approved By",
|
|
||||||
track_visibility="onchange"
|
|
||||||
)
|
)
|
||||||
currency_id = fields.Many2one(
|
approved_user_id = fields.Many2one(
|
||||||
"res.currency",
|
"res.users", string="Approved By", track_visibility="onchange"
|
||||||
string="Currency")
|
)
|
||||||
|
currency_id = fields.Many2one("res.currency", string="Currency")
|
||||||
partner_id = fields.Many2one(
|
partner_id = fields.Many2one(
|
||||||
"res.partner",
|
"res.partner",
|
||||||
string="Partner",
|
string="Partner",
|
||||||
@@ -158,12 +152,10 @@ class Agreement(models.Model):
|
|||||||
help="The primary partner contact (If Applicable).",
|
help="The primary partner contact (If Applicable).",
|
||||||
)
|
)
|
||||||
partner_contact_phone = fields.Char(
|
partner_contact_phone = fields.Char(
|
||||||
related="partner_contact_id.phone",
|
related="partner_contact_id.phone", string="Phone"
|
||||||
string="Phone"
|
|
||||||
)
|
)
|
||||||
partner_contact_email = fields.Char(
|
partner_contact_email = fields.Char(
|
||||||
related="partner_contact_id.email",
|
related="partner_contact_id.email", string="Email"
|
||||||
string="Email"
|
|
||||||
)
|
)
|
||||||
company_contact_id = fields.Many2one(
|
company_contact_id = fields.Many2one(
|
||||||
"res.partner",
|
"res.partner",
|
||||||
@@ -172,12 +164,10 @@ class Agreement(models.Model):
|
|||||||
help="The primary contact in the company.",
|
help="The primary contact in the company.",
|
||||||
)
|
)
|
||||||
company_contact_phone = fields.Char(
|
company_contact_phone = fields.Char(
|
||||||
related="company_contact_id.phone",
|
related="company_contact_id.phone", string="Phone"
|
||||||
string="Phone"
|
|
||||||
)
|
)
|
||||||
company_contact_email = fields.Char(
|
company_contact_email = fields.Char(
|
||||||
related="company_contact_id.email",
|
related="company_contact_id.email", string="Email"
|
||||||
string="Email"
|
|
||||||
)
|
)
|
||||||
agreement_type_id = fields.Many2one(
|
agreement_type_id = fields.Many2one(
|
||||||
"agreement.type",
|
"agreement.type",
|
||||||
@@ -193,13 +183,7 @@ class Agreement(models.Model):
|
|||||||
"agreement types.",
|
"agreement types.",
|
||||||
)
|
)
|
||||||
product_ids = fields.Many2many(
|
product_ids = fields.Many2many(
|
||||||
"product.template",
|
"product.template", string="Products & Services"
|
||||||
string="Products & Services")
|
|
||||||
payment_term_id = fields.Many2one(
|
|
||||||
"account.payment.term",
|
|
||||||
string="Payment Term",
|
|
||||||
track_visibility="onchange",
|
|
||||||
help="Terms of payments.",
|
|
||||||
)
|
)
|
||||||
assigned_user_id = fields.Many2one(
|
assigned_user_id = fields.Many2one(
|
||||||
"res.users",
|
"res.users",
|
||||||
@@ -234,28 +218,16 @@ class Agreement(models.Model):
|
|||||||
help="Describes what happens after the contract expires.",
|
help="Describes what happens after the contract expires.",
|
||||||
)
|
)
|
||||||
recital_ids = fields.One2many(
|
recital_ids = fields.One2many(
|
||||||
"agreement.recital",
|
"agreement.recital", "agreement_id", string="Recitals", copy=True
|
||||||
"agreement_id",
|
|
||||||
string="Recitals",
|
|
||||||
copy=True
|
|
||||||
)
|
)
|
||||||
sections_ids = fields.One2many(
|
sections_ids = fields.One2many(
|
||||||
"agreement.section",
|
"agreement.section", "agreement_id", string="Sections", copy=True
|
||||||
"agreement_id",
|
|
||||||
string="Sections",
|
|
||||||
copy=True
|
|
||||||
)
|
)
|
||||||
clauses_ids = fields.One2many(
|
clauses_ids = fields.One2many(
|
||||||
"agreement.clause",
|
"agreement.clause", "agreement_id", string="Clauses", copy=True
|
||||||
"agreement_id",
|
|
||||||
string="Clauses",
|
|
||||||
copy=True
|
|
||||||
)
|
)
|
||||||
appendix_ids = fields.One2many(
|
appendix_ids = fields.One2many(
|
||||||
"agreement.appendix",
|
"agreement.appendix", "agreement_id", string="Appendices", copy=True
|
||||||
"agreement_id",
|
|
||||||
string="Appendices",
|
|
||||||
copy=True
|
|
||||||
)
|
)
|
||||||
previous_version_agreements_ids = fields.One2many(
|
previous_version_agreements_ids = fields.One2many(
|
||||||
"agreement",
|
"agreement",
|
||||||
@@ -275,12 +247,10 @@ class Agreement(models.Model):
|
|||||||
"agreement.line",
|
"agreement.line",
|
||||||
"agreement_id",
|
"agreement_id",
|
||||||
string="Products/Services",
|
string="Products/Services",
|
||||||
copy=False
|
copy=False,
|
||||||
)
|
)
|
||||||
state = fields.Selection(
|
state = fields.Selection(
|
||||||
[("draft", "Draft"),
|
[("draft", "Draft"), ("active", "Active"), ("inactive", "Inactive")],
|
||||||
("active", "Active"),
|
|
||||||
("inactive", "Inactive")],
|
|
||||||
default="draft",
|
default="draft",
|
||||||
track_visibility="always",
|
track_visibility="always",
|
||||||
)
|
)
|
||||||
@@ -292,8 +262,8 @@ class Agreement(models.Model):
|
|||||||
)
|
)
|
||||||
signed_contract_filename = fields.Char(string="Filename")
|
signed_contract_filename = fields.Char(string="Filename")
|
||||||
signed_contract = fields.Binary(
|
signed_contract = fields.Binary(
|
||||||
string="Signed Document",
|
string="Signed Document", track_visibility="always"
|
||||||
track_visibility="always")
|
)
|
||||||
field_id = fields.Many2one(
|
field_id = fields.Many2one(
|
||||||
"ir.model.fields",
|
"ir.model.fields",
|
||||||
string="Field",
|
string="Field",
|
||||||
@@ -331,7 +301,8 @@ class Agreement(models.Model):
|
|||||||
for agreement in self:
|
for agreement in self:
|
||||||
lang = agreement.partner_id.lang or "en_US"
|
lang = agreement.partner_id.lang or "en_US"
|
||||||
description = MailTemplates.with_context(
|
description = MailTemplates.with_context(
|
||||||
lang=lang)._render_template(
|
lang=lang
|
||||||
|
)._render_template(
|
||||||
agreement.description, "agreement", agreement.id
|
agreement.description, "agreement", agreement.id
|
||||||
)
|
)
|
||||||
agreement.dynamic_description = description
|
agreement.dynamic_description = description
|
||||||
@@ -342,7 +313,8 @@ class Agreement(models.Model):
|
|||||||
for agreement in self:
|
for agreement in self:
|
||||||
lang = agreement.partner_id.lang or "en_US"
|
lang = agreement.partner_id.lang or "en_US"
|
||||||
special_terms = MailTemplates.with_context(
|
special_terms = MailTemplates.with_context(
|
||||||
lang=lang)._render_template(
|
lang=lang
|
||||||
|
)._render_template(
|
||||||
agreement.special_terms, "agreement", agreement.id
|
agreement.special_terms, "agreement", agreement.id
|
||||||
)
|
)
|
||||||
agreement.dynamic_special_terms = special_terms
|
agreement.dynamic_special_terms = special_terms
|
||||||
@@ -354,8 +326,7 @@ class Agreement(models.Model):
|
|||||||
self.sub_object_id = False
|
self.sub_object_id = False
|
||||||
if self.field_id and not self.field_id.relation:
|
if self.field_id and not self.field_id.relation:
|
||||||
self.copyvalue = "${{object.{} or {}}}".format(
|
self.copyvalue = "${{object.{} or {}}}".format(
|
||||||
self.field_id.name,
|
self.field_id.name, self.default_value or "''"
|
||||||
self.default_value or "''",
|
|
||||||
)
|
)
|
||||||
self.sub_model_object_field_id = False
|
self.sub_model_object_field_id = False
|
||||||
if self.field_id and self.field_id.relation:
|
if self.field_id and self.field_id.relation:
|
||||||
@@ -425,10 +396,9 @@ class Agreement(models.Model):
|
|||||||
@api.model
|
@api.model
|
||||||
def create(self, vals):
|
def create(self, vals):
|
||||||
if vals.get("reference", _("New")) == _("New"):
|
if vals.get("reference", _("New")) == _("New"):
|
||||||
vals["reference"] = self.env[
|
vals["reference"] = self.env["ir.sequence"].next_by_code(
|
||||||
"ir.sequence"].next_by_code("agreement") or _(
|
"agreement"
|
||||||
"New"
|
) or _("New")
|
||||||
)
|
|
||||||
return super(Agreement, self).create(vals)
|
return super(Agreement, self).create(vals)
|
||||||
|
|
||||||
# Increments the revision on each save action
|
# Increments the revision on each save action
|
||||||
|
|||||||
@@ -12,11 +12,9 @@ class AgreementRecital(models.Model):
|
|||||||
name = fields.Char(string="Name", required=True)
|
name = fields.Char(string="Name", required=True)
|
||||||
title = fields.Char(
|
title = fields.Char(
|
||||||
string="Title",
|
string="Title",
|
||||||
help="The title is displayed on the PDF." "The name is not."
|
help="The title is displayed on the PDF." "The name is not.",
|
||||||
)
|
)
|
||||||
sequence = fields.Integer(
|
sequence = fields.Integer(string="Sequence", default=10)
|
||||||
string="Sequence",
|
|
||||||
default=10)
|
|
||||||
content = fields.Html(string="Content")
|
content = fields.Html(string="Content")
|
||||||
dynamic_content = fields.Html(
|
dynamic_content = fields.Html(
|
||||||
compute="_compute_dynamic_content",
|
compute="_compute_dynamic_content",
|
||||||
@@ -24,9 +22,8 @@ class AgreementRecital(models.Model):
|
|||||||
help="compute dynamic Content",
|
help="compute dynamic Content",
|
||||||
)
|
)
|
||||||
agreement_id = fields.Many2one(
|
agreement_id = fields.Many2one(
|
||||||
"agreement",
|
"agreement", string="Agreement", ondelete="cascade"
|
||||||
string="Agreement",
|
)
|
||||||
ondelete="cascade")
|
|
||||||
active = fields.Boolean(
|
active = fields.Boolean(
|
||||||
string="Active",
|
string="Active",
|
||||||
default=True,
|
default=True,
|
||||||
@@ -65,24 +62,26 @@ class AgreementRecital(models.Model):
|
|||||||
template field.""",
|
template field.""",
|
||||||
)
|
)
|
||||||
|
|
||||||
@api.onchange('field_id', 'sub_model_object_field_id', 'default_value')
|
@api.onchange("field_id", "sub_model_object_field_id", "default_value")
|
||||||
def onchange_copyvalue(self):
|
def onchange_copyvalue(self):
|
||||||
self.sub_object_id = False
|
self.sub_object_id = False
|
||||||
self.copyvalue = False
|
self.copyvalue = False
|
||||||
self.sub_object_id = False
|
self.sub_object_id = False
|
||||||
if self.field_id and not self.field_id.relation:
|
if self.field_id and not self.field_id.relation:
|
||||||
self.copyvalue = "${object.%s or %s}" % \
|
self.copyvalue = "${{object.{} or {}}}".format(
|
||||||
(self.field_id.name,
|
self.field_id.name, self.default_value or "''"
|
||||||
self.default_value or '\'\'')
|
)
|
||||||
self.sub_model_object_field_id = False
|
self.sub_model_object_field_id = False
|
||||||
if self.field_id and self.field_id.relation:
|
if self.field_id and self.field_id.relation:
|
||||||
self.sub_object_id = self.env['ir.model'].search(
|
self.sub_object_id = self.env["ir.model"].search(
|
||||||
[('model', '=', self.field_id.relation)])[0]
|
[("model", "=", self.field_id.relation)]
|
||||||
|
)[0]
|
||||||
if self.sub_model_object_field_id:
|
if self.sub_model_object_field_id:
|
||||||
self.copyvalue = "${object.%s.%s or %s}" %\
|
self.copyvalue = "${{object.{}.{} or {}}}".format(
|
||||||
(self.field_id.name,
|
self.field_id.name,
|
||||||
self.sub_model_object_field_id.name,
|
self.sub_model_object_field_id.name,
|
||||||
self.default_value or '\'\'')
|
self.default_value or "''",
|
||||||
|
)
|
||||||
|
|
||||||
# compute the dynamic content for mako expression
|
# compute the dynamic content for mako expression
|
||||||
@api.multi
|
@api.multi
|
||||||
|
|||||||
@@ -12,17 +12,15 @@ class AgreementSection(models.Model):
|
|||||||
name = fields.Char(string="Name", required=True)
|
name = fields.Char(string="Name", required=True)
|
||||||
title = fields.Char(
|
title = fields.Char(
|
||||||
string="Title",
|
string="Title",
|
||||||
help="The title is displayed on the PDF." "The name is not."
|
help="The title is displayed on the PDF." "The name is not.",
|
||||||
)
|
)
|
||||||
sequence = fields.Integer(string="Sequence")
|
sequence = fields.Integer(string="Sequence")
|
||||||
agreement_id = fields.Many2one(
|
agreement_id = fields.Many2one(
|
||||||
"agreement",
|
"agreement", string="Agreement", ondelete="cascade"
|
||||||
string="Agreement",
|
)
|
||||||
ondelete="cascade")
|
|
||||||
clauses_ids = fields.One2many(
|
clauses_ids = fields.One2many(
|
||||||
"agreement.clause",
|
"agreement.clause", "section_id", string="Clauses"
|
||||||
"section_id",
|
)
|
||||||
string="Clauses")
|
|
||||||
content = fields.Html(string="Section Content")
|
content = fields.Html(string="Section Content")
|
||||||
dynamic_content = fields.Html(
|
dynamic_content = fields.Html(
|
||||||
compute="_compute_dynamic_content",
|
compute="_compute_dynamic_content",
|
||||||
@@ -67,24 +65,26 @@ class AgreementSection(models.Model):
|
|||||||
template field.""",
|
template field.""",
|
||||||
)
|
)
|
||||||
|
|
||||||
@api.onchange('field_id', 'sub_model_object_field_id', 'default_value')
|
@api.onchange("field_id", "sub_model_object_field_id", "default_value")
|
||||||
def onchange_copyvalue(self):
|
def onchange_copyvalue(self):
|
||||||
self.sub_object_id = False
|
self.sub_object_id = False
|
||||||
self.copyvalue = False
|
self.copyvalue = False
|
||||||
self.sub_object_id = False
|
self.sub_object_id = False
|
||||||
if self.field_id and not self.field_id.relation:
|
if self.field_id and not self.field_id.relation:
|
||||||
self.copyvalue = "${object.%s or %s}" % \
|
self.copyvalue = "${{object.{} or {}}}".format(
|
||||||
(self.field_id.name,
|
self.field_id.name, self.default_value or "''"
|
||||||
self.default_value or '\'\'')
|
)
|
||||||
self.sub_model_object_field_id = False
|
self.sub_model_object_field_id = False
|
||||||
if self.field_id and self.field_id.relation:
|
if self.field_id and self.field_id.relation:
|
||||||
self.sub_object_id = self.env['ir.model'].search(
|
self.sub_object_id = self.env["ir.model"].search(
|
||||||
[('model', '=', self.field_id.relation)])[0]
|
[("model", "=", self.field_id.relation)]
|
||||||
|
)[0]
|
||||||
if self.sub_model_object_field_id:
|
if self.sub_model_object_field_id:
|
||||||
self.copyvalue = "${object.%s.%s or %s}" %\
|
self.copyvalue = "${{object.{}.{} or {}}}".format(
|
||||||
(self.field_id.name,
|
self.field_id.name,
|
||||||
self.sub_model_object_field_id.name,
|
self.sub_model_object_field_id.name,
|
||||||
self.default_value or '\'\'')
|
self.default_value or "''",
|
||||||
|
)
|
||||||
|
|
||||||
# compute the dynamic content for mako expression
|
# compute the dynamic content for mako expression
|
||||||
@api.multi
|
@api.multi
|
||||||
|
|||||||
@@ -130,13 +130,6 @@
|
|||||||
<field name="termination_requested"/>
|
<field name="termination_requested"/>
|
||||||
<field name="termination_date"/>
|
<field name="termination_date"/>
|
||||||
</group>
|
</group>
|
||||||
<group name="paymentterm_right" string="Payment Terms">
|
|
||||||
<field name="term" attrs="{'invisible': [('partner_id', '=', False)]}"/>
|
|
||||||
<field name="payment_term_id" widget="selection"/>
|
|
||||||
<field name="renewal_type_id" widget="selection"/>
|
|
||||||
<field name="increase_type_id" widget="selection"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
<group string="Special Terms">
|
<group string="Special Terms">
|
||||||
<field name="special_terms"
|
<field name="special_terms"
|
||||||
nolabel="1"/>
|
nolabel="1"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user