[IMP]removed use_company_address method, added same feature in single method, to...
authorDarshan Kalola (OpenERP) <dka@tinyerp.com>
Thu, 17 Apr 2014 10:12:19 +0000 (15:42 +0530)
committerDarshan Kalola (OpenERP) <dka@tinyerp.com>
Thu, 17 Apr 2014 10:12:19 +0000 (15:42 +0530)
bzr revid: dka@tinyerp.com-20140417101219-gs68pfe64a7l97hc

openerp/addons/base/res/res_partner.py
openerp/addons/base/res/res_partner_view.xml

index 0a5758c..33ebe8a 100644 (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):
index 82a9aa0..f22939b 100644 (file)
                             <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"