mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 05:50:16 +02:00
Added logic to handle missing objects during run_api_refresh
This commit is contained in:
parent
b8ac8c7561
commit
8e3221e5ec
@ -211,7 +211,9 @@ def run_api_refresh():
|
|||||||
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
|
#preserve old corp ID for corp change test on members
|
||||||
oldcorp_id = EveCharacter.objects.get(character_id=authserviceinfo.main_char_id).corporation_id
|
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):
|
||||||
@ -227,59 +229,66 @@ 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_corp_id = EveManager.get_charater_corporation_id_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)
|
main_corp_id = EveManager.get_charater_corporation_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):
|
main_alliance_id = EveManager.get_charater_alliance_id_by_id(authserviceinfo.main_char_id)
|
||||||
if not check_if_user_has_permission(user, "member"):
|
if (settings.IS_CORP and main_corp_id == settings.CORP_ID) or (not settings.IS_CORP and main_alliance_id == settings.ALLIANCE_ID):
|
||||||
#transition from none or blue to member
|
if not check_if_user_has_permission(user, "member"):
|
||||||
if check_if_user_has_permission(user, "blue_member"):
|
#transition from none or blue to member
|
||||||
#strip blue status
|
if check_if_user_has_permission(user, "blue_member"):
|
||||||
remove_member_permission(user, "blue_member")
|
#strip blue status
|
||||||
remove_user_from_group(user, settings.DEFAULT_BLUE_GROUP)
|
remove_member_permission(user, "blue_member")
|
||||||
AuthServicesInfoManager.update_is_blue(False, user)
|
remove_user_from_group(user, settings.DEFAULT_BLUE_GROUP)
|
||||||
#add to auth group
|
AuthServicesInfoManager.update_is_blue(False, user)
|
||||||
add_member_permission(user, "member")
|
#add to auth group
|
||||||
add_user_to_group(user, settings.DEFAULT_AUTH_GROUP)
|
add_member_permission(user, "member")
|
||||||
#add to required corp group
|
add_user_to_group(user, settings.DEFAULT_AUTH_GROUP)
|
||||||
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
|
#add to required corp group
|
||||||
elif corp.corporation_id != oldcorp_id:
|
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
|
||||||
#changed corps, both corps auth'd, need to change group assignment
|
elif corp.corporation_id != oldcorp_id:
|
||||||
oldcorp = EveCorporationInfo.objects.get(corporation_id=oldcorp_id)
|
#changed corps, both corps auth'd, need to change group assignment
|
||||||
remove_user_from_group(user, generate_corp_group_name(oldcorp.corporation_name))
|
oldcorp = EveCorporationInfo.objects.get(corporation_id=oldcorp_id)
|
||||||
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
|
remove_user_from_group(user, generate_corp_group_name(oldcorp.corporation_name))
|
||||||
#reset services to force new mumble names and group assignments
|
add_user_to_group(user, generate_corp_group_name(character.corporation_name))
|
||||||
deactivate_services(user)
|
#reset services to force new mumble names and group assignments
|
||||||
elif corp is not None:
|
deactivate_services(user)
|
||||||
if corp.is_blue is not True:
|
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"):
|
if check_if_user_has_permission(user, "member"):
|
||||||
#transition from member to nobody
|
|
||||||
disable_alliance_member(user, authserviceinfo.main_char_id)
|
disable_alliance_member(user, authserviceinfo.main_char_id)
|
||||||
elif check_if_user_has_permission(user, "blue_member"):
|
elif check_if_user_has_permission(user, "blue_member"):
|
||||||
#transition from blue to nobody
|
|
||||||
disable_blue_member(user)
|
disable_blue_member(user)
|
||||||
else:
|
else:
|
||||||
#stay nobody, make sure no services
|
|
||||||
deactivate_services(user)
|
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:
|
else:
|
||||||
# disable accounts with missing corp model (not blue or member)
|
|
||||||
if check_if_user_has_permission(user, "member"):
|
if check_if_user_has_permission(user, "member"):
|
||||||
disable_alliance_member(user, authserviceinfo.main_char_id)
|
disable_alliance_member(user, authserviceinfo.main_char_id)
|
||||||
elif check_if_user_has_permission(user, "blue_member"):
|
elif check_if_user_has_permission(user, "blue_member"):
|
||||||
disable_blue_member(user)
|
disable_blue_member(user)
|
||||||
else:
|
else:
|
||||||
deactivate_services(user)
|
deactivate_services(user)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# disable accounts with invalid keys
|
# disable accounts with invalid keys
|
||||||
if check_if_user_has_permission(user, "member"):
|
if check_if_user_has_permission(user, "member"):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user