summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoisés López <moylop260@vauxoo.com>2017-04-04 10:04:04 -0500
committerMartin Trigaux <mat@odoo.com>2017-04-24 11:44:35 +0200
commitc132d4b33d206bac49c610e935b1d1a8293d262f (patch)
tree13a1ab5c6dbb65396d892bb9946fc61f40906d61
parente8013fb8871ed8ba77c302699ff8a02927cc480d (diff)
[IMP] base_address_extended: Add new partner fields to company model
This module adds some extra fields to the partner model, in order to be able to manage extended addresses. However, those extra fields were not present into the company model, thus making partner's addresses and company's addresses displaying somewhat inconsistent. This change takes those fields that were already present into the partner model, and adds corresponding fields into the company model and view, so addresses from both models are now shown the same way. Closes #16547
-rw-r--r--addons/base_address_extended/models/base_address_extended.py32
-rw-r--r--addons/base_address_extended/views/base_address_extended.xml19
2 files changed, 51 insertions, 0 deletions
diff --git a/addons/base_address_extended/models/base_address_extended.py b/addons/base_address_extended/models/base_address_extended.py
index 566f2cb40f9..0fcfceca399 100644
--- a/addons/base_address_extended/models/base_address_extended.py
+++ b/addons/base_address_extended/models/base_address_extended.py
@@ -137,3 +137,35 @@ class Partner(models.Model):
# /!\ Note that a write(vals) would cause a recursion since it would bypass the cache
for k, v in vals.items():
partner[k] = v
+
+
+class Company(models.Model):
+ _inherit = 'res.company'
+
+ street_name = fields.Char('Street Name', compute='_compute_address',
+ inverse='_inverse_street_name')
+ street_number = fields.Char('House Number', compute='_compute_address',
+ inverse='_inverse_street_number')
+ street_number2 = fields.Char('Door Number', compute='_compute_address',
+ inverse='_inverse_street_number2')
+
+ def _get_company_address_fields(self, partner):
+ address_fields = super(Company, self)._get_company_address_fields(partner)
+ address_fields.update({
+ 'street_name': partner.street_name,
+ 'street_number': partner.street_number,
+ 'street_number2': partner.street_number2,
+ })
+ return address_fields
+
+ def _inverse_street_name(self):
+ for company in self:
+ company.partner_id.street_name = company.street_name
+
+ def _inverse_street_number(self):
+ for company in self:
+ company.partner_id.street_number = company.street_number
+
+ def _inverse_street_number2(self):
+ for company in self:
+ company.partner_id.street_number2 = company.street_number2
diff --git a/addons/base_address_extended/views/base_address_extended.xml b/addons/base_address_extended/views/base_address_extended.xml
index dcd22b68f25..6fc3d098868 100644
--- a/addons/base_address_extended/views/base_address_extended.xml
+++ b/addons/base_address_extended/views/base_address_extended.xml
@@ -51,4 +51,23 @@
</field>
</record>
+ <record id="view_res_company_extended_form" model="ir.ui.view">
+ <field name="name">view_res_company_extended_form</field>
+ <field name="model">res.company</field>
+ <field name="inherit_id" ref="base.view_company_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='street']" position="replace">
+ <field name="street" invisible="1"/>
+ <field name="street_name" placeholder="Street Name..."/>
+ <div class="o_row">
+ <label for="street_number" class="oe_edit_only"/>
+ <span> </span>
+ <field name="street_number"/>
+ <label for="street_number2" class="oe_edit_only"/>
+ <field name="street_number2"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+
</odoo>