From 5e8d9766ee50867426d3de4f707da0457e943a08 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Fri, 13 Dec 2024 12:28:40 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20boutons=20pour=20mod=C3=A9rer=20le?= =?UTF-8?q?=20jour=20souhait=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/agenda_culturel/static/style.scss | 55 ++++++++++++++----- .../agenda_culturel/administration.html | 9 ++- src/agenda_culturel/urls.py | 1 + src/agenda_culturel/views.py | 10 ++++ 4 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/agenda_culturel/static/style.scss b/src/agenda_culturel/static/style.scss index b558e64..5671fae 100644 --- a/src/agenda_culturel/static/style.scss +++ b/src/agenda_culturel/static/style.scss @@ -1606,9 +1606,6 @@ label.required::after { } .moderation_heatmap { - border-spacing: 0.1em; - border-collapse: separate; - max-width: 600px; margin: auto; th { @@ -1623,29 +1620,59 @@ label.required::after { text-align: right; } .ratio { - border-radius: var(--border-radius); - padding: 0.2em; - color: black; + padding: 0.1em; + a, .a { + margin: auto; + border-radius: var(--border-radius); + color: black; + padding: .5em 1em; + display: block; + width: 6em; + height: 2.5em; + } } .score_0 { - background: rgb(0, 128, 0); + a, .a { + background: rgb(0, 128, 0); + } } .score_1 { - background: rgb(255, 255, 0); + a, .a { + background: rgb(255, 255, 0); + } } .score_2 { - background: rgb(255, 166, 0); + a, .a { + background: rgb(255, 166, 0); + } } .score_3 { - background: rgb(255, 0, 0); + a, .a { + background: rgb(255, 0, 0); + } } .score_4 { - background: rgb(128, 0, 128); - color: white; + a, .a { + background: rgb(128, 0, 128); + color: white; + } } - @media only screen and (max-width: 300px) { - .ratio, .month, .label { + @media only screen and (max-width: 500px) { + .total, .month { font-size: 0; } + .label { + display: none; + } + font-size: 90%; + } + @media only screen and (max-width: 400px) { + font-size: 80%; + + .ratio a, .ratio .a { + padding: 0.1em; + width: 4em; + height: 2em; + } } } diff --git a/src/agenda_culturel/templates/agenda_culturel/administration.html b/src/agenda_culturel/templates/agenda_culturel/administration.html index 715ba0d..42fe8eb 100644 --- a/src/agenda_culturel/templates/agenda_culturel/administration.html +++ b/src/agenda_culturel/templates/agenda_culturel/administration.html @@ -29,16 +29,19 @@ {% for w in nb_not_moderated %} - + {% for m in w %} - + {% endfor %} + {% endfor %} diff --git a/src/agenda_culturel/urls.py b/src/agenda_culturel/urls.py index efc9cb4..f032890 100644 --- a/src/agenda_culturel/urls.py +++ b/src/agenda_culturel/urls.py @@ -60,6 +60,7 @@ urlpatterns = [ path("event//moderate/after/", EventModerateView.as_view(), name="moderate_event_step"), path("event//moderate-next", moderate_event_next, name="moderate_event_next"), path("moderate", EventModerateView.as_view(), name="moderate"), + path("moderate///", moderate_from_date, name="moderate_from_date"), path("event//simple-clone/edit", EventUpdateView.as_view(), name="simple_clone_edit"), path("event//clone/edit", EventUpdateView.as_view(), name="clone_edit"), path("event//message", MessageCreateView.as_view(), name="message_for_event"), diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index 62b1c25..dca5294 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -370,6 +370,9 @@ class EventModerateView( def is_starting_moderation(self): return not "pk" in self.kwargs + + def is_moderation_from_date(self): + return "m" in self.kwargs and "y" in self.kwargs and "d" in self.kwargs def get_next_event(start_day, start_time): # select non moderated events @@ -460,6 +463,13 @@ def moderate_event_next(request, pk): else: return HttpResponseRedirect(reverse_lazy("moderate_event_step", args=[next_obj.pk, obj.pk])) +@login_required(login_url="/accounts/login/") +@permission_required("agenda_culturel.change_event") +def moderate_from_date(request, y, m, d): + d = date(y, m, d) + obj = EventModerateView.get_next_event(d, None) + return HttpResponseRedirect(reverse_lazy("moderate_event", args=[obj.pk])) + class EventDeleteView( SuccessMessageMixin, PermissionRequiredMixin, LoginRequiredMixin, DeleteView
{{ m.start_day|date:"d" }} {{ m.start_day|date:"M"|lower }}{{ m.start_day|date:"d" }} {{ m.start_day|date:"M"|lower }}
reste à modérer {% for m in w %} - {{ m.not_moderated }} / {{ m.nb_events }} + <{% if m.not_moderated > 0 %}a href="{% url 'moderate_from_date' m.start_day.year m.start_day.month m.start_day.day %}"{% else %}span class="a"{% endif %}> + {{ m.not_moderated }} / {{ m.nb_events }} 0 %}a{% else %}span{% endif %}> +