diff --git a/.gitignore b/.gitignore index ad28d98f..5e7f7823 100644 --- a/.gitignore +++ b/.gitignore @@ -55,6 +55,5 @@ target/ .vagrant/ alliance_auth/settings.py -requirements.txt -static/admin/img/Thumbs.db +*Thumbs.db nginx_config.txt diff --git a/alliance_auth/settings.py.example b/alliance_auth/settings.py.example index 47efc40c..26fcd0b5 100755 --- a/alliance_auth/settings.py.example +++ b/alliance_auth/settings.py.example @@ -20,6 +20,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(__file__)) # See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ # 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@') # SECURITY WARNING: don't run with debug turned on in production! @@ -77,8 +78,8 @@ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'alliance_auth', - 'USER': os.environ.get('AA_DB_DEFAULT_USER', 'allianceauth'), - 'PASSWORD': os.environ.get('AA_DB_DEFAULT_PASSWORD', 'allianceauth'), + 'USER': os.environ.get('AA_DB_DEFAULT_USER', 'allianceserver'), + 'PASSWORD': os.environ.get('AA_DB_DEFAULT_PASSWORD', 'password'), 'HOST': os.environ.get('AA_DB_DEFAULT_HOST', '127.0.0.1'), 'PORT': os.environ.get('AA_DB_DEFAULT_PORT', '3306'), }, @@ -86,8 +87,8 @@ DATABASES = { 'phpbb3': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'alliance_forum', - 'USER': os.environ.get('AA_DB_PHPBB3_USER', 'allianceauth'), - 'PASSWORD': os.environ.get('AA_DB_PHPBB3_PASSWORD', 'allianceauth'), + 'USER': os.environ.get('AA_DB_PHPBB3_USER', 'allianceserver'), + 'PASSWORD': os.environ.get('AA_DB_PHPBB3_PASSWORD', 'password'), 'HOST': os.environ.get('AA_DB_PHPBB3_HOST', '127.0.0.1'), 'PORT': os.environ.get('AA_DB_PHPBB3_PORT', '3306'), }, @@ -95,8 +96,8 @@ DATABASES = { 'mumble': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'alliance_mumble', - 'USER': os.environ.get('AA_DB_MUMBLE_USER', 'alliancemumble'), - 'PASSWORD': os.environ.get('AA_DB_MUMBLE_PASSWORD', 'alliancemumble'), + 'USER': os.environ.get('AA_DB_MUMBLE_USER', 'allianceserver'), + 'PASSWORD': os.environ.get('AA_DB_MUMBLE_PASSWORD', 'password'), 'HOST': os.environ.get('AA_DB_MUMBLE_HOST', '127.0.0.1'), 'PORT': os.environ.get('AA_DB_MUMBLE_PORT', '3306'), } @@ -111,6 +112,9 @@ TEMPLATE_CONTEXT_PROCESSORS = ( 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages', '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_name', '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 ################# # DOMAIN - The alliance auth domain_url # EMAIL_HOST - SMTP Server URL # 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_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_PORT = int(os.environ.get('AA_EMAIL_PORT', '587')) 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_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_ALLIANCE_GROUP = os.environ.get('AA_DEFAULT_ALLIANCE_GROUP', 'AllianceMember') -DEFAULT_BLUE_GROUP = os.environ.get('AA_DEFAULT_BLUE_GROUP', 'BlueMember') +DEFAULT_AUTH_GROUP = os.environ.get('AA_DEFAULT_ALLIANCE_GROUP', 'Member') +DEFAULT_BLUE_GROUP = os.environ.get('AA_DEFAULT_BLUE_GROUP', 'Blue') ######################### # Alliance Service Setup ######################### -# ENABLE_ALLIANCE_FORUM - Enable forum support in the auth for alliance members -# ENABLE_ALLIANCE_JABBER - Enable jabber support in the auth for alliance members -# ENABLE_ALLIANCE_MUMBLE - Enable mumble support in the auth for alliance members -# ENABLE_ALLIANCE_IPBOARD - Enable IPBoard forum support in the auth for alliance members +# ENABLE_AUTH_FORUM - Enable forum support in the auth for auth'd members +# ENABLE_AUTH_JABBER - Enable jabber support in the auth for auth'd members +# ENABLE_AUTH_MUMBLE - Enable mumble support in the auth for auth'd 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_ALLIANCE_JABBER = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_JABBER', 'True') -ENABLE_ALLIANCE_MUMBLE = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_MUMBLE', 'True') -ENABLE_ALLIANCE_IPBOARD = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_IPBOARD', 'False') -ENABLE_ALLIANCE_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_ALLIANCE_TEAMSPEAK3', 'False') +ENABLE_AUTH_FORUM = 'True' == os.environ.get('AA_ENABLE_AUTH_FORUM', 'True') +ENABLE_AUTH_JABBER = 'True' == os.environ.get('AA_ENABLE_AUTH_JABBER', 'True') +ENABLE_AUTH_MUMBLE = 'True' == os.environ.get('AA_ENABLE_AUTH_MUMBLE', 'True') +ENABLE_AUTH_IPBOARD = 'True' == os.environ.get('AA_ENABLE_AUTH_IPBOARD', 'False') +ENABLE_AUTH_TEAMSPEAK3 = 'True' == os.environ.get('AA_ENABLE_AUTH_TEAMSPEAK3', 'False') ##################### # 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_JABBER - Enable jabber 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 ##################### +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_JABBER = 'True' == os.environ.get('AA_ENABLE_BLUE_JABBER', 'False') 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_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_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_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_NAME = os.environ.get('AA_ALLIANCE_NAME', 'Somealliance') -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')) +ALLIANCE_ID = os.environ.get('AA_ALLIANCE_ID', '') +ALLIANCE_NAME = os.environ.get('AA_ALLIANCE_NAME', '') + ##################### # 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_APIMODULE - Module for alliance auth *leave alone* ##################### -FORUM_URL = os.environ.get('AA_FORUM_URL', "http://someaddress.com") -IPBOARD_ENDPOINT = os.environ.get('AA_IPBOARD_ENDPOINT', 'someaddress.com/interface/board/index.php') +FORUM_URL = os.environ.get('AA_FORUM_URL', "http://yourdomain.com") +IPBOARD_ENDPOINT = os.environ.get('AA_IPBOARD_ENDPOINT', 'yourdomain.com/interface/board/index.php') IPBOARD_APIKEY = os.environ.get('AA_IPBOARD_APIKEY', 'somekeyhere') IPBOARD_APIMODULE = 'aa' @@ -246,15 +272,16 @@ IPBOARD_APIMODULE = 'aa' # JABBER_URL - Jabber address url # JABBER_PORT - Jabber service portal # JABBER_SERVER - Jabber server url -# OPENFIRE_ADDRESS - Address of the openfire admin console -# OPENFIRE_SECRET_KEY - Openfire userservice secret key +# OPENFIRE_ADDRESS - Address of the openfire admin console including port +# Please use http with 9090 or https with 9091 +# OPENFIRE_SECRET_KEY - Openfire REST API secret key # BROADCAST_USER - Broadcast user JID # 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_SERVER = os.environ.get('AA_JABBER_SERVER', "someadddress.com") -OPENFIRE_ADDRESS = os.environ.get('AA_OPENFIRE_ADDRESS', "http://someaddress.com:9090/") +JABBER_SERVER = os.environ.get('AA_JABBER_SERVER', "yourdomain.com") +OPENFIRE_ADDRESS = os.environ.get('AA_OPENFIRE_ADDRESS', "http://yourdomain.com:9090/") OPENFIRE_SECRET_KEY = os.environ.get('AA_OPENFIRE_SECRET_KEY', "somekey") BROADCAST_USER = os.environ.get('AA_BROADCAST_USER', "broadcast@") + JABBER_URL 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_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')) ###################################### @@ -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_PASSWORD = os.environ.get('AA_TEAMSPEAK3_SERVERQUERY_PASSWORD', 'passwordhere') 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') diff --git a/celerytask/tasks.py b/celerytask/tasks.py index f38eeffa..45f758e9 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -15,7 +15,29 @@ from authentication.models import AuthServicesInfo from eveonline.managers import EveManager from services.managers.eve_api_manager import EveApiManager 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): syncgroups = SyncGroupCache.objects.filter(user=user) @@ -28,8 +50,6 @@ def update_jabber_groups(user): if len(groups) == 0: groups.append('empty') - print 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): - usergroups = User.objects.get(id=user.id).groups.all() + usergroups = user.groups.all() authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = {} for usergroup in usergroups: @@ -102,9 +122,6 @@ def remove_all_syncgroups_for_service(user, servicename): def add_to_databases(user, groups, syncgroups): - print user - print groups - print syncgroups authserviceinfo = None try: authserviceinfo = AuthServicesInfo.objects.get(user=user) @@ -118,8 +135,6 @@ def add_to_databases(user, groups, syncgroups): update_teamspeak3_groups(user) for group in groups: - print group - if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "": if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True: create_syncgroup_for_user(user, group.name, "openfire") @@ -195,6 +210,10 @@ def run_api_refresh(): print 'Running update on user: ' + user.username 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: 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): @@ -210,50 +229,118 @@ def run_api_refresh(): if valid_key: # Check our main character character = EveManager.get_character_by_id(authserviceinfo.main_char_id) - corp = EveManager.get_corporation_info_by_id(character.corporation_id) - main_alliance_id = EveManager.get_charater_alliance_id_by_id(authserviceinfo.main_char_id) - if main_alliance_id == settings.ALLIANCE_ID: - pass - elif corp is not None: - if corp.is_blue is not True: + if character is not None and EveManager.check_if_corporation_exists_by_id(character.corporation_id): + corp = EveManager.get_corporation_info_by_id(character.corporation_id) + main_corp_id = EveManager.get_charater_corporation_id_by_id(authserviceinfo.main_char_id) + main_alliance_id = EveManager.get_charater_alliance_id_by_id(authserviceinfo.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): + 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) + 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: deactivate_services(user) - else: - # nuke it - deactivate_services(user) + else: print 'No main_char_id set' # Run Every 2 hours @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 if EveApiManager.check_if_api_server_online(): - # 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 settings.IS_CORP: + # Create the corp + corpinfo = EveApiManager.get_corporation_information(settings.CORP_ID) 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) + 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 - alliance_standings = EveApiManager.get_alliance_standings() - if alliance_standings: - for standing_id in EveApiManager.get_alliance_standings()['alliance']: - if int(alliance_standings['alliance'][standing_id]['standing']) >= settings.ALLIANCE_BLUE_STANDING: + corp_standings = EveApiManager.get_corp_standings() + if corp_standings: + for standing_id in EveApiManager.get_corp_standings()[standing_level]: + if int(corp_standings[standing_level][standing_id]['standing']) >= settings.BLUE_STANDING: if EveApiManager.check_if_id_is_character(standing_id): pass elif EveApiManager.check_if_id_is_corp(standing_id): @@ -283,22 +370,16 @@ def run_alliance_corp_update(): # Update all allinace info's for all_alliance_info in EveManager.get_all_alliance_info(): 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'], all_alliance_api_info['member_count'], False) - else: - if 'alliance' in alliance_standings: - if int(all_alliance_info.alliance_id) in alliance_standings['alliance']: - if int(alliance_standings['alliance'][int(all_alliance_info.alliance_id)][ - 'standing']) >= settings.ALLIANCE_BLUE_STANDING: - EveManager.update_alliance_info(all_alliance_api_info['id'], - all_alliance_api_info['executor_id'], - 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) - + elif standing_level in corp_standings: + if int(all_alliance_info.alliance_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(all_alliance_info.alliance_id)][ + 'standing']) >= settings.BLUE_STANDING: + EveManager.update_alliance_info(all_alliance_api_info['id'], + all_alliance_api_info['executor_id'], + all_alliance_api_info['member_count'], True) else: EveManager.update_alliance_info(all_alliance_api_info['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'], all_alliance_api_info['executor_id'], 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 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 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) - else: - if int(alliance.alliance_id) in alliance_standings['alliance']: - if int(alliance_standings['alliance'][int(alliance.alliance_id)][ - 'standing']) >= settings.ALLIANCE_BLUE_STANDING: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, - True) - else: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, - False) + elif int(alliance.alliance_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(alliance.alliance_id)][ + 'standing']) >= settings.BLUE_STANDING: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, + True) else: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False) + else: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, + False) else: - if int(all_corp_info.corporation_id) in alliance_standings['alliance']: - if int(alliance_standings['alliance'][int(all_corp_info.corporation_id)][ - 'standing']) >= settings.ALLIANCE_BLUE_STANDING: + if int(all_corp_info.corporation_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(all_corp_info.corporation_id)][ + 'standing']) >= settings.BLUE_STANDING: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, True) else: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) else: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) - # Nuke the none believers + # Remove irrelevent corp and alliance models # Check the corps for all_corp_info in EveManager.get_all_corporation_info(): - if all_corp_info.alliance is not None: - 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 (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 not all_corp_info.is_blue: all_corp_info.delete() # Check the alliances 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: all_alliance_info.delete() - - diff --git a/eveonline/forms.py b/eveonline/forms.py index 44b1138e..a4a9a43d 100644 --- a/eveonline/forms.py +++ b/eveonline/forms.py @@ -7,7 +7,7 @@ from eveonline.managers import EveManager class UpdateKeyForm(forms.Form): api_id = forms.CharField(max_length=254, required=True, label="Key ID") 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): 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']): raise forms.ValidationError(u'API supplied is not a full api key') - return self.cleaned_data \ No newline at end of file + return self.cleaned_data diff --git a/eveonline/managers.py b/eveonline/managers.py index 270ee7d5..b604b1c5 100644 --- a/eveonline/managers.py +++ b/eveonline/managers.py @@ -205,4 +205,9 @@ class EveManager: @staticmethod def get_all_alliance_info(): - return EveAllianceInfo.objects.all() \ No newline at end of file + 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 diff --git a/eveonline/views.py b/eveonline/views.py index 008c68dc..d5b4ab58 100755 --- a/eveonline/views.py +++ b/eveonline/views.py @@ -22,9 +22,9 @@ from eveonline.models import EveApiKeyPair from authentication.models import AuthServicesInfo -def disable_alliance_member(user, char_id): - remove_member_permission(user, 'alliance_member') - remove_user_from_group(user, settings.DEFAULT_ALLIANCE_GROUP) +def disable_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)) @@ -80,7 +80,7 @@ def api_key_removal(request, api_id): if authinfo.is_blue: disable_blue_member(request.user) 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_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) 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: - add_member_permission(request.user, 'alliance_member') - add_user_to_group(request.user, settings.DEFAULT_ALLIANCE_GROUP) + 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, 'member') + add_user_to_group(request.user, settings.DEFAULT_AUTH_GROUP) add_user_to_group(request.user, 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) AuthServicesInfoManager.update_is_blue(True, request.user) else: - if check_if_user_has_permission(request.user, 'alliance_member'): - disable_alliance_member(request.user, previousmainid) + if check_if_user_has_permission(request.user, 'member'): + disable_member(request.user, previousmainid) if check_if_user_has_permission(request.user, 'blue_member'): disable_blue_member(request.user) else: # TODO: disable serivces - if check_if_user_has_permission(request.user, 'alliance_member'): - disable_alliance_member(request.user, previousmainid) + if check_if_user_has_permission(request.user, 'member'): + disable_member(request.user, previousmainid) if check_if_user_has_permission(request.user, 'blue_member'): disable_blue_member(request.user) diff --git a/groupmanagement/admin.py b/groupmanagement/admin.py index 59a1e5c4..c89f1c75 100644 --- a/groupmanagement/admin.py +++ b/groupmanagement/admin.py @@ -2,7 +2,9 @@ from django.contrib import admin from models import GroupDescription from models import GroupRequest +from models import HiddenGroup admin.site.register(GroupDescription) admin.site.register(GroupRequest) +admin.site.register(HiddenGroup) diff --git a/groupmanagement/models.py b/groupmanagement/models.py index 895728d6..d6ca4ffe 100644 --- a/groupmanagement/models.py +++ b/groupmanagement/models.py @@ -21,4 +21,10 @@ class GroupRequest(models.Model): main_char = models.ForeignKey(EveCharacter) def __str__(self): - return self.user.username + ":" + self.group.name \ No newline at end of file + 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" diff --git a/groupmanagement/views.py b/groupmanagement/views.py index 473c1493..44042e5f 100755 --- a/groupmanagement/views.py +++ b/groupmanagement/views.py @@ -8,6 +8,7 @@ from django.contrib.auth.models import Group from models import GroupDescription from models import GroupRequest +from models import HiddenGroup from authentication.managers import AuthServicesInfoManager from eveonline.managers import EveManager @@ -96,10 +97,12 @@ def groups_view(request): # Check if group is a corp if "Corp_" in group.name: pass - elif settings.DEFAULT_ALLIANCE_GROUP in group.name: + elif settings.DEFAULT_AUTH_GROUP in group.name: pass elif settings.DEFAULT_BLUE_GROUP in group.name: pass + elif HiddenGroup.objects.filter(group=group).exists(): + pass else: # Get the descriptionn groupDesc = GroupDescription.objects.filter(group=group) @@ -146,4 +149,4 @@ def group_request_leave(request, group_id): grouprequest.leave_request = True grouprequest.save() - return HttpResponseRedirect("/groups") \ No newline at end of file + return HttpResponseRedirect("/groups") diff --git a/hrapplications/forms.py b/hrapplications/forms.py index 8fa9671a..7d1ad0e7 100755 --- a/hrapplications/forms.py +++ b/hrapplications/forms.py @@ -3,13 +3,17 @@ from django.conf import settings from eveonline.models import EveCorporationInfo - class HRApplicationForm(forms.Form): allchoices = [] - 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))) + + if settings.IS_CORP: + corp = EveCorporationInfo.objects.get(corporation_id=settings.CORP_ID) + 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") 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): - search_string = forms.CharField(max_length=254, required=True, label="Search String") \ No newline at end of file + search_string = forms.CharField(max_length=254, required=True, label="Search String") diff --git a/hrapplications/models.py b/hrapplications/models.py index 68fd06b4..3e6bd0ed 100755 --- a/hrapplications/models.py +++ b/hrapplications/models.py @@ -1,8 +1,8 @@ from django.db import models from django.contrib.auth.models import User -from eveonline.models import EveCorporationInfo from eveonline.models import EveCharacter +from eveonline.models import EveCorporationInfo class HRApplication(models.Model): @@ -33,4 +33,4 @@ class HRApplicationComment(models.Model): commenter_character = models.ForeignKey(EveCharacter) def __str__(self): - return str(self.application.character_name) + " - Comment" \ No newline at end of file + return str(self.application.character_name) + " - Comment" diff --git a/hrapplications/views.py b/hrapplications/views.py index 02bfc0bb..3f4fa9b3 100755 --- a/hrapplications/views.py +++ b/hrapplications/views.py @@ -28,8 +28,9 @@ def hr_application_management_view(request): # Get the corp the member is in auth_info = AuthServicesInfo.objects.get(user=request.user) if auth_info.main_char_id != "": - main_alliance_id = EveManager.get_charater_alliance_id_by_id(auth_info.main_char_id) - if main_alliance_id == settings.ALLIANCE_ID: + main_corp_id = EveManager.get_charater_corporation_id_by_id(auth_info.main_char_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) corp = EveCorporationInfo.objects.get(corporation_id=main_char.corporation_id) corp_applications = HRApplication.objects.filter(corp=corp).filter(approved_denied=None) diff --git a/registration/forms.py b/registration/forms.py index 11d66f51..9a6b8324 100644 --- a/registration/forms.py +++ b/registration/forms.py @@ -3,7 +3,7 @@ from django.contrib.auth.models import User 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_again = forms.CharField(widget=forms.PasswordInput(), required=True, label="Password Again") 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']: raise forms.ValidationError(u'Emails do not match') - return self.cleaned_data \ No newline at end of file + return self.cleaned_data diff --git a/requirements.txt b/requirements.txt index 41f248ad..480ae4e6 100755 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ evelink dnspython passlib xmpppy==0.5.0rc1 -# python-openfire==0.2.3-beta +python-openfire==0.2.3-beta # Django Stuff # django==1.6.5 diff --git a/run_alliance_corp_update.py b/run_alliance_corp_update.py index c41709f2..05b31ecc 100644 --- a/run_alliance_corp_update.py +++ b/run_alliance_corp_update.py @@ -1,6 +1,6 @@ from util import bootstrap_permissions -from celerytask.tasks import run_alliance_corp_update +from celerytask.tasks import run_corp_update bootstrap_permissions() -run_alliance_corp_update() +run_corp_update() quit() diff --git a/services/managers/eve_api_manager.py b/services/managers/eve_api_manager.py index 5a77aaec..bcba1e38 100644 --- a/services/managers/eve_api_manager.py +++ b/services/managers/eve_api_manager.py @@ -140,10 +140,10 @@ class EveApiManager(): return False @staticmethod - def get_alliance_standings(): - if settings.ALLIANCE_EXEC_CORP_ID != "": + def get_corp_standings(): + if settings.CORP_API_ID != "": 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) corpinfo = corp.contacts() results = corpinfo[0] @@ -178,4 +178,4 @@ class EveApiManager(): except evelink.api.APIError as error: return False - return False \ No newline at end of file + return False diff --git a/services/managers/phpbb3_manager.py b/services/managers/phpbb3_manager.py index ce9dc62f..26ffea4d 100755 --- a/services/managers/phpbb3_manager.py +++ b/services/managers/phpbb3_manager.py @@ -32,9 +32,18 @@ class Phpbb3Manager: 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" + 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): 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 def __generate_random_pass(): return os.urandom(8).encode('hex') @@ -113,7 +122,7 @@ class Phpbb3Manager: pass @staticmethod - def add_user(username, email, groups): + def add_user(username, email, groups, characterid): cursor = connections['phpbb3'].cursor() username_clean = Phpbb3Manager.__santatize_username(username) @@ -130,6 +139,7 @@ class Phpbb3Manager: email, 2, Phpbb3Manager.__get_current_utc_date(), "", ""]) Phpbb3Manager.update_groups(username_clean, groups) + Phpbb3Manager.__add_avatar(username_clean, characterid) except: pass @@ -203,12 +213,13 @@ class Phpbb3Manager: return False @staticmethod - def update_user_password(username): + def update_user_password(username, characterid): cursor = connections['phpbb3'].cursor() password = Phpbb3Manager.__generate_random_pass() if Phpbb3Manager.check_user(username): pwhash = Phpbb3Manager.__gen_hash(password) cursor.execute(Phpbb3Manager.SQL_UPDATE_USER_PASSWORD, [pwhash, username]) + Phpbb3Manager.__add_avatar(username, characterid) return password return "" @@ -219,4 +230,4 @@ class Phpbb3Manager: try: cursor.execute(Phpbb3Manager.SQL_DIS_USER, [email, password, username]) except: - pass \ No newline at end of file + pass diff --git a/services/managers/teamspeak3_manager.py b/services/managers/teamspeak3_manager.py index 32a27aaa..291b58a1 100755 --- a/services/managers/teamspeak3_manager.py +++ b/services/managers/teamspeak3_manager.py @@ -115,19 +115,22 @@ class Teamspeak3Manager: @staticmethod def _sync_ts_group_db(): - remote_groups = Teamspeak3Manager._group_list() - local_groups = TSgroup.objects.all() - for key in remote_groups: - remote_groups[key] = int(remote_groups[key]) + try: + remote_groups = Teamspeak3Manager._group_list() + local_groups = TSgroup.objects.all() + for key in remote_groups: + remote_groups[key] = int(remote_groups[key]) - for group in local_groups: - if group.ts_group_id not in remote_groups.values(): - TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete() - for key in remote_groups: - g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key) - q = TSgroup.objects.filter(ts_group_id=g.ts_group_id) - if not q: - g.save() + for group in local_groups: + if group.ts_group_id not in remote_groups.values(): + TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete() + for key in remote_groups: + g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key) + q = TSgroup.objects.filter(ts_group_id=g.ts_group_id) + if not q: + g.save() + except: + pass @staticmethod def add_user(username, corp_ticker): @@ -138,10 +141,10 @@ class Teamspeak3Manager: server_groups = Teamspeak3Manager._group_list() - if not settings.DEFAULT_ALLIANCE_GROUP in server_groups: - Teamspeak3Manager._create_group(settings.DEFAULT_ALLIANCE_GROUP) + if not settings.DEFAULT_AUTH_GROUP in server_groups: + 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, 'tokendescription': username_clean, diff --git a/services/managers/util/ts3.py b/services/managers/util/ts3.py index f13a04ba..1122737b 100755 --- a/services/managers/util/ts3.py +++ b/services/managers/util/ts3.py @@ -139,11 +139,12 @@ class TS3Proto(): v = [v[0], '='.join(v[1:])] key, value = v keys[key] = self._unescape_str(value) - elif v[0][0] and v[0][0] == '-': - # Option - opts.append(v[0][1:]) - else: - command = v[0] + elif (not v == ['']): + if v[0][0] and v[0][0] == '-': + # Option + opts.append(v[0][1:]) + else: + command = v[0] d = {'keys': keys, 'opts': opts} if command: @@ -241,4 +242,4 @@ class TS3Server(TS3Proto): @type id: int """ if self._connected and id > 0: - self.send_command('use', keys={'sid': id}) \ No newline at end of file + self.send_command('use', keys={'sid': id}) diff --git a/services/views.py b/services/views.py index a48fca9a..f0ba185b 100755 --- a/services/views.py +++ b/services/views.py @@ -91,7 +91,7 @@ def services_view(request): 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 @@ -100,7 +100,7 @@ def activate_forum(request): authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) # Valid now we get the main characters character = EveManager.get_character_by_id(authinfo.main_char_id) - result = 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 result[0] != "": 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) def reset_forum_password(request): 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 if result != "": AuthServicesInfoManager.update_user_forum_info(authinfo.forum_username, result, request.user) diff --git a/srp/views.py b/srp/views.py index 61a160be..2ae7061e 100755 --- a/srp/views.py +++ b/srp/views.py @@ -18,7 +18,7 @@ from form import SrpFleetMainUpdateForm 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 @@ -273,4 +273,4 @@ def srp_fleet_edit_view(request, fleet_id): render_items = {'form': form, "no_fleet_id": no_fleet_id} return render_to_response('registered/srpfleetupdate.html', render_items, - context_instance=RequestContext(request)) \ No newline at end of file + context_instance=RequestContext(request)) diff --git a/static/img/index_images/Thumbs.db b/static/img/index_images/Thumbs.db deleted file mode 100644 index 91d9710a..00000000 Binary files a/static/img/index_images/Thumbs.db and /dev/null differ diff --git a/static/img/index_images/index_bg.jpg b/static/img/index_images/index_bg.jpg index 0446c81d..e7f1e9c5 100644 Binary files a/static/img/index_images/index_bg.jpg and b/static/img/index_images/index_bg.jpg differ diff --git a/templates/public/base.html b/templates/public/base.html index 55a6fc3c..d2153f1e 100755 --- a/templates/public/base.html +++ b/templates/public/base.html @@ -36,7 +36,11 @@ @@ -76,7 +80,7 @@ class="fa fa-users fa-fw grayiconecolor"> Characters - {% if perms.auth.alliance_member %} + {% if perms.auth.member %}
  • Aux Navigation
  • - {% if perms.auth.alliance_member or perms.auth.blue_member %} + {% if perms.auth.member or perms.auth.blue_member %}
  • Alliance Services + class="fa fa-cogs fa-fw grayiconecolor"> Services
  • {% 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 %}
  • {% endif %} - {% if perms.auth.alliance_member or perms.auth.blue_member %} + {% if perms.auth.member or perms.auth.blue_member %}
  • Change Password
  • - {% if perms.auth.alliance_member or perms.auth.blue_member %} + {% if perms.auth.member or perms.auth.blue_member %}
  • 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; -moz-background-size: cover; -o-background-size: cover; background-size: cover; - background-color: black; } div { - height: 300px; + height: 200px; width: 400px; position: fixed; - top: 40%; + top: 60%; left: 50%; margin-top: -100px; 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; } @@ -25,9 +32,14 @@ - Sugar Eve Alliance + My Corp and/or Alliance Name +

    @@ -46,12 +58,6 @@

    - -

    - - - -

    diff --git a/templates/public/login.html b/templates/public/login.html index 17e516c0..28eef237 100644 --- a/templates/public/login.html +++ b/templates/public/login.html @@ -10,9 +10,12 @@ - - {{ ALLIANCE_NAME }} - Login - + {% if IS_CORP %} + {{ CORP_NAME }} - Login + {% else %} + {{ ALLIANCE_NAME }} - Login + {% endif %} + @@ -20,7 +23,10 @@