Added support for blue jabber access and blue forums.

Groups remain and are updated.
Now configuration options for disabling individual services.
This commit is contained in:
Raynaldo Rivera 2014-11-11 15:34:21 -07:00
parent d0f40307e7
commit 1eed8751ba
5 changed files with 184 additions and 20 deletions

View File

@ -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'

View File

@ -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'),

View File

@ -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

View File

@ -18,29 +18,79 @@
<th class="text-center">Domain</th>
<th class="text-center">Action</th>
</tr>
<tr>
<td class="text-center">Mumble</td>
<td class="text-center">{{ authinfo.mumble_username }}</td>
<td class="text-center">{{ authinfo.mumble_password }}</td>
<td class="text-center">{{ MUMBLE_URL }}</td>
{% if ENABLE_BLUE_FORUM %}
<td class="text-center">Forums</td>
<td class="text-center">{{ authinfo.forum_username }}</td>
<td class="text-center">{{ authinfo.forum_password }}</td>
<td class="text-center"><a href="{{ FORUM_URL }}">{{ FORUM_URL }}</a></td>
<td class="text-center">
{% ifequal authinfo.mumble_username "" %}
<a href="{% url 'auth_activate_blue_mumble' %}">
<button type="button" class="btn btn-success"><span
{% ifequal authinfo.forum_username "" %}
<a href="{% url 'auth_activate_blue_forum' %}">
<button type="button" class="btn btn-success"><span
class="glyphicon glyphicon-ok"></span></button>
</a>
{% else %}
<a href="{% url 'auth_reset_mumble_password' %}">
<button type="button" class="btn btn-primary"><span
<a href="{% url 'auth_reset_blue_forum_password' %}">
<button type="button" class="btn btn-primary"><span
class="glyphicon glyphicon-refresh"></span></button>
</a>
<a href="{% url 'auth_deactivate_blue_mumble' %}">
<button type="button" class="btn btn-danger"><span
<a href="{% url 'auth_deactivate_blue_forum' %}">
<button type="button" class="btn btn-danger"><span
class="glyphicon glyphicon-remove"></span></button>
</a>
{% endifequal %}
</td>
</tr>
{% endif %}
{% if ENABLE_BLUE_JABBER %}
<tr>
<td class="text-center">Jabber</td>
<td class="text-center">{{ authinfo.jabber_username }}</td>
<td class="text-center">{{ authinfo.jabber_password }}</td>
<td class="text-center">{{ JABBER_URL }}</td>
<td class="text-center">
{% ifequal authinfo.jabber_username "" %}
<a href="{% url 'auth_activate_blue_jabber' %}">
<button type="button" class="btn btn-success"><span
class="glyphicon glyphicon-ok"></span></button>
</a>
{% else %}
<a href="{% url 'auth_reset_blue_jabber_password' %}">
<button type="button" class="btn btn-primary"><span
class="glyphicon glyphicon-refresh"></span></button>
</a>
<a href="{% url 'auth_deactivate_blue_jabber' %}">
<button type="button" class="btn btn-danger"><span
class="glyphicon glyphicon-remove"></span></button>
</a>
{% endifequal %}
</td>
</tr>
{% endif %}
{% if ENABLE_BLUE_MUMBLE %}
<tr>
<td class="text-center">Mumble</td>
<td class="text-center">{{ authinfo.mumble_username }}</td>
<td class="text-center">{{ authinfo.mumble_password }}</td>
<td class="text-center">{{ MUMBLE_URL }}</td>
<td class="text-center">
{% ifequal authinfo.mumble_username "" %}
<a href="{% url 'auth_activate_blue_mumble' %}">
<button type="button" class="btn btn-success"><span
class="glyphicon glyphicon-ok"></span></button>
</a>
{% else %}
<a href="{% url 'auth_reset_blue_mumble_password' %}">
<button type="button" class="btn btn-primary"><span
class="glyphicon glyphicon-refresh"></span></button>
</a>
<a href="{% url 'auth_deactivate_blue_mumble' %}">
<button type="button" class="btn btn-danger"><span
class="glyphicon glyphicon-remove"></span></button>
</a>
{% endifequal %}
</td>
</tr>
{% endif %}
</table>
{% elif perms.auth.alliance_member %}
<table class="table table-bordered">
@ -51,6 +101,7 @@
<th class="text-center">Domain</th>
<th class="text-center">Action</th>
</tr>
{% if ENABLE_ALLIANCE_FORUM %}
<tr>
<td class="text-center">Forums</td>
<td class="text-center">{{ authinfo.forum_username }}</td>
@ -74,6 +125,8 @@
{% endifequal %}
</td>
</tr>
{% endif %}
{% if ENABLE_ALLIANCE_JABBER %}
<tr>
<td class="text-center">Jabber</td>
<td class="text-center">{{ authinfo.jabber_username }}</td>
@ -97,6 +150,8 @@
{% endifequal %}
</td>
</tr>
{% endif %}
{% if ENABLE_ALLIANCE_MUMBLE %}
<tr>
<td class="text-center">Mumble</td>
<td class="text-center">{{ authinfo.mumble_username }}</td>
@ -120,6 +175,7 @@
{% endifequal %}
</td>
</tr>
{% endif %}
</table>
{% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance</div>

View File

@ -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}
'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}