1
0
Fork 0

Create announcements admin view

This commit is contained in:
Mouse Reeve 2021-05-19 14:55:01 -07:00
parent d1f2d9812f
commit 515d5bb237
7 changed files with 186 additions and 0 deletions

View file

@ -1,4 +1,5 @@
""" make sure all our nice views are available """
from .announcements import Announcements
from .authentication import Login, Register, Logout
from .author import Author, EditAuthor
from .block import Block, unblock

View file

@ -0,0 +1,36 @@
""" make announcements """
from django.contrib.auth.decorators import login_required, permission_required
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
from bookwyrm import forms, models
# pylint: disable= no-self-use
@method_decorator(login_required, name="dispatch")
@method_decorator(
permission_required("bookwyrm.edit_instance_settings", raise_exception=True),
name="dispatch",
)
class Announcements(View):
"""tell everyone"""
def get(self, request):
"""view and create announcements"""
data = {
"announcements": models.Announcement.objects.all(),
"form": forms.AnnouncementForm(),
}
return TemplateResponse(request, "settings/announcements.html", data)
def post(self, request):
"""edit the site settings"""
form = forms.AnnouncementForm(request.POST)
if form.is_valid():
form.save()
data = {
"announcements": models.Announcement.objects.all(),
"form": forms.AnnouncementForm(),
}
return TemplateResponse(request, "settings/announcements.html", data)