Fixed issue with adding api keys.

This commit is contained in:
Raynaldo Rivera 2014-11-04 16:44:27 -07:00
parent 350d5f5ab6
commit 9b14137681
3 changed files with 39 additions and 22 deletions

View File

@ -7,13 +7,19 @@ 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") is_blue = forms.BooleanField(label="Blue to 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']):
raise forms.ValidationError(u'API key already exist') 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'], if not EveApiManager.check_api_is_type_account(self.cleaned_data['api_id'],
self.cleaned_data['api_key']): self.cleaned_data['api_key']):
raise forms.ValidationError(u'API not of type account') raise forms.ValidationError(u'API not of type account')

View File

@ -17,6 +17,21 @@ from util.common_task import deactivate_services
from util.common_task import generate_corp_group_name 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 @login_required
def add_api_key(request): def add_api_key(request):
if request.method == 'POST': 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.character_id == authinfo.main_char_id:
if character.api_id == api_id: if character.api_id == api_id:
# TODO: Remove servies also # 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_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)
@ -94,17 +112,10 @@ def main_character_change(request, char_id):
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, 'alliance_member'):
remove_member_permission(request.user, 'alliance_member') disable_alliance_member(request.user, previousmainid)
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)
if check_if_user_has_permission(request.user, 'blue_member'): if check_if_user_has_permission(request.user, 'blue_member'):
remove_member_permission(request.user, 'blue_member') disable_blue_member(request.user)
remove_user_from_group(request.user, settings.DEFAULT_BLUE_GROUP)
deactivate_services(request.user)
return HttpResponseRedirect("/characters") return HttpResponseRedirect("/characters")
return HttpResponseRedirect("/characters") return HttpResponseRedirect("/characters")

View File

@ -7,6 +7,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="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")
@ -19,8 +20,6 @@ def add_member_permission(user, permission):
ct = ContentType.objects.get_for_model(User) ct = ContentType.objects.get_for_model(User)
stored_permission, created = Permission.objects.get_or_create(codename=permission, stored_permission, created = Permission.objects.get_or_create(codename=permission,
content_type=ct, name=permission) content_type=ct, name=permission)
if User.objects.filter(username=user.username).exists():
user = User.objects.get(username=user.username) user = User.objects.get(username=user.username)
user.user_permissions.add(stored_permission) user.user_permissions.add(stored_permission)
user.save() user.save()
@ -30,9 +29,10 @@ def remove_member_permission(user, permission):
ct = ContentType.objects.get_for_model(User) ct = ContentType.objects.get_for_model(User)
stored_permission, created = Permission.objects.get_or_create(codename=permission, stored_permission, created = Permission.objects.get_or_create(codename=permission,
content_type=ct, name=permission) content_type=ct, name=permission)
if User.objects.filter(username=user.username).exists():
user = User.objects.get(username=user.username) user = User.objects.get(username=user.username)
if user.has_perm(permission):
if user.has_perm('auth.' + permission):
user.user_permissions.remove(stored_permission) user.user_permissions.remove(stored_permission)
user.save() user.save()