tfr (Openerp) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-fix-925572-tfr into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #925572 in OpenERP Addons: "Problem with project_planning:  function is 
mixing up resources/dept members/employees/user ids"
  https://bugs.launchpad.net/openobject-addons/+bug/925572

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fix-925572-tfr/+merge/91627

fix bug 925572. Mistake in planning : employee ids were used to look up in user 
table
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-fix-925572-tfr/+merge/91627
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-fix-925572-tfr.
=== modified file 'project_planning/project_planning.py'
--- project_planning/project_planning.py	2011-12-09 06:03:08 +0000
+++ project_planning/project_planning.py	2012-02-06 10:27:20 +0000
@@ -48,6 +48,12 @@
 class report_account_analytic_planning(osv.osv):
     _name = "report_account_analytic.planning"
     _description = "Planning"
+    
+    def emp_to_users(self, cr, uid, ids, context=None):
+        employees = self.pool.get('hr.employee').browse(cr, uid, ids, context=context)
+        user_ids = [e.user_id.id for e in employees if e.user_id]
+        return user_ids
+        
 
     def _child_compute(self, cr, uid, ids, name, args, context=None):
         obj_dept = self.pool.get('hr.department')
@@ -64,8 +70,9 @@
             ids_dept = obj_dept.search(cr, uid, [('id', 'child_of', mgnt_dept_ids)], context=context)
             if ids_dept:
                 data_dept = obj_dept.read(cr, uid, ids_dept, ['member_ids'], context=context)
-                children = map(lambda x: x['member_ids'], data_dept)
-                children = tools.flatten(children)
+                emp_children = map(lambda x: x['member_ids'], data_dept)
+                emp_children = tools.flatten(emp_children)
+                children = self.emp_to_users(cr, uid, emp_children, context=context)
                 children = obj_user.search(cr, uid, [('id', 'in', children),('active', '=', True)], context=context)
                 if user_id in children:
                     children.remove(user_id)

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to