Fix users cannot delete mumble account (#567)

Added helper method for checking a user exists
Added a check for already deleted mumble accounts
This commit is contained in:
Basraah 2016-11-02 13:25:55 +10:00 committed by Adarnof
parent 98e1689aab
commit 2d3055480c
2 changed files with 6 additions and 3 deletions

View File

@ -115,3 +115,7 @@ class MumbleManager:
model.save()
else:
logger.error("User %s not found on mumble. Unable to update groups." % username)
@staticmethod
def user_exists(username):
return MumbleUser.objects.filter(username=username).exists()

View File

@ -514,9 +514,8 @@ def activate_mumble(request):
def deactivate_mumble(request):
logger.debug("deactivate_mumble called by user %s" % request.user)
authinfo = AuthServicesInfo.objects.get_or_create(user=request.user)[0]
result = MumbleManager.delete_user(authinfo.mumble_username)
# if false we failed
if result:
# if we successfully remove the user or the user is already removed
if MumbleManager.delete_user(authinfo.mumble_username) or not MumbleManager.user_exists(authinfo.mumble_username):
AuthServicesInfoManager.update_user_mumble_info("", request.user)
logger.info("Successfully deactivated mumble for user %s" % request.user)
messages.success(request, 'Deactivated Mumble account.')