Merge lp:~vauxoo/openobject-server/customization_address_field-dev-julio-v7 into lp:openobject-server/7.0

Proposed by Julio Serna-http://www.vauxoo.com
Status: Needs review
Proposed branch: lp:~vauxoo/openobject-server/customization_address_field-dev-julio-v7
Merge into: lp:openobject-server/7.0
Diff against target: 62 lines (+16/-8)
1 file modified
openerp/addons/base/res/res_partner.py (+16/-8)
To merge this branch: bzr merge lp:~vauxoo/openobject-server/customization_address_field-dev-julio-v7
Reviewer Review Type Date Requested Status
Moisés López - http://www.vauxoo.com Pending
Review via email: mp+148511@code.launchpad.net

Description of the change

add function to customize field address by code that return function _display_address()

To post a comment you must log in.
4829. By Julio Serna-http://www.vauxoo.com

[IMP] replace variables of addresses by functions

Unmerged revisions

4829. By Julio Serna-http://www.vauxoo.com

[IMP] replace variables of addresses by functions

4828. By Julio Serna-http://www.vauxoo.com

[IMP] added function _get_address_field to get fields of address

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openerp/addons/base/res/res_partner.py'
2--- openerp/addons/base/res/res_partner.py 2013-01-14 17:43:55 +0000
3+++ openerp/addons/base/res/res_partner.py 2013-02-19 23:10:32 +0000
4@@ -159,9 +159,6 @@
5 res = lang_pool.read(cr, uid, ids, ['code', 'name'], context)
6 return [(r['code'], r['name']) for r in res]
7
8-POSTAL_ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id')
9-ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang')
10-
11 class res_partner(osv.osv, format_address):
12 _description = 'Partner'
13 _name = "res.partner"
14@@ -331,7 +328,7 @@
15
16 if use_parent_address and parent_id:
17 parent = self.browse(cr, uid, parent_id, context=context)
18- return {'value': dict((key, value_or_id(parent[key])) for key in ADDRESS_FIELDS)}
19+ return {'value': dict((key, value_or_id(parent[key])) for key in self._get_address_field())}
20 return {}
21
22 def onchange_state(self, cr, uid, ids, state_id, context=None):
23@@ -390,7 +387,7 @@
24 return super(res_partner,self).create(cr, uid, vals, context=context)
25
26 def update_address(self, cr, uid, ids, vals, context=None):
27- addr_vals = dict((key, vals[key]) for key in POSTAL_ADDRESS_FIELDS if vals.get(key))
28+ addr_vals = dict((key, vals[key]) for key in self._get_postal_address_field() if vals.get(key))
29 if addr_vals:
30 return super(res_partner, self).write(cr, uid, ids, addr_vals, context)
31
32@@ -539,7 +536,19 @@
33 model_data.search(cr, uid, [('module','=','base'),
34 ('name','=','main_partner')])[0],
35 ).res_id
36-
37+
38+ def _get_display_address_field(self):
39+ address_display_field = ['title', 'street', 'street2', 'zip', 'city']
40+ return address_display_field
41+
42+ def _get_postal_address_field(self):
43+ postal_address_fields = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id')
44+ return postal_address_fields
45+
46+ def _get_address_field(self):
47+ address_fields = self._get_postal_address_field() + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang')
48+ return address_fields
49+
50 def _display_address(self, cr, uid, address, without_company=False, context=None):
51
52 '''
53@@ -563,8 +572,7 @@
54 'country_name': address.country_id and address.country_id.name or '',
55 'company_name': address.parent_id and address.parent_id.name or '',
56 }
57- address_field = ['title', 'street', 'street2', 'zip', 'city']
58- for field in address_field :
59+ for field in self._get_display_address_field():
60 args[field] = getattr(address, field) or ''
61 if without_company:
62 args['company_name'] = ''