[FIX] User Partner Company has to same as User Compnay not as usder company
authorJigar Amin <jam@tinyerp.com>
Thu, 11 Apr 2013 09:43:36 +0000 (15:13 +0530)
committerJigar Amin <jam@tinyerp.com>
Thu, 11 Apr 2013 09:43:36 +0000 (15:13 +0530)
bzr revid: jam@tinyerp.com-20130411094336-03i3475ydat8d5jj

openerp/addons/base/res/res_users.py

index ac6ba52..9ccfee2 100644 (file)
@@ -279,6 +279,14 @@ class res_users(osv.osv):
 
         return result
 
+    def create(self, cr, uid, vals, context=None):
+        user_id = super(res_users, self).create(cr, uid, vals, context=context)
+        #User->Partner Company has to be Same as User Company, instaed logged in users. 
+        user = self.read(cr, uid, user_id, ['partner_id', 'company_id'], context=context)
+        company_id = self._get_company( cr, uid, context=context, uid2=user['id'])
+        self.pool.get('res.partner').write(cr,uid, user['partner_id'][0], {'company_id':company_id})
+        return user_id
+
     def write(self, cr, uid, ids, values, context=None):
         if not hasattr(ids, '__iter__'):
             ids = [ids]
@@ -293,6 +301,12 @@ class res_users(osv.osv):
                 uid = 1 # safe fields only, so we write as super-user to bypass access rights
 
         res = super(res_users, self).write(cr, uid, ids, values, context=context)
+        #User->Partner Company has to be Same as User Company, instaed logged in users.
+        if 'company_id' in values:
+            partner_pool = self.pool.get('res.partner')
+            for user in self.read(cr, uid, ids, ['partner_id', 'company_id'], context=context):
+                company_id = self._get_company( cr, uid, context=context, uid2=user['id'])
+                partner_pool.write(cr,uid, user['partner_id'][0], {'company_id':company_id})
 
         # clear caches linked to the users
         self.pool.get('ir.model.access').call_cache_clearing_methods(cr)