summaryrefslogtreecommitdiff
path: root/addons/project_issue/models/project_issue.py
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2017-01-10 18:34:30 +0100
committerThibault Delavallée <tde@odoo.com>2017-02-27 14:04:48 +0100
commit06f36ddbe9d42cd91fb273eed293ffbd4acf1d66 (patch)
tree8929b3ab17ac2b80ab09dcedd415a3d69431e438 /addons/project_issue/models/project_issue.py
parenta3f4c4974d80718a84b9e6fd2cfd815aaeb7d304 (diff)
[REF] resource: remove pseudo-default working hours computation
Companies now always have a default calendar configured. All methods in resource module should therefore be able to use a real resource.calendar. This commit removes the computation based on a pseudo 8-17 calendar given as weird method parameters. Project is updated in order to use the company calendar by default.
Diffstat (limited to 'addons/project_issue/models/project_issue.py')
-rw-r--r--addons/project_issue/models/project_issue.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/addons/project_issue/models/project_issue.py b/addons/project_issue/models/project_issue.py
index a141460110d..f5a77a745f4 100644
--- a/addons/project_issue/models/project_issue.py
+++ b/addons/project_issue/models/project_issue.py
@@ -84,21 +84,27 @@ class ProjectIssue(models.Model):
@api.depends('create_date', 'date_closed', 'date_open')
def _compute_day(self):
for issue in self:
- # if the working hours on the project are not defined, use default ones (8 -> 12 and 13 -> 17 * 5)
- calendar = issue.project_id.resource_calendar_id
-
dt_create_date = fields.Datetime.from_string(issue.create_date)
+
if issue.date_open:
dt_date_open = fields.Datetime.from_string(issue.date_open)
issue.day_open = (dt_date_open - dt_create_date).total_seconds() / (24.0 * 3600)
- issue.working_hours_open = calendar.get_working_hours(dt_create_date, dt_date_open,
- compute_leaves=True, resource_id=False, default_interval=(8, 16))
+ if issue.project_id.resource_calendar_id:
+ issue.working_hours_open = issue.project_id.resource_calendar_id.get_working_hours(
+ dt_create_date, dt_date_open,
+ compute_leaves=True, resource_id=False)
+ else:
+ issue.working_hours_open = 0
if issue.date_closed:
dt_date_closed = fields.Datetime.from_string(issue.date_closed)
issue.day_close = (dt_date_closed - dt_create_date).total_seconds() / (24.0 * 3600)
- issue.working_hours_close = calendar.get_working_hours(dt_create_date, dt_date_closed,
- compute_leaves=True, resource_id=False, default_interval=(8, 16))
+ if issue.project_id.resource_calendar_id:
+ issue.working_hours_close = issue.project_id.resource_calendar_id.get_working_hours(
+ dt_create_date, dt_date_closed,
+ compute_leaves=True, resource_id=False)
+ else:
+ issue.working_hours_close = 0
@api.multi
@api.depends('create_date', 'date_action_last', 'date_last_stage_update')