mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 04:20:17 +02:00
264 lines
9.3 KiB
Python
264 lines
9.3 KiB
Python
from django.shortcuts import render_to_response, HttpResponseRedirect
|
|
from django.conf import settings
|
|
from django.template import RequestContext
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.contrib.auth.decorators import permission_required
|
|
|
|
from services.eveapi_manager import EveApiManager
|
|
from evespecific.managers import EveManager
|
|
from authentication.models import AllianceUserManager
|
|
from services.phpbb3_manager import Phpbb3Manager
|
|
from services.jabber_manager import JabberManager
|
|
from services.mumble_manager import MumbleManager
|
|
|
|
from forms import UpdateKeyForm
|
|
|
|
|
|
def index_view(request):
|
|
return render_to_response('public/index.html', None, context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def dashboard_view(request):
|
|
return render_to_response('registered/dashboard.html', None, context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def characters_view(request):
|
|
evemanager = EveManager()
|
|
|
|
render_items = {'characters': evemanager.get_characters_by_owner_id(request.user.id)}
|
|
return render_to_response('registered/characters.html', render_items, context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def api_key_management_view(request):
|
|
api = EveApiManager()
|
|
evemanager = EveManager()
|
|
|
|
if request.method == 'POST':
|
|
form = UpdateKeyForm(request.POST)
|
|
|
|
if form.is_valid():
|
|
evemanager.create_api_keypair(form.cleaned_data['api_id'],
|
|
form.cleaned_data['api_key'],
|
|
request.user)
|
|
|
|
# Grab characters associated with the key pair
|
|
|
|
characters = api.get_characters_from_api(form.cleaned_data['api_id'], form.cleaned_data['api_key'])
|
|
evemanager.create_characters_from_list(characters, request.user, form.cleaned_data['api_id'])
|
|
return HttpResponseRedirect("/api_key_management/")
|
|
else:
|
|
form = UpdateKeyForm()
|
|
context = {'form': form, 'apikeypairs': evemanager.get_api_key_pairs(request.user.id)}
|
|
return render_to_response('registered/apikeymanagment.html', context,
|
|
context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def api_key_removal(request, api_id):
|
|
evemanager = EveManager()
|
|
usermanager = AllianceUserManager()
|
|
# Check if our users main id is in the to be deleted characters
|
|
characters = evemanager.get_characters_by_owner_id(request.user.id)
|
|
if characters is not None:
|
|
for character in characters:
|
|
if character.character_id == request.user.main_char_id:
|
|
# TODO: Remove servies also
|
|
usermanager.update_user_main_character("", request.user.id)
|
|
|
|
evemanager.delete_api_key_pair(api_id, request.user.id)
|
|
evemanager.delete_characters_by_api_id(api_id, request.user.id)
|
|
|
|
return HttpResponseRedirect("/api_key_management/")
|
|
|
|
|
|
@login_required
|
|
def services_view(request):
|
|
return render_to_response('registered/services.html', None, context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def help_view(request):
|
|
return render_to_response('registered/help.html', None, context_instance=RequestContext(request))
|
|
|
|
|
|
@login_required
|
|
def main_character_change(request, char_id):
|
|
usermanager = AllianceUserManager()
|
|
charactermanager = EveManager()
|
|
if charactermanager.check_if_character_owned_by_user(char_id, request.user):
|
|
usermanager.update_user_main_character(char_id, request.user.id)
|
|
# Check if character is in the alliance
|
|
if charactermanager.get_charater_alliance_id_by_id(char_id) == settings.ALLIANCE_ID:
|
|
usermanager.add_alliance_member_permission(request.user.id)
|
|
else:
|
|
#TODO: disable serivces
|
|
usermanager.remove_alliance_member_permission(request.user.id)
|
|
|
|
return HttpResponseRedirect("/characters")
|
|
return HttpResponseRedirect("/characters")
|
|
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def activate_forum(request):
|
|
usermanager = AllianceUserManager()
|
|
forummanager = Phpbb3Manager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
# Valid now we get the main characters
|
|
charactermanager = EveManager()
|
|
character = charactermanager.get_character_by_id(request.user.main_char_id)
|
|
|
|
result = forummanager.add_user(character.character_name, request.user.email, ['REGISTERED'])
|
|
|
|
# if empty we failed
|
|
if result[0] != "":
|
|
usermanager.update_user_forum_info(result[0], result[1], request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def deactivate_forum(request):
|
|
usermanager = AllianceUserManager()
|
|
forummanager = Phpbb3Manager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
|
|
result = forummanager.disable_user(request.user.forum_username)
|
|
|
|
# false we failed
|
|
if result:
|
|
usermanager.update_user_forum_info("", "", request.user.id)
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def reset_forum_password(request):
|
|
usermanager = AllianceUserManager()
|
|
forummanager = Phpbb3Manager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
|
|
result = forummanager.update_user_password(request.user.forum_username)
|
|
|
|
# false we failed
|
|
if result != "":
|
|
usermanager.update_user_forum_info(request.user.forum_username, result, request.user.id)
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def activate_jabber(request):
|
|
usermanager = AllianceUserManager()
|
|
jabbermanager = JabberManager()
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
charactermanager = EveManager()
|
|
character = charactermanager.get_character_by_id(request.user.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 "":
|
|
usermanager.update_user_jabber_info(info[0], info[1], request.user.id)
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def deactivate_jabber(request):
|
|
usermanager = AllianceUserManager()
|
|
jabbermanager = JabberManager()
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
result = jabbermanager.delete_user(request.user.jabber_username)
|
|
# If our username is blank means we failed
|
|
if result:
|
|
usermanager.update_user_jabber_info("", "", request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def reset_jabber_password(request):
|
|
usermanager = AllianceUserManager()
|
|
jabbermanager = JabberManager()
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
result = jabbermanager.update_user_pass(request.user.jabber_username)
|
|
# If our username is blank means we failed
|
|
if result != "":
|
|
usermanager.update_user_jabber_info(request.user.jabber_username, result, request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/dashboard")
|
|
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def activate_mumble(request):
|
|
usermanager = AllianceUserManager()
|
|
charactermanager = EveManager()
|
|
mumblemanager = MumbleManager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
character = charactermanager.get_character_by_id(request.user.main_char_id)
|
|
|
|
result = mumblemanager.create_user(character.corporation_ticker, character.character_name)
|
|
|
|
# if its empty we failed
|
|
if result[0] is not "":
|
|
usermanager.update_user_mumble_info(result[0], result[1], request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def deactivate_mumble(request):
|
|
usermanager = AllianceUserManager()
|
|
mumblemanager = MumbleManager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
|
|
result = mumblemanager.delete_user(request.user.mumble_username)
|
|
|
|
# if false we failed
|
|
if result:
|
|
usermanager.update_user_mumble_info("", "", request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/")
|
|
|
|
@login_required
|
|
@permission_required('authentication.alliance_member')
|
|
def reset_mumble_password(request):
|
|
|
|
usermanager = AllianceUserManager()
|
|
mumblemanager = MumbleManager()
|
|
|
|
if usermanager.check_if_user_exist_by_id(request.user.id):
|
|
|
|
result = mumblemanager.update_user_password(request.user.mumble_username)
|
|
|
|
# if blank we failed
|
|
if result != "":
|
|
usermanager.update_user_mumble_info(request.user.mumble_username, result, request.user.id)
|
|
|
|
return HttpResponseRedirect("/services/")
|
|
|
|
return HttpResponseRedirect("/") |