mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-14 02:56:24 +01:00
Added blue support to the auth
This commit is contained in:
@@ -7,17 +7,19 @@ 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")
|
||||
|
||||
def clean(self):
|
||||
if EveManager.check_if_api_key_pair_exist(self.cleaned_data['api_id']):
|
||||
raise forms.ValidationError(u'API key already exist')
|
||||
|
||||
if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'],
|
||||
self.cleaned_data['api_key']):
|
||||
raise forms.ValidationError(u'API not of type account')
|
||||
if not self.cleaned_data['is_blue']:
|
||||
if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'],
|
||||
self.cleaned_data['api_key']):
|
||||
raise forms.ValidationError(u'API not of type account')
|
||||
|
||||
if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'],
|
||||
self.cleaned_data['api_key']):
|
||||
raise forms.ValidationError(u'API supplied is not a full api key')
|
||||
if not EveApiManager.check_api_is_full(self.cleaned_data['api_id'],
|
||||
self.cleaned_data['api_key']):
|
||||
raise forms.ValidationError(u'API supplied is not a full api key')
|
||||
|
||||
return self.cleaned_data
|
||||
@@ -68,7 +68,7 @@ class EveManager:
|
||||
|
||||
@staticmethod
|
||||
def create_alliance_info(alliance_id, alliance_name, alliance_ticker, alliance_executor_corp_id,
|
||||
alliance_member_count):
|
||||
alliance_member_count, is_blue):
|
||||
if not EveManager.check_if_alliance_exists_by_id(alliance_id):
|
||||
alliance_info = EveAllianceInfo()
|
||||
alliance_info.alliance_id = alliance_id
|
||||
@@ -76,33 +76,38 @@ class EveManager:
|
||||
alliance_info.alliance_ticker = alliance_ticker
|
||||
alliance_info.executor_corp_id = alliance_executor_corp_id
|
||||
alliance_info.member_count = alliance_member_count
|
||||
alliance_info.is_blue = is_blue
|
||||
alliance_info.save()
|
||||
|
||||
@staticmethod
|
||||
def update_alliance_info(alliance_id, alliance_executor_corp_id, alliance_member_count):
|
||||
def update_alliance_info(alliance_id, alliance_executor_corp_id, alliance_member_count, is_blue):
|
||||
if EveManager.check_if_alliance_exists_by_id(alliance_id):
|
||||
alliance_info = EveAllianceInfo.objects.get(alliance_id=alliance_id)
|
||||
alliance_info.executor_corp_id = alliance_executor_corp_id
|
||||
alliance_info.member_count = alliance_member_count
|
||||
alliance_info.is_blue = is_blue
|
||||
alliance_info.save()
|
||||
|
||||
@staticmethod
|
||||
def create_corporation_info(corp_id, corp_name, corp_ticker, corp_member_count, alliance):
|
||||
def create_corporation_info(corp_id, corp_name, corp_ticker, corp_member_count, is_blue, alliance):
|
||||
if not EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
corp_info = EveCorporationInfo()
|
||||
corp_info.corporation_id = corp_id
|
||||
corp_info.corporation_name = corp_name
|
||||
corp_info.corporation_ticker = corp_ticker
|
||||
corp_info.member_count = corp_member_count
|
||||
corp_info.alliance = alliance
|
||||
corp_info.is_blue = is_blue
|
||||
if alliance:
|
||||
corp_info.alliance = alliance
|
||||
corp_info.save()
|
||||
|
||||
@staticmethod
|
||||
def update_corporation_info(corp_id, corp_member_count, alliance):
|
||||
def update_corporation_info(corp_id, corp_member_count, alliance, is_blue):
|
||||
if EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
corp_info = EveCorporationInfo.objects.get(corporation_id = corp_id)
|
||||
corp_info = EveCorporationInfo.objects.get(corporation_id=corp_id)
|
||||
corp_info.member_count = corp_member_count
|
||||
corp_info.alliance = alliance
|
||||
corp_info.is_blue = is_blue
|
||||
corp_info.save()
|
||||
|
||||
@staticmethod
|
||||
@@ -194,7 +199,10 @@ class EveManager:
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
@staticmethod
|
||||
def get_all_corporation_info():
|
||||
return EveCorporationInfo.objects.all()
|
||||
return EveCorporationInfo.objects.all()
|
||||
|
||||
@staticmethod
|
||||
def get_all_alliance_info():
|
||||
return EveAllianceInfo.objects.all()
|
||||
@@ -31,6 +31,7 @@ class EveAllianceInfo(models.Model):
|
||||
alliance_name = models.CharField(max_length=254)
|
||||
alliance_ticker = models.CharField(max_length=254)
|
||||
executor_corp_id = models.CharField(max_length=254)
|
||||
is_blue = models.BooleanField(default=False)
|
||||
member_count = models.IntegerField()
|
||||
|
||||
def __str__(self):
|
||||
@@ -42,8 +43,8 @@ class EveCorporationInfo(models.Model):
|
||||
corporation_name = models.CharField(max_length=254)
|
||||
corporation_ticker = models.CharField(max_length=254)
|
||||
member_count = models.IntegerField()
|
||||
|
||||
alliance = models.ForeignKey(EveAllianceInfo)
|
||||
is_blue = models.BooleanField(default=False)
|
||||
alliance = models.ForeignKey(EveAllianceInfo, blank=True, null=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.corporation_name
|
||||
@@ -78,11 +78,19 @@ def main_character_change(request, char_id):
|
||||
previousmainid = AuthServicesInfoManager.get_auth_service_info(request.user).main_char_id
|
||||
AuthServicesInfoManager.update_main_char_Id(char_id, request.user)
|
||||
# Check if character is in the alliance
|
||||
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)
|
||||
add_user_to_group(request.user,
|
||||
generate_corp_group_name(EveManager.get_character_by_id(char_id).corporation_name))
|
||||
|
||||
elif corporation_info.is_blue:
|
||||
add_member_permission(request.user, 'blue_member')
|
||||
add_user_to_group(request.user, settings.DEFAULT_BLUE_GROUP)
|
||||
|
||||
else:
|
||||
# TODO: disable serivces
|
||||
if check_if_user_has_permission(request.user, 'alliance_member'):
|
||||
@@ -93,6 +101,11 @@ def main_character_change(request, char_id):
|
||||
EveManager.get_character_by_id(previousmainid).corporation_name))
|
||||
deactivate_services(request.user)
|
||||
|
||||
if check_if_user_has_permission(request.user, 'blue_member'):
|
||||
remove_member_permission(request.user, 'blue_member')
|
||||
remove_user_from_group(request.user, settings.DEFAULT_BLUE_GROUP)
|
||||
deactivate_services(request.user)
|
||||
|
||||
return HttpResponseRedirect("/characters")
|
||||
return HttpResponseRedirect("/characters")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user