aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/utils/views.py
diff options
context:
space:
mode:
authorGravatar scragly <[email protected]>2019-10-14 21:58:48 +1000
committerGravatar GitHub <[email protected]>2019-10-14 21:58:48 +1000
commit03d5a4c9b4240366c418ab4ac99be517788e2f13 (patch)
treec96b56d22411721fd5ba0eba17dc96cf23971689 /pydis_site/utils/views.py
parentMerge pull request #282 from python-discord/upgrade-postgresql-to-12 (diff)
parentMerge branch 'master' into #201-django-allauth (diff)
Django Allauth (#201) (#274)
Django Allauth (#201)
Diffstat (limited to 'pydis_site/utils/views.py')
-rw-r--r--pydis_site/utils/views.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/pydis_site/utils/views.py b/pydis_site/utils/views.py
new file mode 100644
index 00000000..c9803bd6
--- /dev/null
+++ b/pydis_site/utils/views.py
@@ -0,0 +1,25 @@
+from django.contrib import messages
+from django.http import HttpRequest
+from django.views.generic import RedirectView
+
+
+class MessageRedirectView(RedirectView):
+ """
+ Redirects to another URL, also setting a message using the Django Messages framework.
+
+ This is based on Django's own `RedirectView` and works the same way, but takes two additional
+ parameters.
+
+ * `message`: Set to the message content you wish to display.
+ * `message_level`: Set to one of the message levels from the Django messages framework. This
+ parameter defaults to `messages.INFO`.
+ """
+
+ message: str = ""
+ message_level: int = messages.INFO
+
+ def get(self, request: HttpRequest, *args, **kwargs) -> None:
+ """Called upon a GET request."""
+ messages.add_message(request, self.message_level, self.message)
+
+ return super().get(request, *args, **kwargs)