Skip to content
Snippets Groups Projects
Commit f40e450e authored by borzechof99's avatar borzechof99 :whale2:
Browse files

Update API to fit Admin Frontend

parent 1e464b7e
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ from rest_framework.views import APIView
from rest_framework.response import Response
from django.shortcuts import get_object_or_404
from django.http import HttpResponse
from django.db.models.functions import Lower
from .pagination import PageNumberWithPageSizePagination
from .course_scraper.course_scraper import scraping
......@@ -62,23 +63,30 @@ class SmallSportListView(viewsets.ViewSet):
paginator = PageNumberWithPageSizePagination()
order_by_dict = {
"id": "pk",
"-id": "-pk",
"name": "name",
"-name": "-name",
"url": "url",
"-url": "-url",
"is_filled": "pk",
"-is_filled": "-pk",
"id": ("pk", False),
"-id": ("pk", True),
"name": ("name", False),
"-name": ("name", True),
"url": ("url", False),
"-url": ("url", True),
"is_filled": ("pk", False),
"-is_filled": ("pk", True),
}
order_by = "pk"
order_by = ("pk", False)
if "ordering" in request.query_params.keys():
order_by = order_by_dict[request.query_params.get("ordering")]
# Maybe care for is_filled ordering in the Future?
if order_by[1]:
sports = Sport.objects.filter(currently_active=True).order_by(
Lower(order_by[0]).desc()
)
else:
sports = Sport.objects.filter(currently_active=True).order_by(
Lower(order_by[0])
)
sports = Sport.objects.all().order_by(order_by)
sports = paginator.paginate_queryset(sports, request)
is_filled_tuples = []
......@@ -241,16 +249,19 @@ class IncompleteSportView(APIView):
"""
paginator = PageNumberWithPageSizePagination()
queryset = Sport.objects.all().order_by("name")
queryset = paginator.paginate_queryset(queryset, request)
queryset = Sport.objects.filter(currently_active=True).order_by("name")
incomplete_sport_list = []
for sport in Sport.objects.filter(currently_active=True).iterator():
for sport in queryset:
if not sport.is_filled():
incomplete_sport_list.append(sport)
incomplete_sport_list = paginator.paginate_queryset(
incomplete_sport_list, request
)
response = IncompleteSportSerializer(incomplete_sport_list)
return paginator.get_paginated_response(response.data)
......
......@@ -27,14 +27,14 @@ router.register(r"activity", views.ActivityView, "activity")
urlpatterns = [
path("admin/", admin.site.urls),
path(
"api/admin/sport/incomplete/",
"api/admin/sport-incomplete/",
views.IncompleteSportView.as_view(),
name="incomplete",
),
path("api/admin/sport/archive/", views.SportArchiveView.as_view(), name="archive"),
path("api/admin/sport/scraper/", views.ScraperView.as_view(), name="scraper"),
path("api/admin/sport-archive/", views.SportArchiveView.as_view(), name="archive"),
path("api/admin/sport-scraper/", views.ScraperView.as_view(), name="scraper"),
path("api/admin/criteria/", views.CriteriaView.as_view(), name="criteria"),
path("api/admin/question/order", views.QuestionOrderView.as_view(), name="order"),
path("api/admin/question-order", views.QuestionOrderView.as_view(), name="order"),
path("api/admin/greeting/", views.GreetingView.as_view(), name="greeting"),
path("api/admin/end/", views.EndView.as_view(), name="end"),
path("api/admin/", include(router.urls)),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment