mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-16 07:50:16 +02:00
Fixed issue with adding api keys.
This commit is contained in:
parent
350d5f5ab6
commit
9b14137681
@ -7,13 +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")
|
||||
is_blue = forms.BooleanField(label="Blue to alliance", required=False)
|
||||
|
||||
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 self.cleaned_data['is_blue']:
|
||||
check_blue = False
|
||||
try:
|
||||
check_blue = self.cleaned_data['is_blue']
|
||||
except:
|
||||
pass
|
||||
|
||||
if not check_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')
|
||||
|
@ -17,6 +17,21 @@ from util.common_task import deactivate_services
|
||||
from util.common_task import generate_corp_group_name
|
||||
|
||||
|
||||
def disable_alliance_member(user, char_id):
|
||||
remove_member_permission(user, 'alliance_member')
|
||||
remove_user_from_group(user, settings.DEFAULT_ALLIANCE_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)
|
||||
|
||||
|
||||
@login_required
|
||||
def add_api_key(request):
|
||||
if request.method == 'POST':
|
||||
@ -57,7 +72,10 @@ def api_key_removal(request, api_id):
|
||||
if character.character_id == authinfo.main_char_id:
|
||||
if character.api_id == api_id:
|
||||
# TODO: Remove servies also
|
||||
AuthServicesInfoManager.update_main_char_Id("", request.user)
|
||||
if authinfo.is_blue:
|
||||
disable_blue_member(request.user)
|
||||
else:
|
||||
disable_alliance_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)
|
||||
@ -94,17 +112,10 @@ def main_character_change(request, char_id):
|
||||
else:
|
||||
# TODO: disable serivces
|
||||
if check_if_user_has_permission(request.user, 'alliance_member'):
|
||||
remove_member_permission(request.user, 'alliance_member')
|
||||
remove_user_from_group(request.user, settings.DEFAULT_ALLIANCE_GROUP)
|
||||
remove_user_from_group(request.user,
|
||||
generate_corp_group_name(
|
||||
EveManager.get_character_by_id(previousmainid).corporation_name))
|
||||
deactivate_services(request.user)
|
||||
disable_alliance_member(request.user, previousmainid)
|
||||
|
||||
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)
|
||||
disable_blue_member(request.user)
|
||||
|
||||
return HttpResponseRedirect("/characters")
|
||||
return HttpResponseRedirect("/characters")
|
||||
|
@ -7,6 +7,7 @@ from django.conf import settings
|
||||
|
||||
def bootstrap_permissions():
|
||||
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="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="human_resources", content_type=ct, name="human_resources")
|
||||
@ -19,22 +20,21 @@ def add_member_permission(user, permission):
|
||||
ct = ContentType.objects.get_for_model(User)
|
||||
stored_permission, created = Permission.objects.get_or_create(codename=permission,
|
||||
content_type=ct, name=permission)
|
||||
|
||||
if User.objects.filter(username=user.username).exists():
|
||||
user = User.objects.get(username=user.username)
|
||||
user.user_permissions.add(stored_permission)
|
||||
user.save()
|
||||
user = User.objects.get(username=user.username)
|
||||
user.user_permissions.add(stored_permission)
|
||||
user.save()
|
||||
|
||||
|
||||
def remove_member_permission(user, permission):
|
||||
ct = ContentType.objects.get_for_model(User)
|
||||
stored_permission, created = Permission.objects.get_or_create(codename=permission,
|
||||
content_type=ct, name=permission)
|
||||
if User.objects.filter(username=user.username).exists():
|
||||
user = User.objects.get(username=user.username)
|
||||
if user.has_perm(permission):
|
||||
user.user_permissions.remove(stored_permission)
|
||||
user.save()
|
||||
|
||||
user = User.objects.get(username=user.username)
|
||||
|
||||
if user.has_perm('auth.' + permission):
|
||||
user.user_permissions.remove(stored_permission)
|
||||
user.save()
|
||||
|
||||
|
||||
def check_if_user_has_permission(user, permission):
|
||||
|
Loading…
x
Reference in New Issue
Block a user