diff --git a/beesdoo_shift/models/attendance_sheet.py b/beesdoo_shift/models/attendance_sheet.py
index 9d4f4c9..9b117e1 100644
--- a/beesdoo_shift/models/attendance_sheet.py
+++ b/beesdoo_shift/models/attendance_sheet.py
@@ -147,8 +147,12 @@ class AttendanceSheet(models.Model):
_description = "Attendance sheets with all the shifts in one time range."
_order = "start_time"
- name = fields.Char(
- string="Name", compute="_compute_name", store=True, readonly=True
+ name = fields.Char(string="Name", compute="_compute_name")
+ time_slot = fields.Char(
+ string="Time Slot",
+ compute="_compute_time_slot",
+ store=True,
+ readonly=True,
)
active = fields.Boolean(string="Active", default=1)
state = fields.Selection(
@@ -163,6 +167,7 @@ class AttendanceSheet(models.Model):
string="Start Time", required=True, readonly=True
)
end_time = fields.Datetime(string="End Time", required=True, readonly=True)
+ day = fields.Date(string="Day", compute="_compute_day", store=True)
default_super_coop_id = fields.Many2one(
"res.users",
@@ -273,21 +278,37 @@ class AttendanceSheet(models.Model):
)
)
- # Compute name (not hardcorded to prevent incoherence with timezone)
+ @api.depends("start_time", "end_time")
+ def _compute_time_slot(self):
+ for rec in self:
+ start_time_dt = fields.Datetime.from_string(rec.start_time)
+ start_time_dt = fields.Datetime.context_timestamp(
+ rec, start_time_dt
+ )
+ end_time_dt = fields.Datetime.from_string(rec.end_time)
+ end_time_dt = fields.Datetime.context_timestamp(rec, end_time_dt)
+ rec.time_slot = (
+ start_time_dt.strftime("%H:%M")
+ + " - "
+ + end_time_dt.strftime("%H:%M")
+ )
+
@api.depends("start_time", "end_time")
def _compute_name(self):
+ for rec in self:
+ start_time_dt = fields.Datetime.from_string(rec.start_time)
+ start_time_dt = fields.Datetime.context_timestamp(
+ rec, start_time_dt
+ )
+ if rec.time_slot:
+ rec.name = (
+ fields.Date.to_string(start_time_dt) + " " + rec.time_slot
+ )
- start_time_dt = fields.Datetime.from_string(self.start_time)
- start_time_dt = fields.Datetime.context_timestamp(self, start_time_dt)
- end_time_dt = fields.Datetime.from_string(self.end_time)
- end_time_dt = fields.Datetime.context_timestamp(self, end_time_dt)
- self.name = (
- start_time_dt.strftime("%Y-%m-%d")
- + " "
- + start_time_dt.strftime("%H:%M")
- + "-"
- + end_time_dt.strftime("%H:%M")
- )
+ @api.depends("start_time")
+ def _compute_day(self):
+ for rec in self:
+ rec.day = fields.Date.from_string(rec.start_time)
@api.depends("expected_shift_ids")
def _compute_default_super_coop_id(self):
diff --git a/beesdoo_shift/views/attendance_sheet.xml b/beesdoo_shift/views/attendance_sheet.xml
index 2f831d8..c0f0922 100644
--- a/beesdoo_shift/views/attendance_sheet.xml
+++ b/beesdoo_shift/views/attendance_sheet.xml
@@ -7,9 +7,7 @@
beesdoo.shift.sheet
-
-
-
+
-
+