optimize function
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user