From b869c465bb4dfd1b51af4b587e01b2a31dac668c Mon Sep 17 00:00:00 2001 From: Raynaldo Rivera Date: Sun, 12 Oct 2014 17:19:12 -0700 Subject: [PATCH] Added extra check --- eveonline/views.py | 13 ++++++++----- templates/public/index.html | 2 +- util/__init__.py | 9 ++++++++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/eveonline/views.py b/eveonline/views.py index 942f06ec..3f39c803 100644 --- a/eveonline/views.py +++ b/eveonline/views.py @@ -1,5 +1,7 @@ from util import add_member_permission from util import remove_member_permission +from util import check_if_user_has_permission + from django.conf import settings from django.http import HttpResponseRedirect from django.shortcuts import render_to_response @@ -84,11 +86,12 @@ def main_character_change(request, char_id): generate_corp_group_name(EveManager.get_character_by_id(char_id).corporation_name)) else: #TODO: disable serivces - 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) + 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) return HttpResponseRedirect("/characters") return HttpResponseRedirect("/characters") diff --git a/templates/public/index.html b/templates/public/index.html index 682a2f40..57a57db2 100644 --- a/templates/public/index.html +++ b/templates/public/index.html @@ -17,7 +17,7 @@ div { margin-top: -100px; margin-left: -200px; } - + diff --git a/util/__init__.py b/util/__init__.py index 0c49f511..d9380613 100644 --- a/util/__init__.py +++ b/util/__init__.py @@ -22,4 +22,11 @@ def remove_member_permission(user, permission): user = User.objects.get(username=user.username) if user.has_perm(permission): user.user_permissions.remove(stored_permission) - user.save() \ No newline at end of file + user.save() + + +def check_if_user_has_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) + return user.has_perm(stored_permission) \ No newline at end of file