Ajout de boutons pour modérer le jour souhaité
This commit is contained in:
parent
6589c1b0c3
commit
5e8d9766ee
@ -1606,9 +1606,6 @@ label.required::after {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.moderation_heatmap {
|
.moderation_heatmap {
|
||||||
border-spacing: 0.1em;
|
|
||||||
border-collapse: separate;
|
|
||||||
|
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
th {
|
th {
|
||||||
@ -1623,29 +1620,59 @@ label.required::after {
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.ratio {
|
.ratio {
|
||||||
|
padding: 0.1em;
|
||||||
|
a, .a {
|
||||||
|
margin: auto;
|
||||||
border-radius: var(--border-radius);
|
border-radius: var(--border-radius);
|
||||||
padding: 0.2em;
|
|
||||||
color: black;
|
color: black;
|
||||||
|
padding: .5em 1em;
|
||||||
|
display: block;
|
||||||
|
width: 6em;
|
||||||
|
height: 2.5em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.score_0 {
|
.score_0 {
|
||||||
|
a, .a {
|
||||||
background: rgb(0, 128, 0);
|
background: rgb(0, 128, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.score_1 {
|
.score_1 {
|
||||||
|
a, .a {
|
||||||
background: rgb(255, 255, 0);
|
background: rgb(255, 255, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.score_2 {
|
.score_2 {
|
||||||
|
a, .a {
|
||||||
background: rgb(255, 166, 0);
|
background: rgb(255, 166, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.score_3 {
|
.score_3 {
|
||||||
|
a, .a {
|
||||||
background: rgb(255, 0, 0);
|
background: rgb(255, 0, 0);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.score_4 {
|
.score_4 {
|
||||||
|
a, .a {
|
||||||
background: rgb(128, 0, 128);
|
background: rgb(128, 0, 128);
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
@media only screen and (max-width: 300px) {
|
}
|
||||||
.ratio, .month, .label {
|
@media only screen and (max-width: 500px) {
|
||||||
|
.total, .month {
|
||||||
font-size: 0;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,16 +29,19 @@
|
|||||||
{% for w in nb_not_moderated %}
|
{% for w in nb_not_moderated %}
|
||||||
<table class="moderation_heatmap">
|
<table class="moderation_heatmap">
|
||||||
<thead>
|
<thead>
|
||||||
<th></th>
|
<th class="label"></th>
|
||||||
{% for m in w %}
|
{% for m in w %}
|
||||||
<th>{{ m.start_day|date:"d" }}<span class="month"> {{ m.start_day|date:"M"|lower }}</span></th>
|
<th><a href="{% url 'day_view' m.start_day.year m.start_day.month m.start_day.day %}">{{ m.start_day|date:"d" }}<span class="month"> {{ m.start_day|date:"M"|lower }}</span></a></th>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="label">reste à modérer</h>
|
<th class="label">reste à modérer</h>
|
||||||
{% for m in w %}
|
{% for m in w %}
|
||||||
<td class="ratio score_{{ m.note }}">{{ m.not_moderated }} / {{ m.nb_events }}</td>
|
<td class="ratio score_{{ m.note }}">
|
||||||
|
<{% 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 }}<span class="total"> / {{ m.nb_events }}</span></{% if m.not_moderated > 0 %}a{% else %}span{% endif %}>
|
||||||
|
</td>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -60,6 +60,7 @@ urlpatterns = [
|
|||||||
path("event/<int:pk>/moderate/after/<int:pred>", EventModerateView.as_view(), name="moderate_event_step"),
|
path("event/<int:pk>/moderate/after/<int:pred>", EventModerateView.as_view(), name="moderate_event_step"),
|
||||||
path("event/<int:pk>/moderate-next", moderate_event_next, name="moderate_event_next"),
|
path("event/<int:pk>/moderate-next", moderate_event_next, name="moderate_event_next"),
|
||||||
path("moderate", EventModerateView.as_view(), name="moderate"),
|
path("moderate", EventModerateView.as_view(), name="moderate"),
|
||||||
|
path("moderate/<int:y>/<int:m>/<int:d>", moderate_from_date, name="moderate_from_date"),
|
||||||
path("event/<int:pk>/simple-clone/edit", EventUpdateView.as_view(), name="simple_clone_edit"),
|
path("event/<int:pk>/simple-clone/edit", EventUpdateView.as_view(), name="simple_clone_edit"),
|
||||||
path("event/<int:pk>/clone/edit", EventUpdateView.as_view(), name="clone_edit"),
|
path("event/<int:pk>/clone/edit", EventUpdateView.as_view(), name="clone_edit"),
|
||||||
path("event/<int:pk>/message", MessageCreateView.as_view(), name="message_for_event"),
|
path("event/<int:pk>/message", MessageCreateView.as_view(), name="message_for_event"),
|
||||||
|
@ -371,6 +371,9 @@ class EventModerateView(
|
|||||||
def is_starting_moderation(self):
|
def is_starting_moderation(self):
|
||||||
return not "pk" in self.kwargs
|
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):
|
def get_next_event(start_day, start_time):
|
||||||
# select non moderated events
|
# select non moderated events
|
||||||
qs = Event.objects.filter(moderated_date__isnull=True)
|
qs = Event.objects.filter(moderated_date__isnull=True)
|
||||||
@ -460,6 +463,13 @@ def moderate_event_next(request, pk):
|
|||||||
else:
|
else:
|
||||||
return HttpResponseRedirect(reverse_lazy("moderate_event_step", args=[next_obj.pk, obj.pk]))
|
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(
|
class EventDeleteView(
|
||||||
SuccessMessageMixin, PermissionRequiredMixin, LoginRequiredMixin, DeleteView
|
SuccessMessageMixin, PermissionRequiredMixin, LoginRequiredMixin, DeleteView
|
||||||
|
Loading…
x
Reference in New Issue
Block a user