[IMP] project: getting projects in user prefrence
authormra (Open ERP) <mra@tinyerp.com>
Mon, 18 Jan 2010 06:11:21 +0000 (11:41 +0530)
committermra (Open ERP) <mra@tinyerp.com>
Mon, 18 Jan 2010 06:11:21 +0000 (11:41 +0530)
bzr revid: mra@tinyerp.com-20100118061121-i3rdkxjmnksy1iug

addons/project/project.py
addons/project/security/project_security.xml

index 555f4c6..8bd78c1 100644 (file)
@@ -508,11 +508,10 @@ class message(osv.osv):
 message()
 
 def _project_get(self, cr, uid, context={}):
-    obj = self.pool.get('project.project')
-    ids = obj.search(cr, uid, [])
-    res = obj.read(cr, uid, ids, ['id','name'], context)
-    res = [(str(r['id']),r['name']) for r in res]
-    return res
+    cr.execute("""SELECT to_char(id, '99999'),name FROM project_project where manager=%s OR
+               id IN (SELECT project_id from project_user_rel where uid=%s)""" % (uid, uid))
+    projects = cr.fetchall()
+    return projects
 
 class users(osv.osv):
     _inherit = 'res.users'
index 064b9be..6d862a8 100644 (file)
@@ -44,7 +44,7 @@
         <field name="global" eval="True"/>
     </record>
        <record id="project_task_rule" model="ir.rule">
-        <field name="domain_force">['|',('project_id','=',False),('project_id','=',user.context_project_id)]</field>
+        <field name="domain_force">['|',('project_id','=',False),('project_id','in',[user.context_project_id])]</field>
         <field name="rule_group" ref="project_task_rule_group"/>
     </record>
 
@@ -54,7 +54,7 @@
         <field name="global" eval="True"/>
     </record>
        <record id="project_task_work_rule" model="ir.rule">
-        <field name="domain_force">['|',('task_id.project_id','=',False),('task_id.project_id','=',user.context_project_id)]</field>
+        <field name="domain_force">['|',('task_id.project_id','=',False),('task_id.project_id','in',[user.context_project_id])]</field>
         <field name="rule_group" ref="project_task_work_rule_group"/>
     </record>
 
@@ -64,7 +64,7 @@
         <field name="global" eval="True"/>
     </record>
        <record id="project_project_rule" model="ir.rule">
-        <field name="domain_force">['|',('id','=',False),('id','=',user.context_project_id)]</field>
+        <field name="domain_force">['|',('id','=',False),('id','in',[user.context_project_id])]</field>
         <field name="rule_group" ref="project_project_rule_group"/>
     </record>
 
@@ -74,7 +74,7 @@
         <field name="global" eval="True"/>
     </record>
        <record id="project_message_rule" model="ir.rule">
-        <field name="domain_force">['|',('project_id','=',False),('project_id','=',user.context_project_id)]</field>
+        <field name="domain_force">['|',('project_id','=',False),('project_id','in',[user.context_project_id])]</field>
         <field name="rule_group" ref="project_message_rule_group"/>
     </record>