diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-06-15 18:44:16 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-06-15 18:44:16 +0200 |
| commit | 1b50c829ef383705647d0c2df7c89e9051ec40fb (patch) | |
| tree | 036df47c7cf94424f04d7ff9dac371fb79e2b1e4 /addons/resource/models/resource.py | |
| parent | 0c2e018d4c416d0f47a3b64f1c28ce067dbab291 (diff) | |
| parent | 9713dc2e1f515b1260eaf26ec6bbfd5443f37d65 (diff) | |
[MERGE] forward port branch saas-15 up to 9713dc2e1f5
Diffstat (limited to 'addons/resource/models/resource.py')
| -rw-r--r-- | addons/resource/models/resource.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/addons/resource/models/resource.py b/addons/resource/models/resource.py index 32da153366d..c464fada7a1 100644 --- a/addons/resource/models/resource.py +++ b/addons/resource/models/resource.py @@ -527,7 +527,9 @@ class ResourceCalendar(models.Model): backwards = (hours < 0) intervals = [] remaining_hours, iterations = abs(hours * 1.0), 0 - current_datetime = day_dt + + day_dt_tz = to_naive_user_tz(day_dt, self.env.user) + current_datetime = day_dt_tz call_args = dict(compute_leaves=compute_leaves, resource_id=resource_id) @@ -562,7 +564,11 @@ class ResourceCalendar(models.Model): def plan_hours(self, hours, day_dt, compute_leaves=False, resource_id=None): """ Return datetime after having planned hours """ res = self._schedule_hours(hours, day_dt, compute_leaves, resource_id) - return res and res[0][0] or False + if res and hours < 0.0: + return res[0][0] + elif res: + return res[-1][1] + return False @api.multi def _schedule_days(self, days, day_dt, compute_leaves=False, resource_id=None): @@ -582,7 +588,9 @@ class ResourceCalendar(models.Model): backwards = (days < 0) intervals = [] planned_days, iterations = 0, 0 - current_datetime = day_dt.replace(hour=0, minute=0, second=0, microsecond=0) + + day_dt_tz = to_naive_user_tz(day_dt, self.env.user) + current_datetime = day_dt_tz.replace(hour=0, minute=0, second=0, microsecond=0) while planned_days < abs(days) and iterations < 100: working_intervals = self._get_day_work_intervals( |
