From f1961aba92a9381dfc5c933ce2f0236d99362ccd Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Wed, 27 Nov 2019 11:55:02 +0100 Subject: [PATCH] [REM] b_shift : generate_attendance_sheet views --- beesdoo_shift/__openerp__.py | 1 - beesdoo_shift/wizard/__init__.py | 1 - .../wizard/generate_attendance_sheet.py | 80 ------------------- .../wizard/generate_attendance_sheet.xml | 36 --------- 4 files changed, 118 deletions(-) delete mode 100644 beesdoo_shift/wizard/generate_attendance_sheet.py delete mode 100644 beesdoo_shift/wizard/generate_attendance_sheet.xml diff --git a/beesdoo_shift/__openerp__.py b/beesdoo_shift/__openerp__.py index 70c4ca9..0877c49 100644 --- a/beesdoo_shift/__openerp__.py +++ b/beesdoo_shift/__openerp__.py @@ -37,7 +37,6 @@ "wizard/assign_super_coop.xml", "wizard/subscribe.xml", "wizard/extension.xml", - "wizard/generate_attendance_sheet.xml", "wizard/holiday.xml", "wizard/temporary_exemption.xml", ], diff --git a/beesdoo_shift/wizard/__init__.py b/beesdoo_shift/wizard/__init__.py index 91f5444..5ea93eb 100644 --- a/beesdoo_shift/wizard/__init__.py +++ b/beesdoo_shift/wizard/__init__.py @@ -1,5 +1,4 @@ import instanciate_planning -import generate_attendance_sheet import batch_template import assign_super_coop import subscribe diff --git a/beesdoo_shift/wizard/generate_attendance_sheet.py b/beesdoo_shift/wizard/generate_attendance_sheet.py deleted file mode 100644 index 98eb7ca..0000000 --- a/beesdoo_shift/wizard/generate_attendance_sheet.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding: utf-8 -*- -from openerp import models, fields, api, exceptions, _ - -from datetime import date, datetime, timedelta - - -class GenerateAttendanceSheet(models.TransientModel): - _name = "beesdoo.shift.sheet.generate" - _description = "Use a selected time range to generate the corresponding attendance sheet." - - time_range = fields.Selection("_get_time_ranges", string="Hours") - - def _get_time_ranges(self): - time_ranges = set() - tasks = self.env["beesdoo.shift.shift"] - sheets = self.env["beesdoo.shift.sheet"] - current_time = datetime.now() - allowed_time_range = timedelta(minutes=45) - - tasks = tasks.search( - [ - ("start_time", ">", str(current_time - allowed_time_range),), - ("start_time", "<", str(current_time + allowed_time_range),), - ] - ) - - for task in tasks: - start_time = task.start_time - end_time = task.end_time - sheets = sheets.search( - [("start_time", "=", start_time), ("end_time", "=", end_time),] - ) - - if not sheets: - start_time_dt = fields.Datetime.from_string(start_time) - start_time_dt = fields.Datetime.context_timestamp( - self, start_time_dt - ) - end_time_dt = fields.Datetime.from_string(end_time) - end_time_dt = fields.Datetime.context_timestamp( - self, end_time_dt - ) - - # We display contextualized time range - # but we save it according to UTC timezone - time_ranges.add( - ( - start_time + "~" + end_time, - start_time_dt.strftime("%H:%M") - + " - " - + end_time_dt.strftime("%H:%M"), - ) - ) - return list(time_ranges) - - @api.multi - def button_generate(self): - self.ensure_one() - tasks = self.env["beesdoo.shift.shift"] - sheets = self.env["beesdoo.shift.sheet"] - if not self.time_range: - raise exceptions.UserError( - _("Please select a time time_range to generate the sheet.") - ) - time_range = self.time_range.split("~") - if len(time_range) != 2: - raise exceptions.ValidationError( - _("Selection key has wrong format.") - ) - sheet = sheets.create( - {"start_time": time_range[0], "end_time": time_range[1]} - ) - - return { - "type": "ir.actions.act_window", - "res_model": "beesdoo.shift.sheet", - "res_id": sheet.id, - "view_type": "form", - "view_mode": "form", - } diff --git a/beesdoo_shift/wizard/generate_attendance_sheet.xml b/beesdoo_shift/wizard/generate_attendance_sheet.xml deleted file mode 100644 index 6154abb..0000000 --- a/beesdoo_shift/wizard/generate_attendance_sheet.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Generate an attendance sheet - beesdoo.shift.sheet.generate - -
- - - -
-
-
-
-
- - - - - - - - - -