1
0
Fork 0

Fixes setting acces level to "user"

This wasn't working because "user" isn't a group, it's the absense of
any group.
This commit is contained in:
Mouse Reeve 2022-07-04 21:44:55 -07:00
parent fe33fdcf56
commit e2a50230c7
4 changed files with 19 additions and 9 deletions

View file

@ -10,3 +10,4 @@ from .landing import *
from .links import * from .links import *
from .lists import * from .lists import *
from .status import * from .status import *
from .user_admin import *

View file

@ -4,12 +4,6 @@ from .custom_form import CustomForm
# pylint: disable=missing-class-docstring # pylint: disable=missing-class-docstring
class UserGroupForm(CustomForm):
class Meta:
model = models.User
fields = ["groups"]
class GroupForm(CustomForm): class GroupForm(CustomForm):
class Meta: class Meta:
model = models.Group model = models.Group

View file

@ -0,0 +1,10 @@
""" using django model forms """
from bookwyrm import models
from .custom_form import CustomForm
# pylint: disable=missing-class-docstring
class UserGroupForm(CustomForm):
class Meta:
model = models.User
fields = ["groups"]

View file

@ -77,6 +77,11 @@ class UserAdmin(View):
def post(self, request, user): def post(self, request, user):
"""update user group""" """update user group"""
user = get_object_or_404(models.User, id=user) user = get_object_or_404(models.User, id=user)
if request.POST.get("groups") == "":
user.groups.set([])
form = forms.UserGroupForm(instance=user)
else:
form = forms.UserGroupForm(request.POST, instance=user) form = forms.UserGroupForm(request.POST, instance=user)
if form.is_valid(): if form.is_valid():
form.save() form.save()