changeset 326cb5e231b5 in modules/party:default
details: https://hg.tryton.org/modules/party?cmd=changeset&node=326cb5e231b5
description:
        Use all street lines in record name of address

        issue10940
        review381391002
diffstat:

 CHANGELOG                      |   2 ++
 address.py                     |  17 +++++++++++++++--
 view/address_tree.xml          |   3 ++-
 view/address_tree_sequence.xml |   5 +++--
 4 files changed, 22 insertions(+), 5 deletions(-)

diffs (83 lines):

diff -r 0a4ace39f7eb -r 326cb5e231b5 CHANGELOG
--- a/CHANGELOG Mon Nov 01 17:03:39 2021 +0100
+++ b/CHANGELOG Wed Nov 24 01:11:14 2021 +0100
@@ -1,3 +1,5 @@
+* Use all street lines in record name of address
+
 Version 6.2.0 - 2021-11-01
 * Bug fixes (see mercurial logs for details)
 * Support replacing party on reference field
diff -r 0a4ace39f7eb -r 326cb5e231b5 address.py
--- a/address.py        Mon Nov 01 17:03:39 2021 +0100
+++ b/address.py        Wed Nov 24 01:11:14 2021 +0100
@@ -34,6 +34,10 @@
         help="If filled, replace the name of the party for address formatting")
     name = fields.Char("Building Name")
     street = fields.Text("Street")
+    street_single_line = fields.Function(
+        fields.Char("Street"),
+        'on_change_with_street_single_line',
+        searcher='search_street_single_line')
     postal_code = fields.Char("Postal Code")
     city = fields.Char("City")
     country = fields.Many2One('country.country', "Country")
@@ -86,6 +90,15 @@
                     [value]))
             table.drop_column('streetbis')
 
+    @fields.depends('street')
+    def on_change_with_street_single_line(self, name=None):
+        if self.street:
+            return " ".join(self.street.splitlines())
+
+    @classmethod
+    def search_street_single_line(cls, name, domain):
+        return [('street',) + tuple(domain[1:])]
+
     _autocomplete_limit = 100
 
     @fields.depends('country', 'subdivision')
@@ -178,8 +191,8 @@
 
     def get_rec_name(self, name):
         party = self.party_full_name
-        if self.street:
-            street = self.street.splitlines()[0]
+        if self.street_single_line:
+            street = self.street_single_line
         else:
             street = None
         if self.country:
diff -r 0a4ace39f7eb -r 326cb5e231b5 view/address_tree.xml
--- a/view/address_tree.xml     Mon Nov 01 17:03:39 2021 +0100
+++ b/view/address_tree.xml     Wed Nov 24 01:11:14 2021 +0100
@@ -2,9 +2,10 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <tree>
-    <field name="party" expand="2"/>
+    <field name="party" expand="1"/>
     <field name="party_name"/>
     <field name="name"/>
+    <field name="street_single_line" expand="2"/>
     <field name="postal_code"/>
     <field name="city"/>
     <field name="country"/>
diff -r 0a4ace39f7eb -r 326cb5e231b5 view/address_tree_sequence.xml
--- a/view/address_tree_sequence.xml    Mon Nov 01 17:03:39 2021 +0100
+++ b/view/address_tree_sequence.xml    Wed Nov 24 01:11:14 2021 +0100
@@ -2,11 +2,12 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <tree sequence="sequence">
-    <field name="party" expand="2"/>
+    <field name="party" expand="1"/>
     <field name="party_name"/>
     <field name="name"/>
+    <field name="street_single_line" expand="2"/>
     <field name="postal_code"/>
     <field name="city"/>
     <field name="country"/>
-    <field name="subdivision" expand="1"/>
+    <field name="subdivision"/>
 </tree>

Reply via email to