From 6da1004cf514289103af8fb8a51790aa4d3388c1 Mon Sep 17 00:00:00 2001 From: "Dhara (OpenERP)" <> Date: Thu, 22 Sep 2011 15:08:23 -0700 Subject: [PATCH] [NEW] new address_format field for country bzr revid: dhara_openerp-20110922220823-qaghdh4urgjdtea0 --- openerp/addons/base/base_data.xml | 10 ++++++++++ openerp/addons/base/res/res_country.py | 4 ++++ openerp/addons/base/res/res_country_view.xml | 3 +++ openerp/addons/base/res/res_partner.py | 20 ++++++++++++++++++++ 4 files changed, 37 insertions(+) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 00fb83a0796..0da83dbb1d2 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -85,6 +85,7 @@ Australia au + Aruba @@ -109,6 +110,7 @@ Belgium be + Burkina Faso @@ -145,6 +147,7 @@ Brazil br + Bahamas @@ -173,6 +176,7 @@ Canada ca + Cocos (Keeling) Islands @@ -254,6 +258,7 @@ Germany de + Djibouti @@ -298,6 +303,7 @@ Spain es + Ethiopia @@ -326,6 +332,7 @@ France fr + Gabon @@ -434,6 +441,7 @@ India in + British Indian Ocean Territory @@ -917,6 +925,7 @@ United Kingdom + gb @@ -926,6 +935,7 @@ United States us + Uruguay diff --git a/openerp/addons/base/res/res_country.py b/openerp/addons/base/res/res_country.py index 99e12a96f78..aa98c3995a0 100644 --- a/openerp/addons/base/res/res_country.py +++ b/openerp/addons/base/res/res_country.py @@ -31,6 +31,7 @@ class Country(osv.osv): 'code': fields.char('Country Code', size=2, help='The ISO country code in two chars.\n' 'You can use this field for quick search.', required=True), + 'address_format': fields.text('Address Format') } _sql_constraints = [ ('name_uniq', 'unique (name)', @@ -38,6 +39,9 @@ class Country(osv.osv): ('code_uniq', 'unique (code)', 'The code of the country must be unique !') ] + _defaults = { + 'address_format': "%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s", + } def name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100): diff --git a/openerp/addons/base/res/res_country_view.xml b/openerp/addons/base/res/res_country_view.xml index 36b3c6f875f..af2a72a5b40 100644 --- a/openerp/addons/base/res/res_country_view.xml +++ b/openerp/addons/base/res/res_country_view.xml @@ -26,6 +26,9 @@
+ + +
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 4b8f1279787..e4c0db75e8a 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -345,6 +345,26 @@ class res_partner_address(osv.osv): def get_city(self, cr, uid, id): return self.browse(cr, uid, id).city + def display_address(self, cr, uid, context, address_obj): #,field_list=[]): +# if isinstance(address_id, list): +# address_id = address_id[0] +# address_obj = self.browse(cr, uid, address_id) + + address_field = ['title','street','street2','zip','city'] + args = {} + for field in address_field : +# args[field] = field_list and field in field_list and getattr(address_obj,field) or getattr(address_obj,field) or '' + args[field] = getattr(address_obj,field) and getattr(address_obj,field) or '' + #TODO + args['state_code'] = address_obj.state_id and address_obj.state_id.code or '' + args['state_name'] = address_obj.state_id and address_obj.state_id.name or '' + args['country_code'] = address_obj.country_id and address_obj.country_id.code or '' + args['country_name'] = address_obj.country_id and address_obj.country_id.name or '' + # If no country is defined - just in case + address_format = address_obj.country_id and address_obj.country_id.address_format or \ + '%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s' + return address_format % args + res_partner_address() class res_partner_category(osv.osv):