Check perms on site model form

This commit is contained in:
Mouse Reeve 2022-09-19 10:16:38 -07:00
parent b0d8697006
commit 3fd573c0da
2 changed files with 9 additions and 1 deletions

View file

@ -3,6 +3,7 @@ import datetime
from urllib.parse import urljoin
import uuid
from django.core.exceptions import PermissionDenied
from django.db import models, IntegrityError
from django.dispatch import receiver
from django.utils import timezone
@ -114,6 +115,13 @@ class SiteSettings(models.Model):
self.invite_question_text = "What is your favourite book?"
super().save(*args, **kwargs)
# pylint: disable=no-self-use
def raise_not_editable(self, viewer):
"""Check if the user has the right permissions"""
if viewer.has_perm("bookwyrm.edit_instance_settings"):
return
raise PermissionDenied()
class Theme(models.Model):
"""Theme files"""

View file

@ -29,7 +29,7 @@ class Site(View):
if not form.is_valid():
data = {"site_form": form}
return TemplateResponse(request, "settings/site.html", data)
site = form.save()
site = form.save(request)
data = {"site_form": forms.SiteForm(instance=site), "success": True}
return TemplateResponse(request, "settings/site.html", data)