diff --git a/beesdoo_shift/models/planning.py b/beesdoo_shift/models/planning.py index 03d9084..35f9c72 100644 --- a/beesdoo_shift/models/planning.py +++ b/beesdoo_shift/models/planning.py @@ -61,7 +61,9 @@ class Planning(models.Model): def _generate_next_planning(self): config = self.env['ir.config_parameter'].sudo() last_seq = int(config.get_param('last_planning_seq', 0)) - date = config.get_param('next_planning_date', 0) + date = fields.Date.from_string( + config.get_param('next_planning_date', 0) + ) planning = self._get_next_planning(last_seq) planning = planning.with_context(visualize_date=date) diff --git a/beesdoo_shift/models/task.py b/beesdoo_shift/models/task.py index 9d278ba..57d5885 100644 --- a/beesdoo_shift/models/task.py +++ b/beesdoo_shift/models/task.py @@ -1,5 +1,5 @@ import json -from datetime import datetime, timedelta +from datetime import datetime, time, timedelta from odoo import _, api, fields, models from odoo.exceptions import UserError, ValidationError @@ -132,17 +132,17 @@ class Task(models.Model): If *now* is given workers are unsubscribed from all shifts starting *now* and later. If *now* is given, *end_date* is not taken into account. - :type today: fields.Date - :type end_date: fields.Date - :type now: fields.Datetime + :type today: date + :type end_date: date + :type now: datetime """ if now: - if len(now) != 19: + if not isinstance(now, datetime): raise UserError (_("'Now' must be a datetime.")) date_domain = [('start_time', '>', now)] else: today = today or fields.Date.today() - today += ' 00:00:00' + today = datetime.combine(today, time()) date_domain = [('start_time', '>', today)] if end_date: end_date = datetime.combine(end_date,time(hour=23, minute=59, second=59))