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']
<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>