1
0
Fork 0

undo moves

also cleans up some templates
This commit is contained in:
Hugh Rundle 2023-09-25 22:05:43 +10:00
parent 4fd5e2094a
commit b05f2e99e8
No known key found for this signature in database
GPG key ID: A7E35779918253F9
11 changed files with 80 additions and 21 deletions

View file

@ -37,7 +37,7 @@ from .admin.user_admin import UserAdmin, UserAdminList, ActivateUserAdmin
from .preferences.change_password import ChangePassword
from .preferences.edit_user import EditUser
from .preferences.export import Export
from .preferences.move_user import MoveUser, AliasUser, remove_alias
from .preferences.move_user import MoveUser, AliasUser, remove_alias, unmove
from .preferences.delete_user import DeleteUser, DeactivateUser, ReactivateUser
from .preferences.block import Block, unblock
from .preferences.two_factor_auth import (

View file

@ -2,7 +2,7 @@
from django.core.exceptions import PermissionDenied
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect
from django.shortcuts import get_object_or_404, redirect
from django.template.response import TemplateResponse
from django.utils.decorators import method_decorator
from django.views import View
@ -96,3 +96,16 @@ def remove_alias(request):
request.user.also_known_as.remove(request.POST["alias"])
return redirect("prefs-alias")
@require_POST
@login_required
def unmove(request):
"""undo a user move"""
target = get_object_or_404(models.User, remote_id=request.POST["remote_id"])
move = get_object_or_404(models.MoveUser, target=target, user=request.user)
move.delete()
request.user.moved_to = None
request.user.save(update_fields=["moved_to"], broadcast=True)
return redirect("prefs-alias")