From 698f076d42c64d4a38cd480a0a73ae6840a75de5 Mon Sep 17 00:00:00 2001 From: Carmen Bianca BAKKER <carmen@coopiteasy.be> Date: Tue, 3 Sep 2024 11:14:54 +0200 Subject: [PATCH] [IMP] resource_multi_week_calendar: Add convenience function I need this elsewhere. It _technically_ reduces performance by doing the same calculation twice, but this module is horrible as pertains to performance in any case. Signed-off-by: Carmen Bianca BAKKER <carmen@coopiteasy.be> --- .../models/resource_calendar.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/resource_multi_week_calendar/models/resource_calendar.py b/resource_multi_week_calendar/models/resource_calendar.py index 525b25d8503..3bb93daa30c 100644 --- a/resource_multi_week_calendar/models/resource_calendar.py +++ b/resource_multi_week_calendar/models/resource_calendar.py @@ -144,6 +144,15 @@ def _get_week_number(self, day=None): ) return (weeks_since_epoch % family_size) + 1 + def _get_calendar(self, day=None): + self.ensure_one() + if not self.is_multi_week: + return self + week_number = self._get_week_number(day=day) + return self.family_calendar_ids.filtered( + lambda item: item.week_number == week_number + ) + @api.depends( "multi_week_epoch_date", "week_number", @@ -153,9 +162,7 @@ def _compute_current_week(self): for calendar in self: current_week_number = calendar._get_week_number() calendar.current_week_number = current_week_number - calendar.current_calendar_id = calendar.family_calendar_ids.filtered( - lambda item: item.week_number == current_week_number - ) + calendar.current_calendar_id = calendar._get_calendar() @api.constrains("parent_calendar_id", "child_calendar_ids") def _check_child_is_not_parent(self):