Merge remote-tracking branch 'refs/remotes/origin/master' into vagrant-tweaking

This commit is contained in:
Brett Costabile 2015-11-18 01:06:22 -05:00
commit c0f53218dc
42 changed files with 483 additions and 249 deletions

3
.gitignore vendored
View File

@ -55,6 +55,5 @@ target/
.vagrant/ .vagrant/
alliance_auth/settings.py alliance_auth/settings.py
requirements.txt *Thumbs.db
static/admin/img/Thumbs.db
nginx_config.txt nginx_config.txt

View File

@ -20,6 +20,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ # See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret! # SECURITY WARNING: keep the secret key used in production secret!
# Generate a new key here: http://www.miniwebtool.com/django-secret-key-generator/
SECRET_KEY = os.environ.get('AA_SECRET_KEY', '5xvh4e0x&@-$6(kj%4^80pdo1n5v-!mtx(e(1tw@kn-1le*ts@') SECRET_KEY = os.environ.get('AA_SECRET_KEY', '5xvh4e0x&@-$6(kj%4^80pdo1n5v-!mtx(e(1tw@kn-1le*ts@')
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
@ -77,8 +78,8 @@ DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'NAME': 'alliance_auth', 'NAME': 'alliance_auth',
'USER': os.environ.get('AA_DB_DEFAULT_USER', 'allianceauth'), 'USER': os.environ.get('AA_DB_DEFAULT_USER', 'allianceserver'),
'PASSWORD': os.environ.get('AA_DB_DEFAULT_PASSWORD', 'allianceauth'), 'PASSWORD': os.environ.get('AA_DB_DEFAULT_PASSWORD', 'password'),
'HOST': os.environ.get('AA_DB_DEFAULT_HOST', '127.0.0.1'), 'HOST': os.environ.get('AA_DB_DEFAULT_HOST', '127.0.0.1'),
'PORT': os.environ.get('AA_DB_DEFAULT_PORT', '3306'), 'PORT': os.environ.get('AA_DB_DEFAULT_PORT', '3306'),
}, },
@ -86,8 +87,8 @@ DATABASES = {
'phpbb3': { 'phpbb3': {
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'NAME': 'alliance_forum', 'NAME': 'alliance_forum',
'USER': os.environ.get('AA_DB_PHPBB3_USER', 'allianceauth'), 'USER': os.environ.get('AA_DB_PHPBB3_USER', 'allianceserver'),
'PASSWORD': os.environ.get('AA_DB_PHPBB3_PASSWORD', 'allianceauth'), 'PASSWORD': os.environ.get('AA_DB_PHPBB3_PASSWORD', 'password'),
'HOST': os.environ.get('AA_DB_PHPBB3_HOST', '127.0.0.1'), 'HOST': os.environ.get('AA_DB_PHPBB3_HOST', '127.0.0.1'),
'PORT': os.environ.get('AA_DB_PHPBB3_PORT', '3306'), 'PORT': os.environ.get('AA_DB_PHPBB3_PORT', '3306'),
}, },
@ -95,8 +96,8 @@ DATABASES = {
'mumble': { 'mumble': {
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'NAME': 'alliance_mumble', 'NAME': 'alliance_mumble',
'USER': os.environ.get('AA_DB_MUMBLE_USER', 'alliancemumble'), 'USER': os.environ.get('AA_DB_MUMBLE_USER', 'allianceserver'),
'PASSWORD': os.environ.get('AA_DB_MUMBLE_PASSWORD', 'alliancemumble'), 'PASSWORD': os.environ.get('AA_DB_MUMBLE_PASSWORD', 'password'),
'HOST': os.environ.get('AA_DB_MUMBLE_HOST', '127.0.0.1'), 'HOST': os.environ.get('AA_DB_MUMBLE_HOST', '127.0.0.1'),
'PORT': os.environ.get('AA_DB_MUMBLE_PORT', '3306'), 'PORT': os.environ.get('AA_DB_MUMBLE_PORT', '3306'),
} }
@ -111,6 +112,9 @@ TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.tz', 'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages', 'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request', 'django.core.context_processors.request',
'util.context_processors.is_corp',
'util.context_processors.corp_id',
'util.context_processors.corp_name',
'util.context_processors.alliance_id', 'util.context_processors.alliance_id',
'util.context_processors.alliance_name', 'util.context_processors.alliance_name',
'util.context_processors.jabber_url', 'util.context_processors.jabber_url',
@ -150,17 +154,27 @@ STATIC_URL = '/static/'
## ##
##################################################### #####################################################
###########################
# ALLIANCE / CORP TOGGLE
###########################
# Specifies to run membership checks against corp or alliance
# Set to FALSE for alliance
# Set to TRUE for corp
###########################
IS_CORP = 'True' == os.environ.get('AA_IS_CORP', 'True')
################# #################
# EMAIL SETTINGS # EMAIL SETTINGS
################# #################
# DOMAIN - The alliance auth domain_url # DOMAIN - The alliance auth domain_url
# EMAIL_HOST - SMTP Server URL # EMAIL_HOST - SMTP Server URL
# EMAIL_PORT - SMTP Server PORT # EMAIL_PORT - SMTP Server PORT
# EMAIL_HOST_USER - Email Username # EMAIL_HOST_USER - Email Username (for gmail, the part before @gmail.com)
# EMAIL_HOST_PASSWORD - Email Password # EMAIL_HOST_PASSWORD - Email Password
# EMAIL_USE_TLS - Set to use TLS encryption # EMAIL_USE_TLS - Set to use TLS encryption
################# #################
DOMAIN = os.environ.get('AA_DOMAIN', 'https://the99eve.com') DOMAIN = os.environ.get('AA_DOMAIN', 'https://yourdomain.com')
EMAIL_HOST = os.environ.get('AA_EMAIL_HOST', 'smtp.gmail.com') EMAIL_HOST = os.environ.get('AA_EMAIL_HOST', 'smtp.gmail.com')
EMAIL_PORT = int(os.environ.get('AA_EMAIL_PORT', '587')) EMAIL_PORT = int(os.environ.get('AA_EMAIL_PORT', '587'))
EMAIL_HOST_USER = os.environ.get('AA_EMAIL_HOST_USER', '') EMAIL_HOST_USER = os.environ.get('AA_EMAIL_HOST_USER', '')
@ -170,54 +184,66 @@ EMAIL_USE_TLS = 'True' == os.environ.get('AA_EMAIL_USE_TLS', 'True')
######################### #########################
# Default Group Settings # Default Group Settings
######################### #########################
# DEFAULT_ALLIANCE_GROUP - Default group alliance members are put in # DEFAULT_AUTH_GROUP - Default group members are put in
# DEFAULT_BLUE_GROUP - Default group for blue members # DEFAULT_BLUE_GROUP - Default group for blue members
######################### #########################
DEFAULT_ALLIANCE_GROUP = os.environ.get('AA_DEFAULT_ALLIANCE_GROUP', 'AllianceMember') DEFAULT_AUTH_GROUP = os.environ.get('AA_DEFAULT_ALLIANCE_GROUP', 'Member')
DEFAULT_BLUE_GROUP = os.environ.get('AA_DEFAULT_BLUE_GROUP', 'BlueMember') DEFAULT_BLUE_GROUP = os.environ.get('AA_DEFAULT_BLUE_GROUP', 'Blue')
######################### #########################
# Alliance Service Setup # Alliance Service Setup
######################### #########################
# ENABLE_ALLIANCE_FORUM - Enable forum support in the auth for alliance members # ENABLE_AUTH_FORUM - Enable forum support in the auth for auth'd members
# ENABLE_ALLIANCE_JABBER - Enable jabber support in the auth for alliance members # ENABLE_AUTH_JABBER - Enable jabber support in the auth for auth'd members
# ENABLE_ALLIANCE_MUMBLE - Enable mumble support in the auth for alliance members # ENABLE_AUTH_MUMBLE - Enable mumble support in the auth for auth'd members
# ENABLE_ALLIANCE_IPBOARD - Enable IPBoard forum support in the auth for alliance members # ENABLE_AUTH_IPBOARD - Enable IPBoard forum support in the auth for auth'd members
######################### #########################
ENABLE_ALLIANCE_FORUM = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_FORUM', 'True') ENABLE_AUTH_FORUM = 'True' == os.environ.get('AA_ENABLE_AUTH_FORUM', 'True')
ENABLE_ALLIANCE_JABBER = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_JABBER', 'True') ENABLE_AUTH_JABBER = 'True' == os.environ.get('AA_ENABLE_AUTH_JABBER', 'True')
ENABLE_ALLIANCE_MUMBLE = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_MUMBLE', 'True') ENABLE_AUTH_MUMBLE = 'True' == os.environ.get('AA_ENABLE_AUTH_MUMBLE', 'True')
ENABLE_ALLIANCE_IPBOARD = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_IPBOARD', 'False') ENABLE_AUTH_IPBOARD = 'True' == os.environ.get('AA_ENABLE_AUTH_IPBOARD', 'False')
ENABLE_ALLIANCE_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_TEAMSPEAK3', 'False') ENABLE_AUTH_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_AUTH_TEAMSPEAK3', 'False')
##################### #####################
# Blue service Setup # Blue service Setup
##################### #####################
# BLUE_STANDING - The default lowest standings setting to consider blue
# ENABLE_BLUE_FORUM - Enable forum support in the auth for blues # ENABLE_BLUE_FORUM - Enable forum support in the auth for blues
# ENABLE_BLUE_JABBER - Enable jabber support in the auth for blues # ENABLE_BLUE_JABBER - Enable jabber support in the auth for blues
# ENABLE_BLUE_MUMBLE - Enable mumble support in the auth for blues # ENABLE_BLUE_MUMBLE - Enable mumble support in the auth for blues
# ENABLE_BLUE_IPBOARD - Enable IPBoard forum support in the auth for blues # ENABLE_BLUE_IPBOARD - Enable IPBoard forum support in the auth for blues
##################### #####################
BLUE_STANDING = float(os.environ.get('AA_BLUE_STANDING', '5.0'))
ENABLE_BLUE_FORUM = 'True' == os.environ.get('AA_ENABLE_BLUE_FORUM', 'False') ENABLE_BLUE_FORUM = 'True' == os.environ.get('AA_ENABLE_BLUE_FORUM', 'False')
ENABLE_BLUE_JABBER = 'True' == os.environ.get('AA_ENABLE_BLUE_JABBER', 'False') ENABLE_BLUE_JABBER = 'True' == os.environ.get('AA_ENABLE_BLUE_JABBER', 'False')
ENABLE_BLUE_MUMBLE = 'True' == os.environ.get('AA_ENABLE_BLUE_MUMBLE', 'True') ENABLE_BLUE_MUMBLE = 'True' == os.environ.get('AA_ENABLE_BLUE_MUMBLE', 'True')
ENABLE_BLUE_IPBOARD = 'True' == os.environ.get('AA_ENABLE_BLUE_IPBOARD', 'False') ENABLE_BLUE_IPBOARD = 'True' == os.environ.get('AA_ENABLE_BLUE_IPBOARD', 'False')
ENABLE_BLUE_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_BLUE_TEAMSPEAK3', 'False') ENABLE_BLUE_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_BLUE_TEAMSPEAK3', 'False')
#########################
# Corp Configuration
#########################
# If running in alliance mode, the following should be for the executor corp#
# CORP_ID - Set this to your corp ID (get this from https://zkillboard.com/corporation/#######)
# CORP_NAME - Set this to your Corporation Name
# CORP_API_ID - Set this to the api id for the corp API key
# CORP_API_VCODE - Set this to the api vcode for the corp API key
########################
CORP_ID = os.environ.get('AA_CORP_ID', '')
CORP_NAME = os.environ.get('AA_CORP_NAME', '')
CORP_API_ID = os.environ.get('AA_CORP_API_ID', '')
CORP_API_VCODE = os.environ.get('AA_CORP_API_VCODE', '')
######################### #########################
# Alliance Configuration # Alliance Configuration
######################### #########################
# ALLIANCE_ID - Set this to your AllianceID # ALLIANCE_ID - Set this to your Alliance ID (get this from https://zkillboard.com/alliance/#######)
# ALLIANCE_NAME - Set this to your Alliance Name # ALLIANCE_NAME - Set this to your Alliance Name
# ALLIANCE_EXEC_CORP_ID - Set this to the api id for the exec corp
# ALLIANCE_EXEC_CORP_VCODE - Set this to the api vcode for the exe corp
# ALLIANCE_BLUE_STANDING - The default lowest standings setting to consider blue
######################## ########################
ALLIANCE_ID = os.environ.get('AA_ALLIANCE_ID', '99001336') ALLIANCE_ID = os.environ.get('AA_ALLIANCE_ID', '')
ALLIANCE_NAME = os.environ.get('AA_ALLIANCE_NAME', 'Somealliance') ALLIANCE_NAME = os.environ.get('AA_ALLIANCE_NAME', '')
ALLIANCE_EXEC_CORP_ID = os.environ.get('AA_ALLIANCE_EXEC_CORP_ID', '')
ALLIANCE_EXEC_CORP_VCODE = os.environ.get('AA_ALLIANCE_EXEC_CORP_VCODE', '')
ALLIANCE_BLUE_STANDING = float(os.environ.get('AA_ALLIANCE_BLUE_STANDING', '5.0'))
##################### #####################
# HR Configuration # HR Configuration
@ -235,8 +261,8 @@ JACK_KNIFE_URL = os.environ.get('AA_JACK_KNIFE_URL', 'http://ridetheclown.com/ev
# IPBOARD_APIKEY - Api key to interact with ipboard # IPBOARD_APIKEY - Api key to interact with ipboard
# IPBOARD_APIMODULE - Module for alliance auth *leave alone* # IPBOARD_APIMODULE - Module for alliance auth *leave alone*
##################### #####################
FORUM_URL = os.environ.get('AA_FORUM_URL', "http://someaddress.com") FORUM_URL = os.environ.get('AA_FORUM_URL', "http://yourdomain.com")
IPBOARD_ENDPOINT = os.environ.get('AA_IPBOARD_ENDPOINT', 'someaddress.com/interface/board/index.php') IPBOARD_ENDPOINT = os.environ.get('AA_IPBOARD_ENDPOINT', 'yourdomain.com/interface/board/index.php')
IPBOARD_APIKEY = os.environ.get('AA_IPBOARD_APIKEY', 'somekeyhere') IPBOARD_APIKEY = os.environ.get('AA_IPBOARD_APIKEY', 'somekeyhere')
IPBOARD_APIMODULE = 'aa' IPBOARD_APIMODULE = 'aa'
@ -246,15 +272,16 @@ IPBOARD_APIMODULE = 'aa'
# JABBER_URL - Jabber address url # JABBER_URL - Jabber address url
# JABBER_PORT - Jabber service portal # JABBER_PORT - Jabber service portal
# JABBER_SERVER - Jabber server url # JABBER_SERVER - Jabber server url
# OPENFIRE_ADDRESS - Address of the openfire admin console # OPENFIRE_ADDRESS - Address of the openfire admin console including port
# OPENFIRE_SECRET_KEY - Openfire userservice secret key # Please use http with 9090 or https with 9091
# OPENFIRE_SECRET_KEY - Openfire REST API secret key
# BROADCAST_USER - Broadcast user JID # BROADCAST_USER - Broadcast user JID
# BROADCAST_USER_PASSWORD - Broadcast user password # BROADCAST_USER_PASSWORD - Broadcast user password
###################### ######################
JABBER_URL = os.environ.get('AA_JABBER_URL', "someaddress.com") JABBER_URL = os.environ.get('AA_JABBER_URL', "yourdomain.com")
JABBER_PORT = int(os.environ.get('AA_JABBER_PORT', '5223')) JABBER_PORT = int(os.environ.get('AA_JABBER_PORT', '5223'))
JABBER_SERVER = os.environ.get('AA_JABBER_SERVER', "someadddress.com") JABBER_SERVER = os.environ.get('AA_JABBER_SERVER', "yourdomain.com")
OPENFIRE_ADDRESS = os.environ.get('AA_OPENFIRE_ADDRESS', "http://someaddress.com:9090/") OPENFIRE_ADDRESS = os.environ.get('AA_OPENFIRE_ADDRESS', "http://yourdomain.com:9090/")
OPENFIRE_SECRET_KEY = os.environ.get('AA_OPENFIRE_SECRET_KEY', "somekey") OPENFIRE_SECRET_KEY = os.environ.get('AA_OPENFIRE_SECRET_KEY', "somekey")
BROADCAST_USER = os.environ.get('AA_BROADCAST_USER', "broadcast@") + JABBER_URL BROADCAST_USER = os.environ.get('AA_BROADCAST_USER', "broadcast@") + JABBER_URL
BROADCAST_USER_PASSWORD = os.environ.get('AA_BROADCAST_USER_PASSWORD', "somepassword") BROADCAST_USER_PASSWORD = os.environ.get('AA_BROADCAST_USER_PASSWORD', "somepassword")
@ -265,7 +292,7 @@ BROADCAST_USER_PASSWORD = os.environ.get('AA_BROADCAST_USER_PASSWORD', "somepass
# MUMBLE_URL - Mumble server url # MUMBLE_URL - Mumble server url
# MUMBLE_SERVER_ID - Mumble server id # MUMBLE_SERVER_ID - Mumble server id
###################################### ######################################
MUMBLE_URL = os.environ.get('AA_MUMBLE_URL', "someurl.com") MUMBLE_URL = os.environ.get('AA_MUMBLE_URL', "yourdomain.com")
MUMBLE_SERVER_ID = int(os.environ.get('AA_MUMBLE_SERVER_ID', '1')) MUMBLE_SERVER_ID = int(os.environ.get('AA_MUMBLE_SERVER_ID', '1'))
###################################### ######################################
@ -284,4 +311,4 @@ TEAMSPEAK3_SERVER_PORT = int(os.environ.get('AA_TEAMSPEAK3_SERVER_PORT', '10011'
TEAMSPEAK3_SERVERQUERY_USER = os.environ.get('AA_TEAMSPEAK3_SERVERQUERY_USER', 'serveradmin') TEAMSPEAK3_SERVERQUERY_USER = os.environ.get('AA_TEAMSPEAK3_SERVERQUERY_USER', 'serveradmin')
TEAMSPEAK3_SERVERQUERY_PASSWORD = os.environ.get('AA_TEAMSPEAK3_SERVERQUERY_PASSWORD', 'passwordhere') TEAMSPEAK3_SERVERQUERY_PASSWORD = os.environ.get('AA_TEAMSPEAK3_SERVERQUERY_PASSWORD', 'passwordhere')
TEAMSPEAK3_VIRTUAL_SERVER = int(os.environ.get('AA_TEAMSPEAK3_VIRTUAL_SERVER', '1')) TEAMSPEAK3_VIRTUAL_SERVER = int(os.environ.get('AA_TEAMSPEAK3_VIRTUAL_SERVER', '1'))
TEAMSPEAK3_PUBLIC_URL = os.environ.get('AA_TEAMSPEAK3_PUBLIC_URL', 'someaddress.com') TEAMSPEAK3_PUBLIC_URL = os.environ.get('AA_TEAMSPEAK3_PUBLIC_URL', 'yourdomain.com')

View File

@ -15,7 +15,29 @@ from authentication.models import AuthServicesInfo
from eveonline.managers import EveManager from eveonline.managers import EveManager
from services.managers.eve_api_manager import EveApiManager from services.managers.eve_api_manager import EveApiManager
from util.common_task import deactivate_services from util.common_task import deactivate_services
from util import add_member_permission
from util import remove_member_permission
from util import check_if_user_has_permission
from util.common_task import add_user_to_group
from util.common_task import remove_user_from_group
from util.common_task import generate_corp_group_name
from eveonline.models import EveCharacter
from eveonline.models import EveCorporationInfo
from authentication.managers import AuthServicesInfoManager
def disable_alliance_member(user, char_id):
remove_member_permission(user, 'member')
remove_user_from_group(user, settings.DEFAULT_AUTH_GROUP)
remove_user_from_group(user,
generate_corp_group_name(
EveManager.get_character_by_id(char_id).corporation_name))
deactivate_services(user)
def disable_blue_member(user):
remove_member_permission(user, 'blue_member')
remove_user_from_group(user, settings.DEFAULT_BLUE_GROUP)
deactivate_services(user)
AuthServicesInfoManager.update_is_blue(False, user)
def update_jabber_groups(user): def update_jabber_groups(user):
syncgroups = SyncGroupCache.objects.filter(user=user) syncgroups = SyncGroupCache.objects.filter(user=user)
@ -28,8 +50,6 @@ def update_jabber_groups(user):
if len(groups) == 0: if len(groups) == 0:
groups.append('empty') groups.append('empty')
print groups
OpenfireManager.update_user_groups(authserviceinfo.jabber_username, authserviceinfo.jabber_password, groups) OpenfireManager.update_user_groups(authserviceinfo.jabber_username, authserviceinfo.jabber_password, groups)
@ -73,7 +93,7 @@ def update_ipboard_groups(user):
def update_teamspeak3_groups(user): def update_teamspeak3_groups(user):
usergroups = User.objects.get(id=user.id).groups.all() usergroups = user.groups.all()
authserviceinfo = AuthServicesInfo.objects.get(user=user) authserviceinfo = AuthServicesInfo.objects.get(user=user)
groups = {} groups = {}
for usergroup in usergroups: for usergroup in usergroups:
@ -102,9 +122,6 @@ def remove_all_syncgroups_for_service(user, servicename):
def add_to_databases(user, groups, syncgroups): def add_to_databases(user, groups, syncgroups):
print user
print groups
print syncgroups
authserviceinfo = None authserviceinfo = None
try: try:
authserviceinfo = AuthServicesInfo.objects.get(user=user) authserviceinfo = AuthServicesInfo.objects.get(user=user)
@ -118,8 +135,6 @@ def add_to_databases(user, groups, syncgroups):
update_teamspeak3_groups(user) update_teamspeak3_groups(user)
for group in groups: for group in groups:
print group
if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "": if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "":
if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True: if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True:
create_syncgroup_for_user(user, group.name, "openfire") create_syncgroup_for_user(user, group.name, "openfire")
@ -195,6 +210,10 @@ def run_api_refresh():
print 'Running update on user: ' + user.username print 'Running update on user: ' + user.username
if authserviceinfo.main_char_id: if authserviceinfo.main_char_id:
if authserviceinfo.main_char_id != "": if authserviceinfo.main_char_id != "":
#preserve old corp ID for corp change test on members
oldcorp_id = 0
if EveManager.get_character_by_id(authserviceinfo.main_char_id):
oldcorp_id = EveCharacter.objects.get(character_id=authserviceinfo.main_char_id).corporation_id
for api_key_pair in api_key_pairs: for api_key_pair in api_key_pairs:
print 'Running on ' + api_key_pair.api_id + ':' + api_key_pair.api_key print 'Running on ' + api_key_pair.api_id + ':' + api_key_pair.api_key
if EveApiManager.api_key_is_valid(api_key_pair.api_id, api_key_pair.api_key): if EveApiManager.api_key_is_valid(api_key_pair.api_id, api_key_pair.api_key):
@ -210,50 +229,118 @@ def run_api_refresh():
if valid_key: if valid_key:
# Check our main character # Check our main character
character = EveManager.get_character_by_id(authserviceinfo.main_char_id) character = EveManager.get_character_by_id(authserviceinfo.main_char_id)
corp = EveManager.get_corporation_info_by_id(character.corporation_id) if character is not None and EveManager.check_if_corporation_exists_by_id(character.corporation_id):
main_alliance_id = EveManager.get_charater_alliance_id_by_id(authserviceinfo.main_char_id) corp = EveManager.get_corporation_info_by_id(character.corporation_id)
if main_alliance_id == settings.ALLIANCE_ID: main_corp_id = EveManager.get_charater_corporation_id_by_id(authserviceinfo.main_char_id)
pass main_alliance_id = EveManager.get_charater_alliance_id_by_id(authserviceinfo.main_char_id)
elif corp is not None: if (settings.IS_CORP and main_corp_id == settings.CORP_ID) or (not settings.IS_CORP and main_alliance_id == settings.ALLIANCE_ID):
if corp.is_blue is not True: if not check_if_user_has_permission(user, "member"):
#transition from none or blue to member
if check_if_user_has_permission(user, "blue_member"):
#strip blue status
remove_member_permission(user, "blue_member")
remove_user_from_group(user, settings.DEFAULT_BLUE_GROUP)
AuthServicesInfoManager.update_is_blue(False, user)
#add to auth group
add_member_permission(user, "member")
add_user_to_group(user, settings.DEFAULT_AUTH_GROUP)
#add to required corp group
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
elif corp.corporation_id != oldcorp_id:
#changed corps, both corps auth'd, need to change group assignment
oldcorp = EveCorporationInfo.objects.get(corporation_id=oldcorp_id)
remove_user_from_group(user, generate_corp_group_name(oldcorp.corporation_name))
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
#reset services to force new mumble names and group assignments
deactivate_services(user)
elif corp is not None:
if corp.is_blue is not True:
if check_if_user_has_permission(user, "member"):
#transition from member to nobody
disable_alliance_member(user, authserviceinfo.main_char_id)
elif check_if_user_has_permission(user, "blue_member"):
#transition from blue to nobody
disable_blue_member(user)
else:
#stay nobody, make sure no services
deactivate_services(user)
else:
if check_if_user_has_permission(user, "member"):
#remove auth member to prepare for member to blue transition
disable_alliance_member(user, authserviceinfo.main_char_id)
if not check_if_user_has_permission(user, "blue_member"):
#perform nobody to blue transition
add_member_permission(user, "blue_member")
add_user_to_group(user, settings.DEFAULT_BLUE_GROUP)
AuthServicesInfoManager.update_is_blue(True, user)
else:
# disable accounts with missing corp model (not blue or member)
if check_if_user_has_permission(user, "member"):
disable_alliance_member(user, authserviceinfo.main_char_id)
elif check_if_user_has_permission(user, "blue_member"):
disable_blue_member(user)
else:
deactivate_services(user)
else:
if check_if_user_has_permission(user, "member"):
disable_alliance_member(user, authserviceinfo.main_char_id)
elif check_if_user_has_permission(user, "blue_member"):
disable_blue_member(user)
else:
deactivate_services(user) deactivate_services(user)
else:
# disable accounts with invalid keys
if check_if_user_has_permission(user, "member"):
disable_alliance_member(user, authserviceinfo.main_char_id)
elif check_if_user_has_permission(user, "blue_member"):
disable_blue_member(user)
else: else:
deactivate_services(user) deactivate_services(user)
else:
# nuke it
deactivate_services(user)
else: else:
print 'No main_char_id set' print 'No main_char_id set'
# Run Every 2 hours # Run Every 2 hours
@periodic_task(run_every=crontab(minute=0, hour="*/2")) @periodic_task(run_every=crontab(minute=0, hour="*/2"))
def run_alliance_corp_update(): def run_corp_update():
# I am not proud of this block of code # I am not proud of this block of code
if EveApiManager.check_if_api_server_online(): if EveApiManager.check_if_api_server_online():
# Updated alliance info if settings.IS_CORP:
alliance_info = EveApiManager.get_alliance_information(settings.ALLIANCE_ID) # Create the corp
corpinfo = EveApiManager.get_corporation_information(settings.CORP_ID)
# Populate alliance info
if not EveManager.check_if_alliance_exists_by_id(settings.ALLIANCE_ID):
EveManager.create_alliance_info(settings.ALLIANCE_ID, alliance_info['name'], alliance_info['ticker'],
alliance_info['executor_id'], alliance_info['member_count'], False)
alliance = EveManager.get_alliance_info_by_id(settings.ALLIANCE_ID)
# Create the corps in the alliance
for alliance_corp in alliance_info['member_corps']:
corpinfo = EveApiManager.get_corporation_information(alliance_corp)
if not EveManager.check_if_corporation_exists_by_id(corpinfo['id']): if not EveManager.check_if_corporation_exists_by_id(corpinfo['id']):
EveManager.create_corporation_info(corpinfo['id'], corpinfo['name'], corpinfo['ticker'], EveManager.create_corporation_info(corpinfo['id'], corpinfo['name'], corpinfo['ticker'],
corpinfo['members']['current'], False, alliance) corpinfo['members']['current'], False, None)
else:
# Updated alliance info
alliance_info = EveApiManager.get_alliance_information(settings.ALLIANCE_ID)
# Populate alliance info
if not EveManager.check_if_alliance_exists_by_id(settings.ALLIANCE_ID):
EveManager.create_alliance_info(settings.ALLIANCE_ID, alliance_info['name'], alliance_info['ticker'],
alliance_info['executor_id'], alliance_info['member_count'], False)
alliance = EveManager.get_alliance_info_by_id(settings.ALLIANCE_ID)
# Create the corps in the alliance
for alliance_corp in alliance_info['member_corps']:
corpinfo = EveApiManager.get_corporation_information(alliance_corp)
if not EveManager.check_if_corporation_exists_by_id(corpinfo['id']):
EveManager.create_corporation_info(corpinfo['id'], corpinfo['name'], corpinfo['ticker'],
corpinfo['members']['current'], False, alliance)
#determine what level of standings to check
#refer to https://github.com/eve-val/evelink/blob/master/evelink/parsing/contact_list.py#L43
standing_level = 'alliance'
if settings.IS_CORP:
standing_level = 'corp'
# Create the corps in the standings # Create the corps in the standings
alliance_standings = EveApiManager.get_alliance_standings() corp_standings = EveApiManager.get_corp_standings()
if alliance_standings: if corp_standings:
for standing_id in EveApiManager.get_alliance_standings()['alliance']: for standing_id in EveApiManager.get_corp_standings()[standing_level]:
if int(alliance_standings['alliance'][standing_id]['standing']) >= settings.ALLIANCE_BLUE_STANDING: if int(corp_standings[standing_level][standing_id]['standing']) >= settings.BLUE_STANDING:
if EveApiManager.check_if_id_is_character(standing_id): if EveApiManager.check_if_id_is_character(standing_id):
pass pass
elif EveApiManager.check_if_id_is_corp(standing_id): elif EveApiManager.check_if_id_is_corp(standing_id):
@ -283,22 +370,16 @@ def run_alliance_corp_update():
# Update all allinace info's # Update all allinace info's
for all_alliance_info in EveManager.get_all_alliance_info(): for all_alliance_info in EveManager.get_all_alliance_info():
all_alliance_api_info = EveApiManager.get_alliance_information(all_alliance_info.alliance_id) all_alliance_api_info = EveApiManager.get_alliance_information(all_alliance_info.alliance_id)
if all_alliance_info.alliance_id == settings.ALLIANCE_ID: if (not settings.IS_CORP and all_alliance_info.alliance_id == settings.ALLIANCE_ID):
EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'], EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'],
all_alliance_api_info['member_count'], False) all_alliance_api_info['member_count'], False)
else: elif standing_level in corp_standings:
if 'alliance' in alliance_standings: if int(all_alliance_info.alliance_id) in corp_standings[standing_level]:
if int(all_alliance_info.alliance_id) in alliance_standings['alliance']: if int(corp_standings[standing_level][int(all_alliance_info.alliance_id)][
if int(alliance_standings['alliance'][int(all_alliance_info.alliance_id)][ 'standing']) >= settings.BLUE_STANDING:
'standing']) >= settings.ALLIANCE_BLUE_STANDING: EveManager.update_alliance_info(all_alliance_api_info['id'],
EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'],
all_alliance_api_info['executor_id'], all_alliance_api_info['member_count'], True)
all_alliance_api_info['member_count'], True)
else:
EveManager.update_alliance_info(all_alliance_api_info['id'],
all_alliance_api_info['executor_id'],
all_alliance_api_info['member_count'], False)
else: else:
EveManager.update_alliance_info(all_alliance_api_info['id'], EveManager.update_alliance_info(all_alliance_api_info['id'],
all_alliance_api_info['executor_id'], all_alliance_api_info['executor_id'],
@ -307,6 +388,10 @@ def run_alliance_corp_update():
EveManager.update_alliance_info(all_alliance_api_info['id'], EveManager.update_alliance_info(all_alliance_api_info['id'],
all_alliance_api_info['executor_id'], all_alliance_api_info['executor_id'],
all_alliance_api_info['member_count'], False) all_alliance_api_info['member_count'], False)
else:
EveManager.update_alliance_info(all_alliance_api_info['id'],
all_alliance_api_info['executor_id'],
all_alliance_api_info['member_count'], False)
# Update corp infos # Update corp infos
for all_corp_info in EveManager.get_all_corporation_info(): for all_corp_info in EveManager.get_all_corporation_info():
@ -317,46 +402,38 @@ def run_alliance_corp_update():
if alliance is not None and all_corp_info.alliance is not None: if alliance is not None and all_corp_info.alliance is not None:
if all_corp_info.alliance.alliance_id == settings.ALLIANCE_ID: if (not settings.IS_CORP) and (all_corp_info.alliance.alliance_id == settings.ALLIANCE_ID):
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False) EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False)
else: elif int(alliance.alliance_id) in corp_standings[standing_level]:
if int(alliance.alliance_id) in alliance_standings['alliance']: if int(corp_standings[standing_level][int(alliance.alliance_id)][
if int(alliance_standings['alliance'][int(alliance.alliance_id)][ 'standing']) >= settings.BLUE_STANDING:
'standing']) >= settings.ALLIANCE_BLUE_STANDING: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance,
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, True)
True)
else:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance,
False)
else: else:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance,
False) False)
else:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance,
False)
else: else:
if int(all_corp_info.corporation_id) in alliance_standings['alliance']: if int(all_corp_info.corporation_id) in corp_standings[standing_level]:
if int(alliance_standings['alliance'][int(all_corp_info.corporation_id)][ if int(corp_standings[standing_level][int(all_corp_info.corporation_id)][
'standing']) >= settings.ALLIANCE_BLUE_STANDING: 'standing']) >= settings.BLUE_STANDING:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, True) EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, True)
else: else:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
else: else:
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
# Nuke the none believers # Remove irrelevent corp and alliance models
# Check the corps # Check the corps
for all_corp_info in EveManager.get_all_corporation_info(): for all_corp_info in EveManager.get_all_corporation_info():
if all_corp_info.alliance is not None: if (settings.IS_CORP and all_corp_info.corporation_id != settings.CORP_ID) or (not settings.IS_CORP and all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID):
if all_corp_info.alliance.alliance_id is not None:
if all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID:
if not all_corp_info.is_blue:
all_corp_info.delete()
else:
if not all_corp_info.is_blue: if not all_corp_info.is_blue:
all_corp_info.delete() all_corp_info.delete()
# Check the alliances # Check the alliances
for all_alliance_info in EveManager.get_all_alliance_info(): for all_alliance_info in EveManager.get_all_alliance_info():
if all_alliance_info.alliance_id != settings.ALLIANCE_ID: if (not settings.IS_CORP and all_alliance_info.alliance_id != settings.ALLIANCE_ID):
if all_alliance_info.is_blue is not True: if all_alliance_info.is_blue is not True:
all_alliance_info.delete() all_alliance_info.delete()

View File

@ -7,7 +7,7 @@ from eveonline.managers import EveManager
class UpdateKeyForm(forms.Form): class UpdateKeyForm(forms.Form):
api_id = forms.CharField(max_length=254, required=True, label="Key ID") api_id = forms.CharField(max_length=254, required=True, label="Key ID")
api_key = forms.CharField(max_length=254, required=True, label="Verification Code") api_key = forms.CharField(max_length=254, required=True, label="Verification Code")
is_blue = forms.BooleanField(label="Blue to alliance", required=False) is_blue = forms.BooleanField(label="Blue to corp/alliance", required=False)
def clean(self): def clean(self):
if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']): if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']):
@ -28,4 +28,4 @@ class UpdateKeyForm(forms.Form):
self.cleaned_data['api_key']): self.cleaned_data['api_key']):
raise forms.ValidationError(u'API supplied is not a full api key') raise forms.ValidationError(u'API supplied is not a full api key')
return self.cleaned_data return self.cleaned_data

View File

@ -205,4 +205,9 @@ class EveManager:
@staticmethod @staticmethod
def get_all_alliance_info(): def get_all_alliance_info():
return EveAllianceInfo.objects.all() return EveAllianceInfo.objects.all()
@staticmethod
def get_charater_corporation_id_by_id(char_id):
if EveCharacter.objects.filter(character_id=char_id).exists():
return EveCharacter.objects.get(character_id=char_id).corporation_id

View File

@ -22,9 +22,9 @@ from eveonline.models import EveApiKeyPair
from authentication.models import AuthServicesInfo from authentication.models import AuthServicesInfo
def disable_alliance_member(user, char_id): def disable_member(user, char_id):
remove_member_permission(user, 'alliance_member') remove_member_permission(user, 'member')
remove_user_from_group(user, settings.DEFAULT_ALLIANCE_GROUP) remove_user_from_group(user, settings.DEFAULT_AUTH_GROUP)
remove_user_from_group(user, remove_user_from_group(user,
generate_corp_group_name( generate_corp_group_name(
EveManager.get_character_by_id(char_id).corporation_name)) EveManager.get_character_by_id(char_id).corporation_name))
@ -80,7 +80,7 @@ def api_key_removal(request, api_id):
if authinfo.is_blue: if authinfo.is_blue:
disable_blue_member(request.user) disable_blue_member(request.user)
else: else:
disable_alliance_member(request.user, authinfo.main_char_id) disable_member(request.user, authinfo.main_char_id)
EveManager.delete_api_key_pair(api_id, request.user.id) EveManager.delete_api_key_pair(api_id, request.user.id)
EveManager.delete_characters_by_api_id(api_id, request.user.id) EveManager.delete_characters_by_api_id(api_id, request.user.id)
@ -104,9 +104,9 @@ def main_character_change(request, char_id):
character_info = EveManager.get_character_by_id(char_id) character_info = EveManager.get_character_by_id(char_id)
corporation_info = EveManager.get_corporation_info_by_id(character_info.corporation_id) corporation_info = EveManager.get_corporation_info_by_id(character_info.corporation_id)
if EveManager.get_charater_alliance_id_by_id(char_id) == settings.ALLIANCE_ID: if (settings.IS_CORP and EveManager.get_charater_corporation_id_by_id(char_id) == settings.CORP_ID) or (not settings.IS_CORP and EveManager.get_charater_alliance_id_by_id(char_id) == settings.ALLIANCE_ID):
add_member_permission(request.user, 'alliance_member') add_member_permission(request.user, 'member')
add_user_to_group(request.user, settings.DEFAULT_ALLIANCE_GROUP) add_user_to_group(request.user, settings.DEFAULT_AUTH_GROUP)
add_user_to_group(request.user, add_user_to_group(request.user,
generate_corp_group_name(EveManager.get_character_by_id(char_id).corporation_name)) generate_corp_group_name(EveManager.get_character_by_id(char_id).corporation_name))
@ -116,15 +116,15 @@ def main_character_change(request, char_id):
add_user_to_group(request.user, settings.DEFAULT_BLUE_GROUP) add_user_to_group(request.user, settings.DEFAULT_BLUE_GROUP)
AuthServicesInfoManager.update_is_blue(True, request.user) AuthServicesInfoManager.update_is_blue(True, request.user)
else: else:
if check_if_user_has_permission(request.user, 'alliance_member'): if check_if_user_has_permission(request.user, 'member'):
disable_alliance_member(request.user, previousmainid) disable_member(request.user, previousmainid)
if check_if_user_has_permission(request.user, 'blue_member'): if check_if_user_has_permission(request.user, 'blue_member'):
disable_blue_member(request.user) disable_blue_member(request.user)
else: else:
# TODO: disable serivces # TODO: disable serivces
if check_if_user_has_permission(request.user, 'alliance_member'): if check_if_user_has_permission(request.user, 'member'):
disable_alliance_member(request.user, previousmainid) disable_member(request.user, previousmainid)
if check_if_user_has_permission(request.user, 'blue_member'): if check_if_user_has_permission(request.user, 'blue_member'):
disable_blue_member(request.user) disable_blue_member(request.user)

View File

@ -2,7 +2,9 @@ from django.contrib import admin
from models import GroupDescription from models import GroupDescription
from models import GroupRequest from models import GroupRequest
from models import HiddenGroup
admin.site.register(GroupDescription) admin.site.register(GroupDescription)
admin.site.register(GroupRequest) admin.site.register(GroupRequest)
admin.site.register(HiddenGroup)

View File

@ -21,4 +21,10 @@ class GroupRequest(models.Model):
main_char = models.ForeignKey(EveCharacter) main_char = models.ForeignKey(EveCharacter)
def __str__(self): def __str__(self):
return self.user.username + ":" + self.group.name return self.user.username + ":" + self.group.name
class HiddenGroup(models.Model):
group = models.ForeignKey(Group, unique=True)
def __str__(self):
return self.group.name + " - Hidden"

View File

@ -8,6 +8,7 @@ from django.contrib.auth.models import Group
from models import GroupDescription from models import GroupDescription
from models import GroupRequest from models import GroupRequest
from models import HiddenGroup
from authentication.managers import AuthServicesInfoManager from authentication.managers import AuthServicesInfoManager
from eveonline.managers import EveManager from eveonline.managers import EveManager
@ -96,10 +97,12 @@ def groups_view(request):
# Check if group is a corp # Check if group is a corp
if "Corp_" in group.name: if "Corp_" in group.name:
pass pass
elif settings.DEFAULT_ALLIANCE_GROUP in group.name: elif settings.DEFAULT_AUTH_GROUP in group.name:
pass pass
elif settings.DEFAULT_BLUE_GROUP in group.name: elif settings.DEFAULT_BLUE_GROUP in group.name:
pass pass
elif HiddenGroup.objects.filter(group=group).exists():
pass
else: else:
# Get the descriptionn # Get the descriptionn
groupDesc = GroupDescription.objects.filter(group=group) groupDesc = GroupDescription.objects.filter(group=group)
@ -146,4 +149,4 @@ def group_request_leave(request, group_id):
grouprequest.leave_request = True grouprequest.leave_request = True
grouprequest.save() grouprequest.save()
return HttpResponseRedirect("/groups") return HttpResponseRedirect("/groups")

View File

@ -3,13 +3,17 @@ from django.conf import settings
from eveonline.models import EveCorporationInfo from eveonline.models import EveCorporationInfo
class HRApplicationForm(forms.Form): class HRApplicationForm(forms.Form):
allchoices = [] allchoices = []
for corp in EveCorporationInfo.objects.all():
if corp.alliance is not None: if settings.IS_CORP:
if corp.alliance.alliance_id == settings.ALLIANCE_ID: corp = EveCorporationInfo.objects.get(corporation_id=settings.CORP_ID)
allchoices.append((str(corp.corporation_id), str(corp.corporation_name))) allchoices.append((str(corp.corporation_id), str(corp.corporation_name)))
else:
for corp in EveCorporationInfo.objects.all():
if corp.alliance is not None:
if corp.alliance.alliance_id == settings.ALLIANCE_ID:
allchoices.append((str(corp.corporation_id), str(corp.corporation_name)))
character_name = forms.CharField(max_length=254, required=True, label="Main Character Name") character_name = forms.CharField(max_length=254, required=True, label="Main Character Name")
full_api_id = forms.CharField(max_length=254, required=True, label="API ID") full_api_id = forms.CharField(max_length=254, required=True, label="API ID")
@ -26,4 +30,4 @@ class HRApplicationCommentForm(forms.Form):
class HRApplicationSearchForm(forms.Form): class HRApplicationSearchForm(forms.Form):
search_string = forms.CharField(max_length=254, required=True, label="Search String") search_string = forms.CharField(max_length=254, required=True, label="Search String")

View File

@ -1,8 +1,8 @@
from django.db import models from django.db import models
from django.contrib.auth.models import User from django.contrib.auth.models import User
from eveonline.models import EveCorporationInfo
from eveonline.models import EveCharacter from eveonline.models import EveCharacter
from eveonline.models import EveCorporationInfo
class HRApplication(models.Model): class HRApplication(models.Model):
@ -33,4 +33,4 @@ class HRApplicationComment(models.Model):
commenter_character = models.ForeignKey(EveCharacter) commenter_character = models.ForeignKey(EveCharacter)
def __str__(self): def __str__(self):
return str(self.application.character_name) + " - Comment" return str(self.application.character_name) + " - Comment"

View File

@ -28,8 +28,9 @@ def hr_application_management_view(request):
# Get the corp the member is in # Get the corp the member is in
auth_info = AuthServicesInfo.objects.get(user=request.user) auth_info = AuthServicesInfo.objects.get(user=request.user)
if auth_info.main_char_id != "": if auth_info.main_char_id != "":
main_alliance_id = EveManager.get_charater_alliance_id_by_id(auth_info.main_char_id) main_corp_id = EveManager.get_charater_corporation_id_by_id(auth_info.main_char_id)
if main_alliance_id == settings.ALLIANCE_ID: main_alliance_id = EveManager.get_charater_alliance_id_by_id(auth_info.main_char_id)
if (settings.IS_CORP and main_corp_id == settings.CORP_ID) or (not settings.IS_CORP and main_alliance_id == settings.ALLIANCE_ID):
main_char = EveCharacter.objects.get(character_id=auth_info.main_char_id) main_char = EveCharacter.objects.get(character_id=auth_info.main_char_id)
corp = EveCorporationInfo.objects.get(corporation_id=main_char.corporation_id) corp = EveCorporationInfo.objects.get(corporation_id=main_char.corporation_id)
corp_applications = HRApplication.objects.filter(corp=corp).filter(approved_denied=None) corp_applications = HRApplication.objects.filter(corp=corp).filter(approved_denied=None)

View File

@ -3,7 +3,7 @@ from django.contrib.auth.models import User
class RegistrationForm(forms.Form): class RegistrationForm(forms.Form):
username = forms.CharField(max_length=32, required=True) username = forms.CharField(max_length=30, required=True)
password = forms.CharField(widget=forms.PasswordInput(), required=True) password = forms.CharField(widget=forms.PasswordInput(), required=True)
password_again = forms.CharField(widget=forms.PasswordInput(), required=True, label="Password Again") password_again = forms.CharField(widget=forms.PasswordInput(), required=True, label="Password Again")
email = forms.CharField(max_length=254, required=True) email = forms.CharField(max_length=254, required=True)
@ -28,4 +28,4 @@ class RegistrationForm(forms.Form):
if self.cleaned_data['email'] != self.cleaned_data['email_again']: if self.cleaned_data['email'] != self.cleaned_data['email_again']:
raise forms.ValidationError(u'Emails do not match') raise forms.ValidationError(u'Emails do not match')
return self.cleaned_data return self.cleaned_data

View File

@ -6,7 +6,7 @@ evelink
dnspython dnspython
passlib passlib
xmpppy==0.5.0rc1 xmpppy==0.5.0rc1
# python-openfire==0.2.3-beta python-openfire==0.2.3-beta
# Django Stuff # # Django Stuff #
django==1.6.5 django==1.6.5

View File

@ -1,6 +1,6 @@
from util import bootstrap_permissions from util import bootstrap_permissions
from celerytask.tasks import run_alliance_corp_update from celerytask.tasks import run_corp_update
bootstrap_permissions() bootstrap_permissions()
run_alliance_corp_update() run_corp_update()
quit() quit()

View File

@ -140,10 +140,10 @@ class EveApiManager():
return False return False
@staticmethod @staticmethod
def get_alliance_standings(): def get_corp_standings():
if settings.ALLIANCE_EXEC_CORP_ID != "": if settings.CORP_API_ID != "":
try: try:
api = evelink.api.API(api_key=(settings.ALLIANCE_EXEC_CORP_ID, settings.ALLIANCE_EXEC_CORP_VCODE)) api = evelink.api.API(api_key=(settings.CORP_API_ID, settings.CORP_API_VCODE))
corp = evelink.corp.Corp(api=api) corp = evelink.corp.Corp(api=api)
corpinfo = corp.contacts() corpinfo = corp.contacts()
results = corpinfo[0] results = corpinfo[0]
@ -178,4 +178,4 @@ class EveApiManager():
except evelink.api.APIError as error: except evelink.api.APIError as error:
return False return False
return False return False

View File

@ -32,9 +32,18 @@ class Phpbb3Manager:
SQL_GET_USER_GROUPS = r"SELECT phpbb_groups.group_name FROM phpbb_groups , phpbb_user_group WHERE " \ SQL_GET_USER_GROUPS = r"SELECT phpbb_groups.group_name FROM phpbb_groups , phpbb_user_group WHERE " \
r"phpbb_user_group.group_id = phpbb_groups.group_id AND user_id=%s" r"phpbb_user_group.group_id = phpbb_groups.group_id AND user_id=%s"
SQL_ADD_USER_AVATAR = r"UPDATE phpbb_users SET user_avatar_type=2, user_avatar_width=64, user_avatar_height=64, user_avatar=%s WHERE user_id = %s"
def __init__(self): def __init__(self):
pass pass
@staticmethod
def __add_avatar(username, characterid):
avatar_url = "http://image.eveonline.com/Character/" + characterid + "_64.jpg"
cursor = connections['phpbb3'].cursor()
userid = Phpbb3Manager.__get_user_id(username)
cursor.execute(Phpbb3Manager.SQL_ADD_USER_AVATAR, [avatar_url, userid])
@staticmethod @staticmethod
def __generate_random_pass(): def __generate_random_pass():
return os.urandom(8).encode('hex') return os.urandom(8).encode('hex')
@ -113,7 +122,7 @@ class Phpbb3Manager:
pass pass
@staticmethod @staticmethod
def add_user(username, email, groups): def add_user(username, email, groups, characterid):
cursor = connections['phpbb3'].cursor() cursor = connections['phpbb3'].cursor()
username_clean = Phpbb3Manager.__santatize_username(username) username_clean = Phpbb3Manager.__santatize_username(username)
@ -130,6 +139,7 @@ class Phpbb3Manager:
email, 2, Phpbb3Manager.__get_current_utc_date(), email, 2, Phpbb3Manager.__get_current_utc_date(),
"", ""]) "", ""])
Phpbb3Manager.update_groups(username_clean, groups) Phpbb3Manager.update_groups(username_clean, groups)
Phpbb3Manager.__add_avatar(username_clean, characterid)
except: except:
pass pass
@ -203,12 +213,13 @@ class Phpbb3Manager:
return False return False
@staticmethod @staticmethod
def update_user_password(username): def update_user_password(username, characterid):
cursor = connections['phpbb3'].cursor() cursor = connections['phpbb3'].cursor()
password = Phpbb3Manager.__generate_random_pass() password = Phpbb3Manager.__generate_random_pass()
if Phpbb3Manager.check_user(username): if Phpbb3Manager.check_user(username):
pwhash = Phpbb3Manager.__gen_hash(password) pwhash = Phpbb3Manager.__gen_hash(password)
cursor.execute(Phpbb3Manager.SQL_UPDATE_USER_PASSWORD, [pwhash, username]) cursor.execute(Phpbb3Manager.SQL_UPDATE_USER_PASSWORD, [pwhash, username])
Phpbb3Manager.__add_avatar(username, characterid)
return password return password
return "" return ""
@ -219,4 +230,4 @@ class Phpbb3Manager:
try: try:
cursor.execute(Phpbb3Manager.SQL_DIS_USER, [email, password, username]) cursor.execute(Phpbb3Manager.SQL_DIS_USER, [email, password, username])
except: except:
pass pass

View File

@ -115,19 +115,22 @@ class Teamspeak3Manager:
@staticmethod @staticmethod
def _sync_ts_group_db(): def _sync_ts_group_db():
remote_groups = Teamspeak3Manager._group_list() try:
local_groups = TSgroup.objects.all() remote_groups = Teamspeak3Manager._group_list()
for key in remote_groups: local_groups = TSgroup.objects.all()
remote_groups[key] = int(remote_groups[key]) for key in remote_groups:
remote_groups[key] = int(remote_groups[key])
for group in local_groups: for group in local_groups:
if group.ts_group_id not in remote_groups.values(): if group.ts_group_id not in remote_groups.values():
TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete() TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete()
for key in remote_groups: for key in remote_groups:
g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key) g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key)
q = TSgroup.objects.filter(ts_group_id=g.ts_group_id) q = TSgroup.objects.filter(ts_group_id=g.ts_group_id)
if not q: if not q:
g.save() g.save()
except:
pass
@staticmethod @staticmethod
def add_user(username, corp_ticker): def add_user(username, corp_ticker):
@ -138,10 +141,10 @@ class Teamspeak3Manager:
server_groups = Teamspeak3Manager._group_list() server_groups = Teamspeak3Manager._group_list()
if not settings.DEFAULT_ALLIANCE_GROUP in server_groups: if not settings.DEFAULT_AUTH_GROUP in server_groups:
Teamspeak3Manager._create_group(settings.DEFAULT_ALLIANCE_GROUP) Teamspeak3Manager._create_group(settings.DEFAULT_AUTH_GROUP)
alliance_group_id = Teamspeak3Manager._group_id_by_name(settings.DEFAULT_ALLIANCE_GROUP) alliance_group_id = Teamspeak3Manager._group_id_by_name(settings.DEFAULT_AUTH_GROUP)
ret = server.send_command('tokenadd', {'tokentype': 0, 'tokenid1': alliance_group_id, 'tokenid2': 0, ret = server.send_command('tokenadd', {'tokentype': 0, 'tokenid1': alliance_group_id, 'tokenid2': 0,
'tokendescription': username_clean, 'tokendescription': username_clean,

View File

@ -139,11 +139,12 @@ class TS3Proto():
v = [v[0], '='.join(v[1:])] v = [v[0], '='.join(v[1:])]
key, value = v key, value = v
keys[key] = self._unescape_str(value) keys[key] = self._unescape_str(value)
elif v[0][0] and v[0][0] == '-': elif (not v == ['']):
# Option if v[0][0] and v[0][0] == '-':
opts.append(v[0][1:]) # Option
else: opts.append(v[0][1:])
command = v[0] else:
command = v[0]
d = {'keys': keys, 'opts': opts} d = {'keys': keys, 'opts': opts}
if command: if command:
@ -241,4 +242,4 @@ class TS3Server(TS3Proto):
@type id: int @type id: int
""" """
if self._connected and id > 0: if self._connected and id > 0:
self.send_command('use', keys={'sid': id}) self.send_command('use', keys={'sid': id})

View File

@ -91,7 +91,7 @@ def services_view(request):
def service_blue_alliance_test(user): def service_blue_alliance_test(user):
return check_if_user_has_permission(user, 'alliance_member') or check_if_user_has_permission(user, 'blue_member') return check_if_user_has_permission(user, 'member') or check_if_user_has_permission(user, 'blue_member')
@login_required @login_required
@ -100,7 +100,7 @@ def activate_forum(request):
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
# Valid now we get the main characters # Valid now we get the main characters
character = EveManager.get_character_by_id(authinfo.main_char_id) character = EveManager.get_character_by_id(authinfo.main_char_id)
result = Phpbb3Manager.add_user(character.character_name, request.user.email, ['REGISTERED']) result = Phpbb3Manager.add_user(character.character_name, request.user.email, ['REGISTERED'], authinfo.main_char_id)
# if empty we failed # if empty we failed
if result[0] != "": if result[0] != "":
AuthServicesInfoManager.update_user_forum_info(result[0], result[1], request.user) AuthServicesInfoManager.update_user_forum_info(result[0], result[1], request.user)
@ -126,7 +126,7 @@ def deactivate_forum(request):
@user_passes_test(service_blue_alliance_test) @user_passes_test(service_blue_alliance_test)
def reset_forum_password(request): def reset_forum_password(request):
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
result = Phpbb3Manager.update_user_password(authinfo.forum_username) result = Phpbb3Manager.update_user_password(authinfo.forum_username, authinfo.main_char_id)
# false we failed # false we failed
if result != "": if result != "":
AuthServicesInfoManager.update_user_forum_info(authinfo.forum_username, result, request.user) AuthServicesInfoManager.update_user_forum_info(authinfo.forum_username, result, request.user)

View File

@ -18,7 +18,7 @@ from form import SrpFleetMainUpdateForm
def srp_util_test(user): def srp_util_test(user):
return check_if_user_has_permission(user, 'alliance_member') or check_if_user_has_permission(user, 'blue_member') return check_if_user_has_permission(user, 'member') or check_if_user_has_permission(user, 'blue_member')
@login_required @login_required
@ -273,4 +273,4 @@ def srp_fleet_edit_view(request, fleet_id):
render_items = {'form': form, "no_fleet_id": no_fleet_id} render_items = {'form': form, "no_fleet_id": no_fleet_id}
return render_to_response('registered/srpfleetupdate.html', render_items, return render_to_response('registered/srpfleetupdate.html', render_items,
context_instance=RequestContext(request)) context_instance=RequestContext(request))

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 351 KiB

View File

@ -36,7 +36,11 @@
<div class="navbar-header "> <div class="navbar-header ">
<a class="navbar-brand "> <a class="navbar-brand ">
<div class="fa fa-cog fa-spin"></div> <div class="fa fa-cog fa-spin"></div>
{{ ALLIANCE_NAME }} {% if IS_CORP %}
{{ CORP_NAME }}
{% else %}
{{ ALLIANCE_NAME }}
{% endif %}
</a> </a>
</div> </div>
@ -76,7 +80,7 @@
class="fa fa-users fa-fw grayiconecolor"></i> Characters</a> class="fa fa-users fa-fw grayiconecolor"></i> Characters</a>
</li> </li>
{% if perms.auth.alliance_member %} {% if perms.auth.member %}
<li> <li>
<a {% ifequal request.path "/groups/" %} class="active" {% endifequal %} <a {% ifequal request.path "/groups/" %} class="active" {% endifequal %}
href="{% url 'auth_groups' %}"><i href="{% url 'auth_groups' %}"><i
@ -94,15 +98,15 @@
<li class="text-center divider-horizontal"> <li class="text-center divider-horizontal">
<h5>Aux Navigation</h5> <h5>Aux Navigation</h5>
</li> </li>
{% if perms.auth.alliance_member or perms.auth.blue_member %} {% if perms.auth.member or perms.auth.blue_member %}
<li> <li>
<a {% ifequal request.path "/services/" %} class="active" {% endifequal %} <a {% ifequal request.path "/services/" %} class="active" {% endifequal %}
href="{% url 'auth_services' %}"><i href="{% url 'auth_services' %}"><i
class="fa fa-cogs fa-fw grayiconecolor"></i> Alliance Services</a> class="fa fa-cogs fa-fw grayiconecolor"></i> Services</a>
</li> </li>
{% endif %} {% endif %}
{% if not perms.auth.alliance_member and not perms.auth.blue_member or perms.auth.human_resources %} {% if not perms.auth.member and not perms.auth.blue_member or perms.auth.human_resources %}
<li> <li>
<a {% ifequal request.path "/hr_application_management/" %} <a {% ifequal request.path "/hr_application_management/" %}
class="active" {% endifequal %} class="active" {% endifequal %}
@ -127,7 +131,7 @@
</li> </li>
{% endif %} {% endif %}
{% if perms.auth.alliance_member or perms.auth.blue_member %} {% if perms.auth.member or perms.auth.blue_member %}
<li> <li>
<a {% ifequal request.path "/fits" %} class="active" {% endifequal %} <a {% ifequal request.path "/fits" %} class="active" {% endifequal %}
href="{% url 'auth_fleet_fits' %}"><i href="{% url 'auth_fleet_fits' %}"><i
@ -158,7 +162,7 @@
class="fa fa-lock fa-fw grayiconecolor"></i>Change Password</a> class="fa fa-lock fa-fw grayiconecolor"></i>Change Password</a>
</li> </li>
{% if perms.auth.alliance_member or perms.auth.blue_member %} {% if perms.auth.member or perms.auth.blue_member %}
<li> <li>
<a {% ifequal request.path "/tool/fleet_formatter_tool/" %} <a {% ifequal request.path "/tool/fleet_formatter_tool/" %}
class="active" {% endifequal %} class="active" {% endifequal %}

View File

@ -1,23 +1,30 @@
{% load staticfiles %} {% load staticfiles %}
<style> <style>
html { html {
background: url("{% static 'img/index_images/index_bg.jpg' %}") no-repeat center center fixed; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
-webkit-background-size: cover; -webkit-background-size: cover;
-moz-background-size: cover; -moz-background-size: cover;
-o-background-size: cover; -o-background-size: cover;
background-size: cover; background-size: cover;
background-color: black;
} }
div { div {
height: 300px; height: 200px;
width: 400px; width: 400px;
position: fixed; position: fixed;
top: 40%; top: 60%;
left: 50%; left: 50%;
margin-top: -100px; margin-top: -100px;
margin-left: -200px; margin-left: -200px;
background-color: rgba(0,0,0,0.75); }
#logo {
height: 200px;
width: 900px;
position: fixed;
top: 20%;
left: 50%;
margin-top: -100px;
margin-left: -450px;
} }
</style> </style>
@ -25,9 +32,14 @@
<html> <html>
<head lang="en"> <head lang="en">
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Sugar Eve Alliance</title> <title>My Corp and/or Alliance Name</title>
</head> </head>
<body> <body>
<div id="logo">
<p style="text-align:center">
<img src="{% static 'img/index_images/logo.png' %}" border="0">
</p>
</div>
<div id="content"> <div id="content">
<p style="text-align:center"> <p style="text-align:center">
<a href="/dashboard/"> <a href="/dashboard/">
@ -46,12 +58,6 @@
<img src="{% static 'img/index_images/killboard.png' %}" border="0"> <img src="{% static 'img/index_images/killboard.png' %}" border="0">
</a> </a>
</p> </p>
<p style="text-align:center">
<a href="https://www.youtube.com/channel/UC0oldZRcG0XEWY9vQYPQPmA">
<img src="{% static 'img/index_images/media.png' %}" border="0">
</a>
</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -10,9 +10,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
{% if IS_CORP %}
<title>{{ ALLIANCE_NAME }} - Login</title> <title>{{ CORP_NAME }} - Login</title>
{% else %}
<title>{{ ALLIANCE_NAME }} - Login</title>
{% endif %}
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<!-- Custom Fonts --> <!-- Custom Fonts -->
@ -20,7 +23,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -10,7 +10,11 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{{ ALLIANCE_NAME }} - Login</title> {% if IS_CORP %}
<title>{{ CORP_NAME }} - Login</title>
{% else %}
<title>{{ ALLIANCE_NAME }} - Login</title>
{% endif %}
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
@ -20,7 +24,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -23,12 +23,19 @@
href="https://community.eveonline.com/support/api-key/CreatePredefined?accessMask=268435455">Create href="https://community.eveonline.com/support/api-key/CreatePredefined?accessMask=268435455">Create
a full API key</a> a full API key</a>
</p> </p>
{% if IS_CORP %}
<p class="text-center"> <p class="text-center">
NOTE: If you are part of the alliance do not check "Blue" this is for people who are blue to the NOTE: If you are part of the corp do not check "Blue", this is for people who are blue to the
alliance corp
but are not in it. Blue access is limited. but are not in it. Blue access is limited.
</p> </p>
{% else %}
<p class="text-center">
NOTE: If you are part of the alliance do not check "Blue", this is for people who are blue to the
alliance
but are not in it. Blue access is limited.
</p>
{% endif %}
<p class="text-center"><b>Do not change the accessmask or deselect options or it will not work </b> <p class="text-center"><b>Do not change the accessmask or deselect options or it will not work </b>
</p> </p>

View File

@ -6,7 +6,7 @@
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header text-center">Corporation Stats</h1> <h1 class="page-header text-center">Corporation Stats</h1>
{% if perms.auth.alliance_member %} {% if perms.auth.member %}
<div class="col-lg-12 container" id="example"> <div class="col-lg-12 container" id="example">
<div class="row"> <div class="row">
@ -67,7 +67,11 @@
</div> </div>
</div> </div>
{% else %} {% else %}
<p> Not part of the alliance</p> {% if IS_CORP %}
<div class="alert alert-danger" role="alert">You are not in the corporation.</div>
{% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance.</div>
{% endif %}
{% endif %} {% endif %}
</div> </div>
{% endblock content %} {% endblock content %}

View File

@ -1,12 +1,12 @@
{% extends "public/base.html" %} {% extends "public/base.html" %}
{% block title %}Alliance Auth{% endblock %} {% block title %}Alliance Auth{% endblock %}
{% block page_title %}Something something here{% endblock page_title %} {% block page_title %}Dashboard{% endblock page_title %}
{% block content %} {% block content %}
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header text-center">Dashboard</h1> <h1 class="page-header text-center">Dashboard</h1>
{% if perms.auth.alliance_member %} {% if perms.auth.member %}
<div class="col-lg-12 container" id="example"> <div class="col-lg-12 container" id="example">
@ -59,7 +59,11 @@
</div> </div>
</div> </div>
{% else %} {% else %}
<p> Not part of the alliance</p> {% if IS_CORP %}
<div class="alert alert-danger" role="alert">Not a part of the corporation.</div>
{% else %}
<div class="alert alert-danger" role="alert">Not a part of the alliance.</div>
{% endif %}
{% endif %} {% endif %}
</div> </div>
{% endblock content %} {% endblock content %}

View File

@ -0,0 +1,19 @@
{% extends "public/base.html" %}
{% load bootstrap %}
{% load staticfiles %}
{% block title %}Alliance Auth{% endblock %}
{% block page_title %}Alliance Fleet Doctrines{% endblock page_title %}
{% block extra_css %}{% endblock extra_css %}
{% block content %}
Main bash/defense doctrine (SHIELD) <br />
<a href="javascript:CCPEVE.showFitting('17843:24427;1:12346;2:3841;2:2281;1:5975;1:33824;2:2048;1:3888;1:4405;2:31718;1:31796;2:28215;5:23025;12136::');" '="">Vexor Navy Issue</a><br />
<a href="javascript:CCPEVE.showFitting('12005:24427;1:16471;1:2889;2:5975;1:3841;2:2281;1:2553;1:2048;1:33824;2:4405;2:31796;2:28213;5:28215;10:21898;1000::');" '="">Ishtar</a><br />
<a href="javascript:CCPEVE.showFitting('11978:8641;3:24427;1:5975;1:2281;2:3841;1:8529;1:1541;2:1355;1:1447;1:31378;2:2488;3:23709;3::');" '="">Scimitar</a><br />
<a href="javascript:CCPEVE.showFitting('631:8585;3:3841;1:2281;1:2032;1:5975;1:20224;1:2048;1:1447;4:31718;1:31790;1:31360;1::');" '="">Scythe</a><br />
<br />
Ship DNA can be exported by different tools I recommend using fleetup.com OR https://www.fuzzwork.co.uk/ships/dnagen.php to get the Ship DNA
{% endblock content %}

View File

@ -9,7 +9,7 @@
{% block content %} {% block content %}
<div class="col-lg-12"> <div class="col-lg-12">
<h1 class="page-header text-center">Available Groups</h1> <h1 class="page-header text-center">Available Groups</h1>
{% if perms.auth.alliance_member %} {% if perms.auth.member %}
<table class="table table-bordered"> <table class="table table-bordered">
<tr> <tr>
<th class="text-center">GroupID</th> <th class="text-center">GroupID</th>
@ -52,7 +52,11 @@
{% endfor %} {% endfor %}
</table> </table>
{% else %} {% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance</div> {% if IS_CORP %}
<div class="alert alert-danger" role="alert">You are not in the corporation.</div>
{% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance.</div>
{% endif %}
{% endif %} {% endif %}
</div> </div>

View File

@ -9,7 +9,7 @@
{% block content %} {% block content %}
<div class="col-lg-12"> <div class="col-lg-12">
{% if not perms.auth.alliance_member %} {% if not perms.auth.member %}
<h1 class="page-header text-center">Personal Applications <h1 class="page-header text-center">Personal Applications
<div class="text-right"> <div class="text-right">
<a href="{% url 'auth_hrapplication_create_view' %}"> <a href="{% url 'auth_hrapplication_create_view' %}">

View File

@ -153,7 +153,7 @@
</tr> </tr>
{% endif %} {% endif %}
</table> </table>
{% elif perms.auth.alliance_member %} {% elif perms.auth.member %}
<table class="table table-bordered"> <table class="table table-bordered">
<tr> <tr>
<th class="text-center">Service</th> <th class="text-center">Service</th>
@ -162,7 +162,7 @@
<th class="text-center">Domain</th> <th class="text-center">Domain</th>
<th class="text-center">Action</th> <th class="text-center">Action</th>
</tr> </tr>
{% if ENABLE_ALLIANCE_FORUM %} {% if ENABLE_AUTH_FORUM %}
<tr> <tr>
<td class="text-center">Forums</td> <td class="text-center">Forums</td>
<td class="text-center">{{ authinfo.forum_username }}</td> <td class="text-center">{{ authinfo.forum_username }}</td>
@ -187,7 +187,7 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
{% if ENABLE_ALLIANCE_IPBOARD %} {% if ENABLE_AUTH_IPBOARD %}
<td class="text-center">IPBoard Forums</td> <td class="text-center">IPBoard Forums</td>
<td class="text-center">{{ authinfo.ipboard_username }}</td> <td class="text-center">{{ authinfo.ipboard_username }}</td>
<td class="text-center">{{ authinfo.ipboard_password }}</td> <td class="text-center">{{ authinfo.ipboard_password }}</td>
@ -210,7 +210,7 @@
{% endifequal %} {% endifequal %}
</td> </td>
{% endif %} {% endif %}
{% if ENABLE_ALLIANCE_JABBER %} {% if ENABLE_AUTH_JABBER %}
<tr> <tr>
<td class="text-center">Jabber</td> <td class="text-center">Jabber</td>
<td class="text-center">{{ authinfo.jabber_username }}</td> <td class="text-center">{{ authinfo.jabber_username }}</td>
@ -235,7 +235,7 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
{% if ENABLE_ALLIANCE_MUMBLE %} {% if ENABLE_AUTH_MUMBLE %}
<tr> <tr>
<td class="text-center">Mumble</td> <td class="text-center">Mumble</td>
<td class="text-center">{{ authinfo.mumble_username }}</td> <td class="text-center">{{ authinfo.mumble_username }}</td>
@ -260,7 +260,7 @@
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
{% if ENABLE_ALLIANCE_TEAMSPEAK3 %} {% if ENABLE_AUTH_TEAMSPEAK3 %}
<tr> <tr>
<th class="text-center">Service</th> <th class="text-center">Service</th>
<th class="text-center">Unique ID</th> <th class="text-center">Unique ID</th>
@ -300,7 +300,11 @@
{% endif %} {% endif %}
</table> </table>
{% else %} {% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance</div> {% if IS_CORP %}
<div class="alert alert-danger" role="alert">You are not in the corporation.</div>
{% else %}
<div class="alert alert-danger" role="alert">You are not in the alliance.</div>
{% endif %}
{% endif %} {% endif %}
</div> </div>

View File

@ -12,7 +12,11 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{{ ALLIANCE_NAME }} - Login</title> {% if IS_CORP %}
<title>{{ CORP_NAME }} - Login</title>
{% else %}
<title>{{ ALLIANCE_NAME }} - Login</title>
{% endif %}
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
@ -21,7 +25,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -12,8 +12,11 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{{ ALLIANCE_NAME }} - Login</title> {% if IS_CORP %}
<title>{{ CORP_NAME }} - Login</title>
{% else %}
<title>{{ ALLIANCE_NAME }} - Login</title>
{% endif %}
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
<!-- Custom Fonts --> <!-- Custom Fonts -->
@ -21,7 +24,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -12,7 +12,7 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{{ ALLIANCE_NAME }} - Login</title> <title>{{ CORP_NAME }} - Login</title>
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
@ -21,7 +21,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -4,12 +4,12 @@
{% trans "Please go to the following page and choose a new password:" %} {% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %} {% block reset_link %}
https://evesugar.dyndns.info{% url 'password_reset_confirm' uidb64=uid token=token %} https://someurl.com{% url 'password_reset_confirm' uidb64=uid token=token %}
{% endblock %} {% endblock %}
{% trans "Your username, in case you've forgotten:" %} {{ user.get_username }} {% trans "Your username, in case you've forgotten:" %} {{ user.get_username }}
{% trans "Thanks for using our site!" %} {% trans "Thanks for using our site!" %}
{% blocktrans %}SUGAR Aliiance Team{% endblocktrans %} {% blocktrans %}Your Corporation{% endblocktrans %}
{% endautoescape %} {% endautoescape %}

View File

@ -12,7 +12,11 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{{ ALLIANCE_NAME }} - Login</title> {% if IS_CORP %}
<title>{{ CORP_NAME }} - Login</title>
{% else %}
<title>{{ ALLIANCE_NAME }} - Login</title>
{% endif %}
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
<link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet"> <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">
@ -21,7 +25,10 @@
<style> <style>
body { body {
background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll; background: url('{% static 'img/index_images/index_blank_bg.jpg' %}') no-repeat scroll;
background-size: 100% 100%; -webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
} }
.panel-transparent { .panel-transparent {

View File

@ -15,7 +15,7 @@ from models import Timer
def timer_util_test(user): def timer_util_test(user):
return check_if_user_has_permission(user, 'alliance_member') or check_if_user_has_permission(user, 'blue_member') return check_if_user_has_permission(user, 'member') or check_if_user_has_permission(user, 'blue_member')
@login_required @login_required
@ -74,4 +74,4 @@ def remove_timer(request, timer_id):
if Timer.objects.filter(id=timer_id).exists(): if Timer.objects.filter(id=timer_id).exists():
timer = Timer.objects.get(id=timer_id) timer = Timer.objects.get(id=timer_id)
timer.delete() timer.delete()
return HttpResponseRedirect("/timers/") return HttpResponseRedirect("/timers/")

View File

@ -9,7 +9,7 @@ from django.conf import settings
def bootstrap_permissions(): def bootstrap_permissions():
ct = ContentType.objects.get_for_model(User) ct = ContentType.objects.get_for_model(User)
Permission.objects.get_or_create(codename="alliance_member", content_type=ct, name="alliance_member") Permission.objects.get_or_create(codename="member", content_type=ct, name="member")
Permission.objects.get_or_create(codename="group_management", content_type=ct, name="group_management") Permission.objects.get_or_create(codename="group_management", content_type=ct, name="group_management")
Permission.objects.get_or_create(codename="jabber_broadcast", content_type=ct, name="jabber_broadcast") Permission.objects.get_or_create(codename="jabber_broadcast", content_type=ct, name="jabber_broadcast")
Permission.objects.get_or_create(codename="human_resources", content_type=ct, name="human_resources") Permission.objects.get_or_create(codename="human_resources", content_type=ct, name="human_resources")
@ -17,7 +17,7 @@ def bootstrap_permissions():
Permission.objects.get_or_create(codename="corp_stats", content_type=ct, name="corp_stats") Permission.objects.get_or_create(codename="corp_stats", content_type=ct, name="corp_stats")
Permission.objects.get_or_create(codename="timer_management", content_type=ct, name="timer_management") Permission.objects.get_or_create(codename="timer_management", content_type=ct, name="timer_management")
Permission.objects.get_or_create(codename="srp_management", content_type=ct, name="srp_management") Permission.objects.get_or_create(codename="srp_management", content_type=ct, name="srp_management")
Group.objects.get_or_create(name=settings.DEFAULT_ALLIANCE_GROUP) Group.objects.get_or_create(name=settings.DEFAULT_AUTH_GROUP)
Group.objects.get_or_create(name=settings.DEFAULT_BLUE_GROUP) Group.objects.get_or_create(name=settings.DEFAULT_BLUE_GROUP)
@ -54,4 +54,4 @@ def random_string(string_length=10):
random = str(uuid.uuid4()) # Convert UUID format to a Python string. random = str(uuid.uuid4()) # Convert UUID format to a Python string.
random = random.upper() # Make all characters uppercase. random = random.upper() # Make all characters uppercase.
random = random.replace("-", "") # Remove the UUID '-'. random = random.replace("-", "") # Remove the UUID '-'.
return random[0:string_length] # Return the random string. return random[0:string_length] # Return the random string.

View File

@ -2,13 +2,20 @@ from django.conf import settings
from django.utils import timezone from django.utils import timezone
def is_corp(request):
return {'IS_CORP': settings.IS_CORP}
def corp_id(request):
return {'CORP_ID': settings.CORP_ID}
def corp_name(request):
return {'CORP_NAME': settings.CORP_NAME}
def alliance_id(request): def alliance_id(request):
return {'ALLIANCE_ID': settings.ALLIANCE_ID} return {'ALLIANCE_ID': settings.ALLIANCE_ID}
def alliance_name(request): def alliance_name(request):
return {'ALLIANCE_NAME': settings.ALLIANCE_NAME} return {'ALLIANCE_NAME': settings.CORP_NAME}
def jabber_url(request): def jabber_url(request):
return {'JABBER_URL': settings.JABBER_URL} return {'JABBER_URL': settings.JABBER_URL}
@ -17,11 +24,11 @@ def jabber_url(request):
def domain_url(request): def domain_url(request):
return {'DOMAIN': settings.DOMAIN, 'MUMBLE_URL': settings.MUMBLE_URL, 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_AUTH_FORUM': settings.ENABLE_AUTH_FORUM,
'ENABLE_ALLIANCE_JABBER': settings.ENABLE_ALLIANCE_JABBER, 'ENABLE_AUTH_JABBER': settings.ENABLE_AUTH_JABBER,
'ENABLE_ALLIANCE_MUMBLE': settings.ENABLE_ALLIANCE_MUMBLE, 'ENABLE_AUTH_MUMBLE': settings.ENABLE_AUTH_MUMBLE,
'ENABLE_ALLIANCE_IPBOARD': settings.ENABLE_ALLIANCE_IPBOARD, 'ENABLE_AUTH_IPBOARD': settings.ENABLE_AUTH_IPBOARD,
'ENABLE_ALLIANCE_TEAMSPEAK3': settings.ENABLE_ALLIANCE_TEAMSPEAK3, 'ENABLE_AUTH_TEAMSPEAK3': settings.ENABLE_AUTH_TEAMSPEAK3,
'ENABLE_BLUE_JABBER': settings.ENABLE_BLUE_JABBER, 'ENABLE_BLUE_JABBER': settings.ENABLE_BLUE_JABBER,
'ENABLE_BLUE_FORUM': settings.ENABLE_BLUE_FORUM, 'ENABLE_BLUE_FORUM': settings.ENABLE_BLUE_FORUM,
'ENABLE_BLUE_MUMBLE': settings.ENABLE_BLUE_MUMBLE, 'ENABLE_BLUE_MUMBLE': settings.ENABLE_BLUE_MUMBLE,
@ -29,4 +36,4 @@ def domain_url(request):
'ENABLE_BLUE_TEAMSPEAK3': settings.ENABLE_BLUE_TEAMSPEAK3, 'ENABLE_BLUE_TEAMSPEAK3': settings.ENABLE_BLUE_TEAMSPEAK3,
'TEAMSPEAK3_PUBLIC_URL': settings.TEAMSPEAK3_PUBLIC_URL, 'TEAMSPEAK3_PUBLIC_URL': settings.TEAMSPEAK3_PUBLIC_URL,
'JACK_KNIFE_URL': settings.JACK_KNIFE_URL, 'JACK_KNIFE_URL': settings.JACK_KNIFE_URL,
'CURRENT_UTC_TIME': timezone.now()} 'CURRENT_UTC_TIME': timezone.now()}