optimize function

This commit is contained in:
2025-10-29 22:36:11 +01:00
parent e10fa77c3a
commit 370577493a

View File

@@ -46,9 +46,8 @@ def _calc_days_from_next_month(month: date) -> list:
return days_of_next_period
def _get_display_period(view_type: str, period: str) -> tuple[date, bool]:
def _get_display_period(view_type: str, period: str) -> date:
display_date: date = None
changed: bool = False # Indicate if the view has changed (used to reset filters)
# Handle week view
if view_type == "week":
@@ -64,8 +63,6 @@ def _get_display_period(view_type: str, period: str) -> tuple[date, bool]:
today = datetime.datetime.now(tz=datetime.UTC).date()
display_date = today - datetime.timedelta(days=today.weekday())
changed = True
# Handle month view
else:
try:
@@ -77,22 +74,7 @@ def _get_display_period(view_type: str, period: str) -> tuple[date, bool]:
# Get the first day of the current month
display_date = datetime.datetime.now(tz=datetime.UTC).date().replace(day=1)
changed = True
return display_date, changed
def _get_rental_filters(view_type: str, filters: list) -> list:
if not filters:
items = RentalItem.objects.all()
# if view_type == "month":
# items = items[:4]
filters = [item.name for item in items]
# else:
# if view_type == "month":
# filters = filters[:4]
return filters
return display_date
class RentalListView(ListView):
@@ -119,13 +101,12 @@ class RentalListView(ListView):
_period = _next_period
self.view_type = _view_type
self.display_period, changed = _get_display_period(_view_type, _period)
self.display_period = _get_display_period(_view_type, _period)
_filters = request.GET.getlist("rentalitems", [])
# Reset filter if switched to week view
# if changed:
# _filters = []
self.rentalitem_filters = _get_rental_filters(_view_type, _filters)
self.rentalitem_filters = request.GET.getlist("rentalitems", [])
if not self.rentalitem_filters:
items = RentalItem.objects.all()
self.rentalitem_filters = [item.name for item in items]
# Update request.GET
_request_get_list = request.GET.copy()