From 806084e70794c97d31dc5a975d3db506cb8a329a Mon Sep 17 00:00:00 2001 From: Bartuccio Antoine Date: Thu, 20 Jun 2019 13:19:35 +0200 Subject: [PATCH] pedagogy: allow to deny removal request for comment in moderation --- pedagogy/forms.py | 12 +++++-- pedagogy/templates/pedagogy/moderation.jinja | 35 +++++++++++++++++--- pedagogy/views.py | 6 ++-- 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/pedagogy/forms.py b/pedagogy/forms.py index e16db188..9180516d 100644 --- a/pedagogy/forms.py +++ b/pedagogy/forms.py @@ -130,8 +130,16 @@ class UVCommentModerationForm(forms.Form): Form handeling bulk comment deletion """ - reports = forms.ModelMultipleChoiceField( + accepted_reports = forms.ModelMultipleChoiceField( UVCommentReport.objects.all(), - label=_("Reported comments"), + label=_("Accepted reports"), widget=forms.CheckboxSelectMultiple, + required=False, + ) + + denied_reports = forms.ModelMultipleChoiceField( + UVCommentReport.objects.all(), + label=_("Denied reports"), + widget=forms.CheckboxSelectMultiple, + required=False, ) diff --git a/pedagogy/templates/pedagogy/moderation.jinja b/pedagogy/templates/pedagogy/moderation.jinja index 5960ac3e..32ae8485 100644 --- a/pedagogy/templates/pedagogy/moderation.jinja +++ b/pedagogy/templates/pedagogy/moderation.jinja @@ -6,9 +6,9 @@ {% endblock title %} {% block content %} -
+ {% csrf_token %} -

{{ select_all_checkbox("moderation_form") }}

+

{{ select_all_checkbox("moderation_delete_form") }}

@@ -19,8 +19,8 @@ - {% set queryset = form.reports.field.queryset %} - {% for widget in form.reports.subwidgets %} + {% set queryset = form.accepted_reports.field.queryset %} + {% for widget in form.accepted_reports.subwidgets %} {% set report = queryset.get(id=widget.data.value) %} @@ -33,4 +33,31 @@
{{ report.comment.uv }}

+
+ {% csrf_token %} +

{{ select_all_checkbox("moderation_keep_form") }}

+ + + + + + + + + + + {% set queryset = form.denied_reports.field.queryset %} + {% for widget in form.denied_reports.subwidgets %} + {% set report = queryset.get(id=widget.data.value) %} + + + + + + + {% endfor %} + +
{% trans %}UV{% endtrans %}{% trans %}Comment{% endtrans %}{% trans %}Reason{% endtrans %}{% trans %}Delete{% endtrans %}
{{ report.comment.uv }}{{ report.comment.comment|markdown }}{{ report.reason|markdown }}{{ widget.tag() }}
+

+
{% endblock content %} diff --git a/pedagogy/views.py b/pedagogy/views.py index bb1ab78e..21feb15e 100644 --- a/pedagogy/views.py +++ b/pedagogy/views.py @@ -247,8 +247,10 @@ class UVModerationFormView(FormView): def form_valid(self, form): form_clean = form.clean() - for report in form_clean.get("reports", []): - report.comment.delete() + for report in form_clean.get("accepted_reports", []): + report.comment.delete() # Delete the related comment + for report in form_clean.get("denied_reports", []): + report.delete() # Delete the report itself return super(UVModerationFormView, self).form_valid(form) def get_success_url(self):