Improved project management
authorHDA (OpenERP) <hda@tinyerp.com>
Mon, 1 Feb 2010 11:10:44 +0000 (16:40 +0530)
committerHDA (OpenERP) <hda@tinyerp.com>
Mon, 1 Feb 2010 11:10:44 +0000 (16:40 +0530)
bzr revid: hda@tinyerp.com-20100201111044-i2b578hk7ctij5gc

addons/project/project.py
addons/project/project_view.xml

index 05a0465..4a0134d 100644 (file)
@@ -242,16 +242,17 @@ class task(osv.osv):
         result = {}
         for res in self.browse(cr, uid, ids):
             if date_start and planned:
+                print date_start, planned, occupation_rate
                 resource_id = self.pool.get('resource.resource').search(cr,uid,[('user_id','=',res.user_id.id)])
-                resource_obj = self.pool.get('resource.resource').browse(cr,uid,resource_id)[0]
-                d = mx.DateTime.strptime(date_start,'%Y-%m-%d %H:%M:%S')
-                hrs = (planned)/(occupation_rate)
-                work_times = self.pool.get('resource.calendar').interval_get(cr, uid, resource_obj.calendar_id.id or False, d, hrs or 0.0, resource_obj.id)
-                result['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
-        result['remaining_hours'] = planned-effective
+                if resource_id:
+                    resource_obj = self.pool.get('resource.resource').browse(cr,uid,resource_id)[0]
+                    d = mx.DateTime.strptime(date_start,'%Y-%m-%d %H:%M:%S')
+                    hrs = (planned)/(occupation_rate)
+                    work_times = self.pool.get('resource.calendar').interval_get(cr, uid, resource_obj.calendar_id.id or False, d, hrs or 0.0, resource_obj.id)
+                    result['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S')
+            result['remaining_hours'] = planned-effective
         return {'value':result}
 
-
     def _default_project(self, cr, uid, context={}):
         if 'project_id' in context and context['project_id']:
             return context['project_id']
index 9181b6d..0cb4664 100644 (file)
                                 <separator string="Dates" colspan="2"/>
                                 <field name="date_start"/>
                                 <field name="date_end"/>
+                                <field name="occupation_rate"/>
                             </group>
                             <separator string="Miscelleanous" colspan="4"/>
                             <field name="partner_id" select="2"/>
                              <filter domain="[('manager_id','=',False)]" help="Unassigned Project" icon="terp-project"/>
                         </field>
                         <field name="user_id" select="1" widget="selection">
-                            <filter domain="[('user_id','=',uid)]" help="My Tasks" icon="gtk-execute" default="1"/>
+                            <filter domain="[('user_id','=',uid)]" help="My Tasks" icon="gtk-execute"/>
                             <filter domain="[('user_id','=',False)]" help="Unassigned Tasks" icon="gtk-execute" separator="1"/>
                         </field>
                     </group>