diff options
| author | Thibault Delavallée <tde@odoo.com> | 2017-01-10 18:34:30 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2017-02-27 14:04:48 +0100 |
| commit | 06f36ddbe9d42cd91fb273eed293ffbd4acf1d66 (patch) | |
| tree | 8929b3ab17ac2b80ab09dcedd415a3d69431e438 /addons/project_issue/models/project_issue.py | |
| parent | a3f4c4974d80718a84b9e6fd2cfd815aaeb7d304 (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.py | 20 |
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') |
