mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
Added more stuff and multiple api keys
This commit is contained in:
parent
7521d9fc4d
commit
eacb3d03b8
@ -6,12 +6,15 @@ Note2: Most importantly though it works....
|
|||||||
|
|
||||||
Requirments:
|
Requirments:
|
||||||
django 1.6.1
|
django 1.6.1
|
||||||
|
django-evolution
|
||||||
|
django-bootstrap-form
|
||||||
|
|
||||||
python-mysql-connector
|
python-mysql-connector
|
||||||
python-mysqld
|
python-mysqld
|
||||||
django-evolution
|
|
||||||
python-passlib
|
python-passlib
|
||||||
python-evelink
|
python-evelink
|
||||||
python-openfire
|
python-openfire
|
||||||
|
|
||||||
bcrypt
|
bcrypt
|
||||||
|
|
||||||
Services Interaction:
|
Services Interaction:
|
||||||
|
@ -53,6 +53,7 @@ INSTALLED_APPS = (
|
|||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'django_evolution',
|
'django_evolution',
|
||||||
|
'bootstrapform',
|
||||||
'authentication',
|
'authentication',
|
||||||
'portal',
|
'portal',
|
||||||
'registration',
|
'registration',
|
||||||
@ -154,8 +155,8 @@ ALLIANCE_ID = 0
|
|||||||
ALLIANCE_NAME = ''
|
ALLIANCE_NAME = ''
|
||||||
|
|
||||||
# Jabber Prosody Info
|
# Jabber Prosody Info
|
||||||
OPENFIRE_ADDRESS = "http://someaddress.com:9090/"
|
OPENFIRE_ADDRESS = "http://something.com:9090/"
|
||||||
OPENFIRE_SECRET_KEY = "somesecretkey"
|
OPENFIRE_SECRET_KEY = "somekey"
|
||||||
|
|
||||||
# Mumble settings
|
# Mumble settings
|
||||||
MUMBLE_SERVER_ID = 1
|
MUMBLE_SERVER_ID = 1
|
@ -20,8 +20,9 @@ urlpatterns = patterns('',
|
|||||||
url(r'^logout_user/', 'authentication.views.logout_user', name='auth_logout_user'),
|
url(r'^logout_user/', 'authentication.views.logout_user', name='auth_logout_user'),
|
||||||
|
|
||||||
# None views
|
# None views
|
||||||
url(r'^main_character_change/(\d+)/$', 'portal.views.main_character_change', name='auth_main_character_change'),
|
url(r'^main_character_change/(\w+)/$', 'portal.views.main_character_change', name='auth_main_character_change'),
|
||||||
url(r'^activate_forum/$', 'portal.views.activate_forum', name='auth_activate_forum'),
|
url(r'^activate_forum/$', 'portal.views.activate_forum', name='auth_activate_forum'),
|
||||||
url(r'^activate_jabber/$', 'portal.views.activate_jabber', name='auth_activate_jabber'),
|
url(r'^activate_jabber/$', 'portal.views.activate_jabber', name='auth_activate_jabber'),
|
||||||
url(r'^activate_mumble/$', 'portal.views.activate_mumble', name='auth_activate_mumble'),
|
url(r'^activate_mumble/$', 'portal.views.activate_mumble', name='auth_activate_mumble'),
|
||||||
|
url(r'^delete_api_pair/(\w+)/$', 'portal.views.api_key_removal', name='auth_api_key_removal')
|
||||||
)
|
)
|
||||||
|
@ -23,27 +23,6 @@ class AllianceUserManager(BaseUserManager):
|
|||||||
user.save(using=self._db)
|
user.save(using=self._db)
|
||||||
return user
|
return user
|
||||||
|
|
||||||
def create_user_withapi(self, username, email, password, api_id, api_key):
|
|
||||||
"""
|
|
||||||
Creates and saves a User with the given email, date of
|
|
||||||
birth and password.
|
|
||||||
"""
|
|
||||||
|
|
||||||
if not username:
|
|
||||||
raise ValueError('Users must have a username')
|
|
||||||
|
|
||||||
if not email:
|
|
||||||
raise ValueError('Users must have an email address')
|
|
||||||
|
|
||||||
user = AllianceUser()
|
|
||||||
user.set_username(username)
|
|
||||||
user.set_email(email)
|
|
||||||
user.set_password(password)
|
|
||||||
user.api_id = api_id
|
|
||||||
user.api_key = api_key
|
|
||||||
user.save(using=self._db)
|
|
||||||
return user
|
|
||||||
|
|
||||||
def create_superuser(self, username, email, password):
|
def create_superuser(self, username, email, password):
|
||||||
"""
|
"""
|
||||||
Creates and saves a superuser with the given email, date of
|
Creates and saves a superuser with the given email, date of
|
||||||
@ -95,8 +74,6 @@ class AllianceUser(AbstractBaseUser):
|
|||||||
is_admin = models.BooleanField(default=False)
|
is_admin = models.BooleanField(default=False)
|
||||||
is_moderator = models.BooleanField(default=False)
|
is_moderator = models.BooleanField(default=False)
|
||||||
is_banned = models.BooleanField(default=False)
|
is_banned = models.BooleanField(default=False)
|
||||||
api_id = models.CharField(max_length=254)
|
|
||||||
api_key = models.CharField(max_length=254)
|
|
||||||
main_char_id = models.IntegerField(default=0)
|
main_char_id = models.IntegerField(default=0)
|
||||||
|
|
||||||
# Login information stuff
|
# Login information stuff
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
from models import EveCharacter
|
from models import EveCharacter
|
||||||
|
from models import EveApiKeyPair
|
||||||
from services.eveapi_manager import EveApiManager
|
from services.eveapi_manager import EveApiManager
|
||||||
|
|
||||||
|
|
||||||
class EveCharacterManager():
|
class EveManager():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def create_character(self, character_id, character_name, corporation_id,
|
def create_character(self, character_id, character_name, corporation_id,
|
||||||
corporation_name, corporation_ticker, alliance_id,
|
corporation_name, corporation_ticker, alliance_id,
|
||||||
alliance_name, allianceuser_owner):
|
alliance_name, user, api_id):
|
||||||
|
|
||||||
|
if not EveCharacter.objects.filter(character_id=character_id).exists():
|
||||||
eve_char = EveCharacter();
|
eve_char = EveCharacter();
|
||||||
eve_char.character_id = character_id
|
eve_char.character_id = character_id
|
||||||
eve_char.character_name = character_name
|
eve_char.character_name = character_name
|
||||||
@ -19,11 +21,11 @@ class EveCharacterManager():
|
|||||||
eve_char.corporation_ticker = corporation_ticker
|
eve_char.corporation_ticker = corporation_ticker
|
||||||
eve_char.alliance_id = alliance_id
|
eve_char.alliance_id = alliance_id
|
||||||
eve_char.alliance_name = alliance_name
|
eve_char.alliance_name = alliance_name
|
||||||
eve_char.allianceuser_owner = allianceuser_owner
|
eve_char.user = user
|
||||||
|
eve_char.api_id = api_id
|
||||||
eve_char.save()
|
eve_char.save()
|
||||||
|
|
||||||
def create_characters_from_list(self, chars, owner):
|
def create_characters_from_list(self, chars, user, api_id):
|
||||||
evemanager = EveApiManager()
|
evemanager = EveApiManager()
|
||||||
|
|
||||||
for char in chars.result:
|
for char in chars.result:
|
||||||
@ -35,13 +37,42 @@ class EveCharacterManager():
|
|||||||
evemanager.get_corporation_ticker_from_id(chars.result[char]['corp']['id']),
|
evemanager.get_corporation_ticker_from_id(chars.result[char]['corp']['id']),
|
||||||
chars.result[char]['alliance']['id'],
|
chars.result[char]['alliance']['id'],
|
||||||
chars.result[char]['alliance']['name'],
|
chars.result[char]['alliance']['name'],
|
||||||
owner)
|
user, api_id)
|
||||||
|
|
||||||
|
def create_api_keypair(self, api_id, api_key, user_id):
|
||||||
|
if not EveApiKeyPair.objects.filter(api_id=api_id).exists():
|
||||||
|
api_pair = EveApiKeyPair()
|
||||||
|
api_pair.api_id = api_id
|
||||||
|
api_pair.api_key = api_key
|
||||||
|
api_pair.user = user_id
|
||||||
|
api_pair.save()
|
||||||
|
|
||||||
|
def get_api_key_pairs(self, user_id):
|
||||||
|
if EveApiKeyPair.objects.filter(user=user_id).exists():
|
||||||
|
return EveApiKeyPair.objects.filter(user=user_id)
|
||||||
|
|
||||||
|
def delete_api_key_pair(self, api_id, user_id):
|
||||||
|
if EveApiKeyPair.objects.filter(api_id=api_id).exists():
|
||||||
|
# Check that its owned by our user_id
|
||||||
|
apikeypair = EveApiKeyPair.objects.get(api_id=api_id)
|
||||||
|
if apikeypair.user.id == user_id:
|
||||||
|
apikeypair.delete()
|
||||||
|
|
||||||
|
def delete_characters_by_api_id(self, api_id, user_id):
|
||||||
|
if EveCharacter.objects.filter(api_id=api_id).exists():
|
||||||
|
# Check that its owned by our user_id
|
||||||
|
characters = EveCharacter.objects.filter(api_id=api_id)
|
||||||
|
|
||||||
|
for char in characters:
|
||||||
|
if char.user.id == user_id:
|
||||||
|
char.delete()
|
||||||
|
|
||||||
|
|
||||||
def check_if_character_exist(self, char_name):
|
def check_if_character_exist(self, char_name):
|
||||||
return EveCharacter.objects.filter(character_name=char_name).exists()
|
return EveCharacter.objects.filter(character_name=char_name).exists()
|
||||||
|
|
||||||
def get_characters_by_owner_id(self, owner_id):
|
def get_characters_by_owner_id(self, user_id):
|
||||||
return EveCharacter.objects.all().filter(allianceuser_owner=owner_id)
|
return EveCharacter.objects.all().filter(user_id=user_id)
|
||||||
|
|
||||||
def get_character_by_id(self, char_id):
|
def get_character_by_id(self, char_id):
|
||||||
if EveCharacter.objects.filter(character_id = char_id).exists():
|
if EveCharacter.objects.filter(character_id = char_id).exists():
|
||||||
|
@ -11,4 +11,11 @@ class EveCharacter(models.Model):
|
|||||||
corporation_ticker = models.CharField(max_length=254)
|
corporation_ticker = models.CharField(max_length=254)
|
||||||
alliance_id = models.CharField(max_length=254)
|
alliance_id = models.CharField(max_length=254)
|
||||||
alliance_name = models.CharField(max_length=254)
|
alliance_name = models.CharField(max_length=254)
|
||||||
allianceuser_owner = models.ForeignKey(AllianceUser)
|
api_id = models.CharField(max_length=254)
|
||||||
|
user = models.ForeignKey(AllianceUser)
|
||||||
|
|
||||||
|
|
||||||
|
class EveApiKeyPair(models.Model):
|
||||||
|
api_id = models.CharField(max_length=254)
|
||||||
|
api_key = models.CharField(max_length=254)
|
||||||
|
user = models.ForeignKey(AllianceUser)
|
@ -3,7 +3,8 @@ from django.shortcuts import render_to_response, HttpResponseRedirect
|
|||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
from evespecific.managers import EveCharacterManager
|
from services.eveapi_manager import EveApiManager
|
||||||
|
from evespecific.managers import EveManager
|
||||||
from authentication.models import AllianceUserManager
|
from authentication.models import AllianceUserManager
|
||||||
from services.phpbb3_manager import Phpbb3Manager
|
from services.phpbb3_manager import Phpbb3Manager
|
||||||
from services.jabber_manager import JabberManager
|
from services.jabber_manager import JabberManager
|
||||||
@ -23,25 +24,43 @@ def dashboard_view(request):
|
|||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def characters_view(request):
|
def characters_view(request):
|
||||||
characterManager = EveCharacterManager()
|
evemanager = EveManager()
|
||||||
|
|
||||||
render_items = {'characters':characterManager.get_characters_by_owner_id(request.user.id)}
|
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))
|
return render_to_response('registered/characters.html', render_items, context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def api_key_management_view(request):
|
def api_key_management_view(request):
|
||||||
|
api = EveApiManager()
|
||||||
|
evemanager = EveManager()
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = UpdateKeyForm(request.POST)
|
form = UpdateKeyForm(request.POST)
|
||||||
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
|
evemanager.create_api_keypair(form.cleaned_data['api_id'],
|
||||||
|
form.cleaned_data['api_key'],
|
||||||
|
request.user)
|
||||||
|
|
||||||
return HttpResponseRedirect("/")
|
# 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:
|
else:
|
||||||
form = UpdateKeyForm(initial={'api_id':request.user.api_id,'api_key':request.user.api_key})
|
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))
|
||||||
|
|
||||||
return render_to_response('registered/apikeymanagment.html', {'form':form}, context_instance=RequestContext(request))
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def api_key_removal(request, api_id):
|
||||||
|
evemanager = EveManager()
|
||||||
|
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
|
@login_required
|
||||||
def applications_view(request):
|
def applications_view(request):
|
||||||
@ -51,7 +70,7 @@ def applications_view(request):
|
|||||||
@login_required
|
@login_required
|
||||||
def main_character_change(request, id):
|
def main_character_change(request, id):
|
||||||
userManager = AllianceUserManager()
|
userManager = AllianceUserManager()
|
||||||
characterManager = EveCharacterManager()
|
characterManager = EveManager()
|
||||||
if characterManager.check_if_character_owned_by_user(id,request.user.id) == True:
|
if characterManager.check_if_character_owned_by_user(id,request.user.id) == True:
|
||||||
userManager.update_user_main_character(id,request.user.id)
|
userManager.update_user_main_character(id,request.user.id)
|
||||||
return HttpResponseRedirect("/")
|
return HttpResponseRedirect("/")
|
||||||
@ -65,7 +84,7 @@ def activate_forum(request):
|
|||||||
|
|
||||||
if userManager.check_if_user_exist(request.user.id):
|
if userManager.check_if_user_exist(request.user.id):
|
||||||
# Valid now we get the main characters
|
# Valid now we get the main characters
|
||||||
characterManager = EveCharacterManager()
|
characterManager = EveManager()
|
||||||
character = characterManager.get_character_by_id(request.user.main_char_id)
|
character = characterManager.get_character_by_id(request.user.main_char_id)
|
||||||
|
|
||||||
if forumManager.check_user(character.character_name) == False:
|
if forumManager.check_user(character.character_name) == False:
|
||||||
@ -80,7 +99,7 @@ def activate_jabber(request):
|
|||||||
userManager = AllianceUserManager()
|
userManager = AllianceUserManager()
|
||||||
jabberManager = JabberManager()
|
jabberManager = JabberManager()
|
||||||
if userManager.check_if_user_exist(request.user.id):
|
if userManager.check_if_user_exist(request.user.id):
|
||||||
characterManager = EveCharacterManager()
|
characterManager = EveManager()
|
||||||
character = characterManager.get_character_by_id(request.user.main_char_id)
|
character = characterManager.get_character_by_id(request.user.main_char_id)
|
||||||
|
|
||||||
jabberManager.add_user(character.character_name,"test")
|
jabberManager.add_user(character.character_name,"test")
|
||||||
@ -93,11 +112,11 @@ def activate_jabber(request):
|
|||||||
@login_required
|
@login_required
|
||||||
def activate_mumble(request):
|
def activate_mumble(request):
|
||||||
userManager = AllianceUserManager()
|
userManager = AllianceUserManager()
|
||||||
characterManager = EveCharacterManager()
|
characterManager = EveManager()
|
||||||
mumbleManager = MumbleManager()
|
mumbleManager = MumbleManager()
|
||||||
|
|
||||||
if userManager.check_if_user_exist(request.user.id):
|
if userManager.check_if_user_exist(request.user.id):
|
||||||
characterManager = EveCharacterManager()
|
characterManager = EveManager()
|
||||||
character = characterManager.get_character_by_id(request.user.main_char_id)
|
character = characterManager.get_character_by_id(request.user.main_char_id)
|
||||||
|
|
||||||
mumbleManager.create_user(character.character_name, "test")
|
mumbleManager.create_user(character.character_name, "test")
|
||||||
|
@ -2,7 +2,7 @@ from django.http import Http404,HttpResponseRedirect
|
|||||||
from django.shortcuts import render_to_response, render
|
from django.shortcuts import render_to_response, render
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from authentication.models import AllianceUserManager
|
from authentication.models import AllianceUserManager
|
||||||
from evespecific.managers import EveCharacterManager
|
from evespecific.managers import EveManager
|
||||||
from services.eveapi_manager import EveApiManager
|
from services.eveapi_manager import EveApiManager
|
||||||
|
|
||||||
from forms import RegistrationForm
|
from forms import RegistrationForm
|
||||||
@ -10,7 +10,7 @@ from forms import RegistrationForm
|
|||||||
|
|
||||||
def register(request):
|
def register(request):
|
||||||
api = EveApiManager()
|
api = EveApiManager()
|
||||||
charmanager = EveCharacterManager()
|
evemanager = EveManager()
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = RegistrationForm(request.POST)
|
form = RegistrationForm(request.POST)
|
||||||
@ -18,18 +18,18 @@ def register(request):
|
|||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
usermanager = AllianceUserManager()
|
usermanager = AllianceUserManager()
|
||||||
if not usermanager.check_if_user_exist_by_name(form.cleaned_data['username']):
|
if not usermanager.check_if_user_exist_by_name(form.cleaned_data['username']):
|
||||||
user = usermanager.create_user_withapi(
|
user = usermanager.create_user(
|
||||||
form.cleaned_data['username'],
|
form.cleaned_data['username'],
|
||||||
form.cleaned_data['email'],
|
form.cleaned_data['email'],
|
||||||
form.cleaned_data['password'],
|
form.cleaned_data['password']
|
||||||
form.cleaned_data['api_id'],
|
|
||||||
form.cleaned_data['api_key']
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Populate character data
|
# Create api key object
|
||||||
|
evemanager.create_api_keypair(form.cleaned_data['api_id'], form.cleaned_data['api_key'], user)
|
||||||
|
|
||||||
|
# Populate character data
|
||||||
characters = api.get_characters_from_api(form.cleaned_data['api_id'], form.cleaned_data['api_key'])
|
characters = api.get_characters_from_api(form.cleaned_data['api_id'], form.cleaned_data['api_key'])
|
||||||
charmanager.create_characters_from_list(characters, user)
|
evemanager.create_characters_from_list(characters, user, form.cleaned_data['api_id'])
|
||||||
return HttpResponseRedirect("/dashboard")
|
return HttpResponseRedirect("/dashboard")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -24,11 +24,9 @@ class EveApiManager():
|
|||||||
def get_corporation_ticker_from_id(self, corp_id):
|
def get_corporation_ticker_from_id(self, corp_id):
|
||||||
ticker = ""
|
ticker = ""
|
||||||
try:
|
try:
|
||||||
print corp_id
|
|
||||||
api = evelink.api.API()
|
api = evelink.api.API()
|
||||||
corp = evelink.corp.Corp(api)
|
corp = evelink.corp.Corp(api)
|
||||||
response = corp.corporation_sheet(corp_id)
|
response = corp.corporation_sheet(corp_id)
|
||||||
print response
|
|
||||||
ticker = response[0]['ticker']
|
ticker = response[0]['ticker']
|
||||||
except evelink.api.APIError as error:
|
except evelink.api.APIError as error:
|
||||||
print error
|
print error
|
||||||
|
@ -1,26 +1,24 @@
|
|||||||
{% extends "public/base.html" %}
|
{% extends "public/base.html" %}
|
||||||
|
{% load bootstrap %}
|
||||||
{% block title %}Alliance Auth{% endblock %}
|
{% block title %}Alliance Auth{% endblock %}
|
||||||
|
|
||||||
{% block page_title %}Login Page{% endblock page_title %}
|
{% block page_title %}Login Page{% endblock page_title %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="row">
|
||||||
<div class="row-fluid">
|
<div class="col-md-4"></div>
|
||||||
<div class="center-block" style="center">
|
<div class="col-md-4">
|
||||||
<p>
|
|
||||||
{% if error %}
|
{% if error %}
|
||||||
<div class="alert alert-danger" role="alert">Username/Password Invalid</div>
|
<div class="alert alert-danger" role="alert">Username/Password Invalid</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<form class="form-signin" role="form" action="{% url 'auth_login_user' %}" method="POST">
|
<form class="form-signin" role="form" action="{% url 'auth_login_user' %}" method="POST">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<h2 class="form-signin-heading">Please sign in</h2>
|
<h2 class="form-signin-heading">Please sign in</h2>
|
||||||
{{form.as_p}}
|
{{form|bootstrap}}
|
||||||
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
|
||||||
</form>
|
</form>
|
||||||
<p><a href="{% url 'auth_register' %}">Register Here</a>
|
<p><a href="{% url 'auth_register' %}">Register Here</a></p>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
@ -1,36 +1,22 @@
|
|||||||
{% extends "public/base.html" %}
|
{% extends "public/base.html" %}
|
||||||
|
{% load bootstrap %}
|
||||||
{% block title %}Alliance Auth{% endblock %}
|
{% block title %}Alliance Auth{% endblock %}
|
||||||
|
|
||||||
{% block page_title %}Register Page{% endblock page_title %}
|
{% block page_title %}Register Page{% endblock page_title %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="row">
|
||||||
<div class="row-fluid">
|
<div class="col-md-4"></div>
|
||||||
<div class="center-block" style="center">
|
<div class="col-md-4">
|
||||||
<p>
|
|
||||||
{% if error %}
|
{% if error %}
|
||||||
<div class="alert alert-danger" role="alert">Username Already Registered</div>
|
<div class="alert alert-danger" role="alert">Username Already Registered</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<form action="{% url 'auth_register' %}" method="POST">
|
<form action="{% url 'auth_register' %}" method="POST">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<h2 class="form-signin-heading">Register Account</h2>
|
<h2 class="form-signin-heading">Register Account</h2>
|
||||||
<p>
|
{{ form|bootstrap }}
|
||||||
Username:<br/>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">Register</button>
|
||||||
{{form.username.errors}}
|
|
||||||
{{form.username}}<br/> Email:<br/>
|
|
||||||
{{form.email.errors}}
|
|
||||||
{{form.email}}<br/> Password:<br/>
|
|
||||||
{{form.password.errors}}
|
|
||||||
{{form.password}}<br/>Api ID: <br/>
|
|
||||||
{{form.api_id.errors}}
|
|
||||||
{{form.api_id}}<br/>Api Key: <br/>
|
|
||||||
{{form.api_key.errors}}
|
|
||||||
{{form.api_key}}<br/>
|
|
||||||
</p>
|
|
||||||
<input type="submit" value="submit" />
|
|
||||||
</form>
|
</form>
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{% extends "public/base.html" %}
|
{% extends "public/base.html" %}
|
||||||
|
{% load bootstrap %}
|
||||||
{% load staticfiles %}
|
{% load staticfiles %}
|
||||||
|
|
||||||
{% block title %}Alliance Auth{% endblock %}
|
{% block title %}Alliance Auth{% endblock %}
|
||||||
@ -8,25 +9,34 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
||||||
<p> ONE API KEY ONLY ONE SERIOUSLY ONE! BECUASE ONE</p>
|
<div class="row">
|
||||||
<div class="row-fluid">
|
<h1 class="page-header text-center">API Key Management</h1>
|
||||||
<div class="center-block" style="center">
|
<table class="table table-bordered">
|
||||||
<p>
|
<tr>
|
||||||
<form action="{% url 'auth_api_key_management' %}" method="POST">
|
<th class="text-center">API ID</th>
|
||||||
|
<th class="text-center">API Key</th>
|
||||||
|
<th class="text-center">Action</th>
|
||||||
|
</tr>
|
||||||
|
{% for pair in apikeypairs %}
|
||||||
|
<tr>
|
||||||
|
<td class="text-center">{{ pair.api_id }}</td>
|
||||||
|
<td class="text-center">{{ pair.api_key }}</td>
|
||||||
|
<td class="text-center">
|
||||||
|
<a href="/delete_api_pair/{{ pair.api_id }}">
|
||||||
|
<button type="button" class="btn btn-danger"><span class="glyphicon glyphicon-remove"></span></button>
|
||||||
|
</a>
|
||||||
|
<a href="{% url 'auth_activate_forum' %}">
|
||||||
|
<button type="button" class="btn btn-primary"><span class="glyphicon glyphicon-refresh"></span></button>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
<form class="form-signin" role="form" action="{% url 'auth_api_key_management' %}" method="POST">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<h2 class="form-signin-heading">Update Api:</h2>
|
{{ form|bootstrap_horizontal }}
|
||||||
<p>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">Create Key</button>
|
||||||
API_ID:<br/>
|
|
||||||
{{form.api_id.errors}}
|
|
||||||
{{form.api_id}}<br/>API_KEY:<br/>
|
|
||||||
{{form.api_key.errors}}
|
|
||||||
{{form.api_key}}<br/>
|
|
||||||
</p>
|
|
||||||
<input type="submit" value="submit" class="btn btn-default"/>
|
|
||||||
<button type="button" class="btn btn-primary">Refresh</button>
|
|
||||||
</form>
|
</form>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -8,9 +8,8 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
||||||
{% for character in characters %}
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6">
|
{% for character in characters %}
|
||||||
<div class="well well-sm profile">
|
<div class="well well-sm profile">
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="col-xs-12 col-sm-8">
|
<div class="col-xs-12 col-sm-8">
|
||||||
@ -28,10 +27,9 @@
|
|||||||
<div class="col-md-offset-8">
|
<div class="col-md-offset-8">
|
||||||
<a href="/main_character_change/{{character.character_id}}"><button type="button" class="btn btn-primary">Make Primary</button></a>
|
<a href="/main_character_change/{{character.character_id}}"><button type="button" class="btn btn-primary">Make Primary</button></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user