Skip to content

Commit

Permalink
Merge pull request #2766 from bookwyrm-social/redirect-in-admin
Browse files Browse the repository at this point in the history
Uses referer redirect for some admin views
  • Loading branch information
jaschaurbach authored Apr 1, 2023
2 parents 499ff58 + 05e154f commit d35b1d9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
3 changes: 2 additions & 1 deletion bookwyrm/views/admin/imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from django.views.decorators.http import require_POST

from bookwyrm import models
from bookwyrm.views.helpers import redirect_to_referer
from bookwyrm.settings import PAGE_LENGTH


Expand Down Expand Up @@ -57,7 +58,7 @@ def post(self, request, import_id):
"""Mark an import as complete"""
import_job = get_object_or_404(models.ImportJob, id=import_id)
import_job.stop_job()
return redirect("settings-imports")
return redirect_to_referer(request, "settings-imports")


@require_POST
Expand Down
11 changes: 6 additions & 5 deletions bookwyrm/views/admin/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from django.views import View

from bookwyrm import forms, models
from bookwyrm.views.helpers import redirect_to_referer
from bookwyrm.settings import PAGE_LENGTH


Expand Down Expand Up @@ -84,26 +85,26 @@ def post(self, request, report_id):

@login_required
@permission_required("bookwyrm.moderate_user")
def suspend_user(_, user_id):
def suspend_user(request, user_id):
"""mark an account as inactive"""
user = get_object_or_404(models.User, id=user_id)
user.is_active = False
user.deactivation_reason = "moderator_suspension"
# this isn't a full deletion, so we don't want to tell the world
user.save(broadcast=False)
return redirect("settings-user", user.id)
return redirect_to_referer(request, "settings-user", user.id)


@login_required
@permission_required("bookwyrm.moderate_user")
def unsuspend_user(_, user_id):
def unsuspend_user(request, user_id):
"""mark an account as inactive"""
user = get_object_or_404(models.User, id=user_id)
user.is_active = True
user.deactivation_reason = None
# this isn't a full deletion, so we don't want to tell the world
user.save(broadcast=False)
return redirect("settings-user", user.id)
return redirect_to_referer(request, "settings-user", user.id)


@login_required
Expand All @@ -123,7 +124,7 @@ def moderator_delete_user(request, user_id):
if form.is_valid() and moderator.check_password(form.cleaned_data["password"]):
user.deactivation_reason = "moderator_deletion"
user.delete()
return redirect("settings-user", user.id)
return redirect_to_referer(request, "settings-user", user.id)

form.errors["password"] = ["Invalid password"]

Expand Down

0 comments on commit d35b1d9

Please sign in to comment.