From 293369f165a22fd937058ede24c7f6d518c260af Mon Sep 17 00:00:00 2001 From: Sli Date: Mon, 22 Jul 2024 18:40:32 +0200 Subject: [PATCH] Pagination on UV guide --- core/static/core/style.scss | 21 +++++++++---- pedagogy/api.py | 12 ++++---- pedagogy/templates/pedagogy/guide.jinja | 40 ++++++++++++++++++++----- pedagogy/tests.py | 40 +++++++++++++++---------- 4 files changed, 79 insertions(+), 34 deletions(-) diff --git a/core/static/core/style.scss b/core/static/core/style.scss index c5de097b..a2596986 100644 --- a/core/static/core/style.scss +++ b/core/static/core/style.scss @@ -24,11 +24,6 @@ $black-color: hsl(0, 0%, 17%); $faceblue: hsl(221, 44%, 41%); $twitblue: hsl(206, 82%, 63%); -$pinktober: #ff5674; -$pinktober-secondary: #8a2536; -$pinktober-primary-text: white; -$pinktober-bar-closed: $pinktober-secondary; -$pinktober-bar-opened: #388e3c; $shadow-color: rgb(223, 223, 223); @@ -48,6 +43,18 @@ body { font-family: sans-serif; } +button:disabled, +button:disabled:hover { + color: #fff; + background-color: #6c757d; +} + +button.active, +button.active:hover { + color: #fff; + background-color: $secondary-color; +} + a.button, button, input[type="button"], @@ -1510,6 +1517,10 @@ $pedagogy-light-blue: #caf0ff; $pedagogy-white-text: #f0f0f0; .pedagogy { + #pagination { + text-align: center; + } + &.star-not-checked { color: #f7f7f7; margin-bottom: 0; diff --git a/pedagogy/api.py b/pedagogy/api.py index e9d24c84..5bb359be 100644 --- a/pedagogy/api.py +++ b/pedagogy/api.py @@ -3,8 +3,9 @@ from typing import Annotated from annotated_types import Ge from django.conf import settings from ninja import Query -from ninja_extra import ControllerBase, api_controller, route +from ninja_extra import ControllerBase, api_controller, paginate, route from ninja_extra.exceptions import NotFound +from ninja_extra.pagination import PageNumberPaginationExtra, PaginatedResponseSchema from core.api_permissions import IsInGroup, IsRoot, IsSubscriber from pedagogy.models import UV @@ -29,8 +30,9 @@ class UvController(ControllerBase): raise NotFound return res - @route.get("", response=list[SimpleUvSchema], url_name="fetch_uvs") + @route.get( + "", response=PaginatedResponseSchema[SimpleUvSchema], url_name="fetch_uvs" + ) + @paginate(PageNumberPaginationExtra, page_size=100) def fetch_uv_list(self, search: Query[UvFilterSchema]): - # le `[:50]`, c'est de la pagination eco+ - # si quelqu'un est motivé, il peut faire une vraie pagination - return search.filter(UV.objects.all())[:50] + return search.filter(UV.objects.all()) diff --git a/pedagogy/templates/pedagogy/guide.jinja b/pedagogy/templates/pedagogy/guide.jinja index 7871f2b4..e494492c 100644 --- a/pedagogy/templates/pedagogy/guide.jinja +++ b/pedagogy/templates/pedagogy/guide.jinja @@ -73,9 +73,9 @@
- + - +
@@ -96,22 +96,29 @@ -