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
|
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
|
display_date: date = None
|
||||||
changed: bool = False # Indicate if the view has changed (used to reset filters)
|
|
||||||
|
|
||||||
# Handle week view
|
# Handle week view
|
||||||
if view_type == "week":
|
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()
|
today = datetime.datetime.now(tz=datetime.UTC).date()
|
||||||
display_date = today - datetime.timedelta(days=today.weekday())
|
display_date = today - datetime.timedelta(days=today.weekday())
|
||||||
|
|
||||||
changed = True
|
|
||||||
|
|
||||||
# Handle month view
|
# Handle month view
|
||||||
else:
|
else:
|
||||||
try:
|
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
|
# Get the first day of the current month
|
||||||
display_date = datetime.datetime.now(tz=datetime.UTC).date().replace(day=1)
|
display_date = datetime.datetime.now(tz=datetime.UTC).date().replace(day=1)
|
||||||
|
|
||||||
changed = True
|
return display_date
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
class RentalListView(ListView):
|
class RentalListView(ListView):
|
||||||
@@ -119,13 +101,12 @@ class RentalListView(ListView):
|
|||||||
_period = _next_period
|
_period = _next_period
|
||||||
|
|
||||||
self.view_type = _view_type
|
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", [])
|
self.rentalitem_filters = request.GET.getlist("rentalitems", [])
|
||||||
# Reset filter if switched to week view
|
if not self.rentalitem_filters:
|
||||||
# if changed:
|
items = RentalItem.objects.all()
|
||||||
# _filters = []
|
self.rentalitem_filters = [item.name for item in items]
|
||||||
self.rentalitem_filters = _get_rental_filters(_view_type, _filters)
|
|
||||||
|
|
||||||
# Update request.GET
|
# Update request.GET
|
||||||
_request_get_list = request.GET.copy()
|
_request_get_list = request.GET.copy()
|
||||||
|
|||||||
Reference in New Issue
Block a user