diff --git a/bookwyrm/forms.py b/bookwyrm/forms.py
index 80b28310..ac5bd027 100644
--- a/bookwyrm/forms.py
+++ b/bookwyrm/forms.py
@@ -149,6 +149,11 @@ class LimitedEditUserForm(CustomForm):
]
help_texts = {f: None for f in fields}
+class UserGroupForm(CustomForm):
+ class Meta:
+ model = models.User
+ fields = ["groups"]
+
class TagForm(CustomForm):
class Meta:
diff --git a/bookwyrm/templates/user_admin/user_moderation_actions.html b/bookwyrm/templates/user_admin/user_moderation_actions.html
index 311cbb4b..816e787a 100644
--- a/bookwyrm/templates/user_admin/user_moderation_actions.html
+++ b/bookwyrm/templates/user_admin/user_moderation_actions.html
@@ -14,4 +14,29 @@
{% endif %}
+ {% if user.local %}
+
+ {% endif %}
diff --git a/bookwyrm/views/user_admin.py b/bookwyrm/views/user_admin.py
index 0aea74ed..3ea7016a 100644
--- a/bookwyrm/views/user_admin.py
+++ b/bookwyrm/views/user_admin.py
@@ -6,7 +6,7 @@ from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
-from bookwyrm import models
+from bookwyrm import forms, models
from bookwyrm.settings import PAGE_LENGTH
@@ -69,4 +69,14 @@ class UserAdmin(View):
def get(self, request, user):
""" user view """
user = get_object_or_404(models.User, id=user)
- return TemplateResponse(request, "user_admin/user.html", {"user": user})
+ data = {"user": user, "group_form": forms.UserGroupForm()}
+ return TemplateResponse(request, "user_admin/user.html", data)
+
+ def post(self, request, user):
+ """ update user group """
+ user = get_object_or_404(models.User, id=user)
+ form = forms.UserGroupForm(request.POST, instance=user)
+ if form.is_valid():
+ form.save()
+ data = {"user": user, "group_form": form}
+ return TemplateResponse(request, "user_admin/user.html", data)