Dharti Ratani(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/trunk-i18-address-format-dhr into 
lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-i18-address-format-dhr/+merge/118696

Hello,

    Adding fields_view_get in res_partner form to change the address format 
based on user's company's country's address format.

Thanks
dhr
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-i18-address-format-dhr/+merge/118696
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-i18-address-format-dhr.
=== modified file 'openerp/addons/base/res/res_partner.py'
--- openerp/addons/base/res/res_partner.py	2012-08-07 14:42:53 +0000
+++ openerp/addons/base/res/res_partner.py	2012-08-08 09:26:33 +0000
@@ -491,6 +491,39 @@
         if without_company:
             args['company_name'] = ''
         return address_format % args
+        
+    def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
+        res = super(res_partner,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
+        
+        if view_type == 'form':
+            country_id = self.pool.get('res.users').browse(cr, uid, uid,context).company_id.country_id
+            if country_id and country_id.address_format:
+                address_format = country_id.address_format
+            else:
+                address_format = '%(company_name)s%(street)s%(street2)s%(city)s,%(state_code)s %(zip)s%(country_name)s'
+            address_format = address_format.replace(',','')
+            fields = {
+                'zip': {'change_default': True, 'string': 'Zip', 'views': {}, 'selectable': True, 'type': 'char', 'size': 24},
+                'city': {'selectable': True, 'views': {}, 'type': 'char', 'string': 'City', 'size': 128},
+                'street': {'selectable': True, 'views': {}, 'type': 'char', 'string': 'Street', 'size': 128},
+                'street2': {'selectable': True, 'views': {}, 'type': 'char', 'string': 'Street2', 'size': 128},
+                'country_id': {'domain': [], 'string': 'Country', 'views': {}, 'relation': 'res.country', 'context': {}, 'selectable': True, 'type': 'many2one'},
+                'state_id': {'domain': [], 'string': 'State', 'views': {}, 'relation': 'res.country.state', 'context': {}, 'selectable': True, 'type': 'many2one'}  
+            }
+            args = {
+                'street': '<field name="street"/>',
+                'street2': '<field name="street2"/>',
+                'city': '<field name="city"/>',
+                'state_code': '<field name="state_id"/>',
+                'zip': '<field name="zip"/>',
+                'country_name': '<field name="country_id"/>',
+                'company_name': '',
+            }
+            old = '<div class="address_format"/>'
+            new = '<div class="address_format">' + address_format % args + '</div>'
+            res['arch'] = res['arch'].replace(old,new)
+            res['fields'].update(fields)
+        return res
 
 
 

=== modified file 'openerp/addons/base/res/res_partner_view.xml'
--- openerp/addons/base/res/res_partner_view.xml	2012-08-07 17:31:58 +0000
+++ openerp/addons/base/res/res_partner_view.xml	2012-08-08 09:26:33 +0000
@@ -129,16 +129,7 @@
                             </div>
 
                             <label for="street" string="Address"/>
-                            <div>
-                                <field name="street" placeholder="Street..."/>
-                                <field name="street2"/>
-                                <div class="address_format">
-                                    <field name="city" placeholder="City" style="width: 40%%"/>
-                                    <field name="state_id" options='{"no_open": true}' placeholder="State" style="width: 24%%"/>
-                                    <field name="zip" placeholder="ZIP" style="width: 34%%"/>
-                                </div>
-                                <field name="country_id" placeholder="Country" options='{"no_open": true}'/>
-                            </div>
+                            <div class="address_format"/>
                             <field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
                         </group>
                         <group>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to