Initial work on reset discord account.

This commit is contained in:
Adarnof 2015-11-30 23:41:44 +00:00
parent a6447d3596
commit d9ffaa5e50
4 changed files with 26 additions and 6 deletions

View File

@ -128,6 +128,7 @@ urlpatterns = patterns('',
# Discord Service Control
url(r'^activate_discord/$', 'services.views.activate_discord', name='auth_activate_discord'),
url(r'^deactivate_discord/$', 'services.views.deactivate_discord', name='auth_deactivate_discord'),
url(r'^reset_discord/$', 'services.views.reset_discord', name='auth_reset_discord'),
# Tools
url(r'^tool/fleet_formatter_tool/$', 'services.views.fleet_formatter_view',

View File

@ -227,13 +227,12 @@ class DiscordManager:
def delete_user(username):
try:
user_id = DiscordAPIManager.get_user_id(username)
except:
DiscordAPIManager.kick_user(settings.DISCORD_SERVER_ID, user_id)
except KeyError:
#user does not exist
return True
try:
DiscordAPIManager.kick_user(settings.DISCORD_SERVER_ID, user_id)
return True
except:
#something went wrong
return False
@staticmethod

View File

@ -337,11 +337,23 @@ def activate_discord(request):
@user_passes_test(service_blue_alliance_test)
def deactivate_discord(request):
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
result = DiscordManager.delete_user(authinfo.jabber_username)
result = DiscordManager.delete_user(authinfo.discord_username)
remove_all_syncgroups_for_service(request.user, "discord")
# If our username is blank means we failed
if result:
AuthServicesInfoManager.update_user_discord_info("", "", request.user)
return HttpResponseRedirect("/services/")
return HttpResponseRedirect("/dashboard")
@login_required
@user_passes_test(service_blue_alliance_test)
def reset_discord(request):
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
result = DiscordManager.delete_user(authinfo.discord_username)
if result:
# ensures succesful deletion
new_result = DiscordManager.add_user(authinfo.discord_username)
if new_result:
# ensures succesful creation
AuthServicesInfoManager.update_user_discord_info(new_result[0], new_result[1], request.user)
return HttpResponseRedirect("/services/")
return HttpResponseRedirect("/services/")

View File

@ -172,6 +172,10 @@
class="glyphicon glyphicon-ok"></span></button>
</a>
{% else %}
<a href="{% url 'auth_reset_discord' %}">
<button type="button" class="btn btn-primary"><span
class="glyphicon glyphicon-refresh"></span></button>
</a>
<a href="{% url 'auth_deactivate_discord' %}">
<button type="button" class="btn btn-danger"><span
class="glyphicon glyphicon-remove"></span></button>
@ -346,6 +350,10 @@
class="glyphicon glyphicon-ok"></span></button>
</a>
{% else %}
<a href="{% url 'auth_reset_discord' %}">
<button type="button" class="btn btn-primary"><span
class="glyphicon glyphicon-refresh"></span></button>
</a>
<a href="{% url 'auth_deactivate_discord' %}">
<button type="button" class="btn btn-danger"><span
class="glyphicon glyphicon-remove"></span></button>