summaryrefslogtreecommitdiff
path: root/addons/project_issue/project_issue.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project_issue/project_issue.py')
-rw-r--r--addons/project_issue/project_issue.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index a67d60b5890..54e7dd22cdf 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -98,26 +98,25 @@ class project_issue(crm.crm_case, osv.osv):
ans = False
hours = 0
+ date_create = datetime.strptime(issue.create_date, "%Y-%m-%d %H:%M:%S")
if field in ['working_hours_open','day_open']:
if issue.date_open:
- date_create = datetime.strptime(issue.create_date, "%Y-%m-%d %H:%M:%S")
date_open = datetime.strptime(issue.date_open, "%Y-%m-%d %H:%M:%S")
ans = date_open - date_create
date_until = issue.date_open
#Calculating no. of working hours to open the issue
hours = cal_obj.interval_hours_get(cr, uid, issue.project_id.resource_calendar_id.id,
- datetime.strptime(issue.create_date, '%Y-%m-%d %H:%M:%S'),
- datetime.strptime(issue.date_open, '%Y-%m-%d %H:%M:%S'))
+ date_create,
+ date_open)
elif field in ['working_hours_close','day_close']:
if issue.date_closed:
- date_create = datetime.strptime(issue.create_date, "%Y-%m-%d %H:%M:%S")
date_close = datetime.strptime(issue.date_closed, "%Y-%m-%d %H:%M:%S")
date_until = issue.date_closed
ans = date_close - date_create
#Calculating no. of working hours to close the issue
hours = cal_obj.interval_hours_get(cr, uid, issue.project_id.resource_calendar_id.id,
- datetime.strptime(issue.create_date, '%Y-%m-%d %H:%M:%S'),
- datetime.strptime(issue.date_closed, '%Y-%m-%d %H:%M:%S'))
+ date_create,
+ date_close)
elif field in ['days_since_creation']:
if issue.create_date:
days_since_creation = datetime.today() - datetime.strptime(issue.create_date, "%Y-%m-%d %H:%M:%S")
@@ -139,7 +138,11 @@ class project_issue(crm.crm_case, osv.osv):
duration = float(ans.days)
if issue.project_id and issue.project_id.resource_calendar_id:
duration = float(ans.days) * 24
- new_dates = cal_obj.interval_min_get(cr, uid, issue.project_id.resource_calendar_id.id, datetime.strptime(issue.create_date, '%Y-%m-%d %H:%M:%S'), duration, resource=resource_id)
+
+ new_dates = cal_obj.interval_min_get(cr, uid,
+ issue.project_id.resource_calendar_id.id,
+ date_create,
+ duration, resource=resource_id)
no_days = []
date_until = datetime.strptime(date_until, '%Y-%m-%d %H:%M:%S')
for in_time, out_time in new_dates:
@@ -148,10 +151,12 @@ class project_issue(crm.crm_case, osv.osv):
if out_time > date_until:
break
duration = len(no_days)
+
if field in ['working_hours_open','working_hours_close']:
res[issue.id][field] = hours
else:
res[issue.id][field] = abs(float(duration))
+
return res
def _get_issue_task(self, cr, uid, ids, context=None):
@@ -365,7 +370,6 @@ class project_issue(crm.crm_case, osv.osv):
self.write(cr, uid, task.id, {'type_id': index and types[index-1] or False})
return True
-
def onchange_task_id(self, cr, uid, ids, task_id, context=None):
result = {}
if not task_id:
@@ -383,7 +387,7 @@ class project_issue(crm.crm_case, osv.osv):
"""
cases = self.browse(cr, uid, ids)
for case in cases:
- data = {}
+ data = {'state' : 'draft'}
if case.project_id.project_escalation_id:
data['project_id'] = case.project_id.project_escalation_id.id
if case.project_id.project_escalation_id.user_id: