diff --git a/alliance_auth/settings.py b/alliance_auth/settings.py index 678ababa..65e72911 100644 --- a/alliance_auth/settings.py +++ b/alliance_auth/settings.py @@ -153,6 +153,14 @@ STATIC_URL = '/static/' DEFAULT_ALLIANCE_GROUP = 'AllianceMember' DEFAULT_BLUE_GROUP = 'BlueMember' +ENABLE_ALLIANCE_FORUM = True +ENABLE_ALLIANCE_JABBER = True +ENABLE_ALLIANCE_MUMBLE = True + +ENABLE_BLUE_FORUM = False +ENABLE_BLUE_JABBER = False +ENABLE_BLUE_MUMBLE = True + # ALLIANCE INFO ALLIANCE_ID = '99001336' ALLIANCE_NAME = 'Somealliance' diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index f6de2ca4..324c5809 100644 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -86,22 +86,39 @@ urlpatterns = patterns('', url(r'^reset_forum_password/$', 'services.views.reset_forum_password', name='auth_reset_forum_password'), + url(r'^activate_blue_forum/$', 'services.views.activate_blue_forum', + name='auth_activate_blue_forum'), + url(r'^deactivate_blue_forum/$', 'services.views.deactivate_blue_forum', + name='auth_deactivate_blue_forum'), + url(r'^reset_blue_forum_password/$', 'services.views.reset_blue_forum_password', + name='auth_reset_blue_forum_password'), + # Jabber Service Control url(r'^activate_jabber/$', 'services.views.activate_jabber', name='auth_activate_jabber'), url(r'^deactivate_jabber/$', 'services.views.deactivate_jabber', name='auth_deactivate_jabber'), url(r'^reset_jabber_password/$', 'services.views.reset_jabber_password', name='auth_reset_jabber_password'), - # Mumble service contraol - url(r'^activate_blue_mumble/$', 'services.views.activate_blue_mumble', - name='auth_activate_blue_mumble'), + url(r'^activate_blue_jabber/$', 'services.views.activate_blue_jabber', + name='auth_activate_blue_jabber'), + url(r'^deactivate_blue_jabber/$', 'services.views.deactivate_blue_jabber', + name='auth_deactivate_blue_jabber'), + url(r'^reset_blue_jabber_password/$', 'services.views.reset_blue_jabber_password', + name='auth_reset_blue_jabber_password'), + + # Mumble service control url(r'^activate_mumble/$', 'services.views.activate_mumble', name='auth_activate_mumble'), url(r'^deactivate_mumble/$', 'services.views.deactivate_mumble', name='auth_deactivate_mumble'), - url(r'^deactivate_blue_mumble/$', 'services.views.deactivate_blue_mumble', - name='auth_deactivate_blue_mumble'), url(r'^reset_mumble_password/$', 'services.views.reset_mumble_password', name='auth_reset_mumble_password'), + url(r'^activate_blue_mumble/$', 'services.views.activate_blue_mumble', + name='auth_activate_blue_mumble'), + url(r'^deactivate_blue_mumble/$', 'services.views.deactivate_blue_mumble', + name='auth_deactivate_blue_mumble'), + url(r'^reset_blue_mumble_password/$', 'services.views.reset_blue_mumble_password', + name='auth_reset_blue_mumble_password'), + # Tools url(r'^tool/fleet_formatter_tool/$', 'services.views.fleet_formatter_view', name='auth_fleet_format_tool_view'), diff --git a/services/views.py b/services/views.py index a008eb5a..8c4c5113 100644 --- a/services/views.py +++ b/services/views.py @@ -81,6 +81,21 @@ def activate_forum(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def activate_blue_forum(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + # Valid now we get the main characters + character = EveManager.get_character_by_id(authinfo.main_char_id) + result = ForumManager.add_user(character.character_name, request.user.email, ['REGISTERED']) + # if empty we failed + if result[0] != "": + AuthServicesInfoManager.update_user_forum_info(result[0], result[1], request.user) + update_forum_groups(request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def deactivate_forum(request): @@ -93,6 +108,18 @@ def deactivate_forum(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def deactivate_blue_forum(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + result = ForumManager.disable_user(authinfo.forum_username) + # false we failed + if result: + AuthServicesInfoManager.update_user_forum_info("", "", request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def reset_forum_password(request): @@ -105,6 +132,18 @@ def reset_forum_password(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def reset_blue_forum_password(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + result = ForumManager.update_user_password(authinfo.forum_username) + # false we failed + if result != "": + AuthServicesInfoManager.update_user_forum_info(authinfo.forum_username, result, request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def activate_jabber(request): @@ -119,6 +158,20 @@ def activate_jabber(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def activate_blue_jabber(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + character = EveManager.get_character_by_id(authinfo.main_char_id) + info = JabberManager.add_user(character.character_name) + # If our username is blank means we already had a user + if info[0] is not "": + AuthServicesInfoManager.update_user_jabber_info(info[0], info[1], request.user) + update_jabber_groups(request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def deactivate_jabber(request): @@ -131,6 +184,18 @@ def deactivate_jabber(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def deactivate_blue_jabber(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + result = JabberManager.delete_user(authinfo.jabber_username) + # If our username is blank means we failed + if result: + AuthServicesInfoManager.update_user_jabber_info("", "", request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def reset_jabber_password(request): @@ -143,6 +208,18 @@ def reset_jabber_password(request): return HttpResponseRedirect("/dashboard") +@login_required +@permission_required('auth.blue_member') +def reset_blue_jabber_password(request): + authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) + result = JabberManager.update_user_pass(authinfo.jabber_username) + # If our username is blank means we failed + if result != "": + AuthServicesInfoManager.update_user_jabber_info(authinfo.jabber_username, result, request.user) + return HttpResponseRedirect("/services/") + return HttpResponseRedirect("/dashboard") + + @login_required @permission_required('auth.alliance_member') def activate_mumble(request): @@ -209,7 +286,7 @@ def reset_mumble_password(request): @login_required @permission_required('auth.blue_member') -def reset_mumble_password(request): +def reset_blue_mumble_password(request): authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) result = MumbleManager.update_user_password(authinfo.mumble_username) # if blank we failed diff --git a/templates/registered/services.html b/templates/registered/services.html index e0d2fcff..659f6846 100644 --- a/templates/registered/services.html +++ b/templates/registered/services.html @@ -18,29 +18,79 @@ Domain Action - - Mumble - {{ authinfo.mumble_username }} - {{ authinfo.mumble_password }} - {{ MUMBLE_URL }} + {% if ENABLE_BLUE_FORUM %} + Forums + {{ authinfo.forum_username }} + {{ authinfo.forum_password }} + {{ FORUM_URL }} - {% ifequal authinfo.mumble_username "" %} - - {% else %} - - - - {% endifequal %} - + {% endif %} + {% if ENABLE_BLUE_JABBER %} + + Jabber + {{ authinfo.jabber_username }} + {{ authinfo.jabber_password }} + {{ JABBER_URL }} + + {% ifequal authinfo.jabber_username "" %} + + + + {% else %} + + + + + + + {% endifequal %} + + + {% endif %} + {% if ENABLE_BLUE_MUMBLE %} + + Mumble + {{ authinfo.mumble_username }} + {{ authinfo.mumble_password }} + {{ MUMBLE_URL }} + + {% ifequal authinfo.mumble_username "" %} + + + + {% else %} + + + + + + + {% endifequal %} + + + {% endif %} {% elif perms.auth.alliance_member %} @@ -51,6 +101,7 @@ + {% if ENABLE_ALLIANCE_FORUM %} @@ -74,6 +125,8 @@ {% endifequal %} + {% endif %} + {% if ENABLE_ALLIANCE_JABBER %} @@ -97,6 +150,8 @@ {% endifequal %} + {% endif %} + {% if ENABLE_ALLIANCE_MUMBLE %} @@ -120,6 +175,7 @@ {% endifequal %} + {% endif %}
Domain Action
Forums {{ authinfo.forum_username }}
Jabber {{ authinfo.jabber_username }}
Mumble {{ authinfo.mumble_username }}
{% else %} diff --git a/util/context_processors.py b/util/context_processors.py index 8df8d9b6..d0d223bb 100644 --- a/util/context_processors.py +++ b/util/context_processors.py @@ -15,4 +15,10 @@ def jabber_url(request): def domain_url(request): return {'DOMAIN': settings.DOMAIN, 'MUMBLE_URL': settings.MUMBLE_URL, - 'FORUM_URL': settings.FORUM_URL} \ No newline at end of file + 'FORUM_URL': settings.FORUM_URL, + 'ENABLE_ALLIANCE_FORUM': settings.ENABLE_ALLIANCE_FORUM, + 'ENABLE_ALLIANCE_JABBER': settings.ENABLE_ALLIANCE_JABBER, + 'ENABLE_ALLIANCE_MUMBLE': settings.ENABLE_ALLIANCE_MUMBLE, + 'ENABLE_BLUE_JABBER': settings.ENABLE_BLUE_JABBER, + 'ENABLE_BLUE_FORUM': settings.ENABLE_BLUE_FORUM, + 'ENABLE_BLUE_MUMBLE': settings.ENABLE_BLUE_MUMBLE} \ No newline at end of file