Use Django messages framework

pull/617/head
Humberto Rocha 2023-07-23 15:36:10 -04:00
rodzic 06d336f7a9
commit dbef43d3c7
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 95241B44896A09FB
3 zmienionych plików z 10 dodań i 13 usunięć

Wyświetl plik

@ -1346,7 +1346,7 @@ table.metadata td .emoji {
cursor: pointer;
}
.announcement.error {
.message.error {
background-color: var(--color-bg-error);
}

Wyświetl plik

@ -7,13 +7,6 @@
{% csrf_token %}
<h1>Import Blocklist</h1>
{% if bad_format %}
<div class="announcement error">Error: The file you uploaded was not a valid blocklist CSV.</div>
{% endif %}
{% if success %}
<div class="announcement">Your blocklist CSV was processed processed with success!</div>
{% endif %}
<fieldset>
{% include "forms/_field.html" with field=form.blocklist %}
</fieldset>

Wyświetl plik

@ -1,6 +1,7 @@
import csv
from django import forms
from django.contrib import messages
from django.core.validators import FileExtensionValidator, ValidationError
from django.db import models
from django.shortcuts import get_object_or_404, redirect
@ -87,6 +88,8 @@ class FederationEdit(FormView):
class FederationBlocklist(FormView):
template_name = "admin/federation_blocklist.html"
extra_context = {"section": "federation"}
error_msg = "The uploaded file has an invalid blocklist CSV format."
success_msg = "The blocklist CSV was processed processed with success!"
class form_class(forms.Form):
blocklist = forms.FileField(
@ -121,18 +124,19 @@ class FederationBlocklist(FormView):
domains.append(domain)
except (TypeError, ValueError):
return redirect(".?bad_format=true")
messages.error(self.request, self.error_msg)
return redirect(".")
if not domains:
return redirect(".?bad_format=true")
messages.error(self.request, self.error_msg)
return redirect(".")
DomainService.block(domains)
return redirect(".?success=true")
messages.success(self.request, self.success_msg)
return redirect("admin_federation")
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["page"] = self.request.GET.get("page")
context["bad_format"] = self.request.GET.get("bad_format")
context["success"] = self.request.GET.get("success")
return context