[IMP]removed use_company_address method, added same feature in single method, to achive this added new parameter 'empty_fields' to empty all address field when use compny address is unchecked.

bzr revid: dka@tinyerp.com-20140417101219-gs68pfe64a7l97hc
This commit is contained in:
Darshan Kalola (OpenERP) 2014-04-17 15:42:19 +05:30
parent 6ef7aa5134
commit d75405572f
2 changed files with 7 additions and 17 deletions

View File

@ -366,24 +366,12 @@ class res_partner(osv.osv, format_address):
domain = {'title': [('domain', '=', 'contact')]}
return {'value': value, 'domain': domain}
def onchange_use_address(self, cr, uid, ids, use_parent_address, parent_id, context=None):
def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, empty_fields=False, context=None):
def value_or_id(val):
""" return val or val.id if val is a browse record """
return val if isinstance(val, (bool, int, long, float, basestring)) else val.id
result = {}
result = {'value': {}}
address_fields = self._address_fields(cr, uid, context=context)
if parent_id and use_parent_address:
parent_company = self.browse(cr, uid, parent_id, context=context)
result['value'] = dict((key, value_or_id(parent_company[key])) for key in address_fields)
else:
result['value'] = dict((key,"") for key in address_fields)
return result
def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None):
def value_or_id(val):
""" return val or val.id if val is a browse record """
return val if isinstance(val, (bool, int, long, float, basestring)) else val.id
result = {}
if parent_id:
if ids:
partner = self.browse(cr, uid, ids[0], context=context)
@ -394,11 +382,13 @@ class res_partner(osv.osv, format_address):
'company then a new contact should be created under that new '
'company. You can use the "Discard" button to abandon this change.')}
parent_company = self.browse(cr, uid, parent_id, context=context)
address_fields = self._address_fields(cr, uid, context=context)
if use_parent_address:
result['value'] = dict((key, value_or_id(parent_company[key])) for key in address_fields)
if empty_fields and not use_parent_address:
result['value'] = dict((key,"") for key in address_fields)
else:
result['value'] = {'use_parent_address': False}
if use_parent_address: result['value'] = dict((key,"") for key in address_fields)
result['value']['use_parent_address'] = False
return result
def onchange_state(self, cr, uid, ids, state_id, context=None):

View File

@ -157,7 +157,7 @@
<label for="street" string="Address"/>
<div>
<field name="use_parent_address" class="oe_edit_only oe_inline"
on_change="onchange_use_address(use_parent_address, parent_id)"
on_change="onchange_address(use_parent_address, parent_id, True)"
attrs="{'invisible': ['|', ('is_company', '=', True),('parent_id', '=', False)]}"/>
<label for="use_parent_address" class="oe_edit_only" attrs="{'invisible': ['|', ('is_company', '=', True), ('parent_id', '=', False)]}"/>
<button name="open_parent" type="object" string="(edit company address)" class="oe_link oe_edit_only"