Logging everywhere.

Corrected corp model updating logic to handle owning corp.
Corrected typecasting during api access mask comparison.
Removed error protection during user TS3 group updating to propogate errors.

Relevent issues:
Sorry for the spam.
This commit is contained in:
Adarnof
2016-01-02 21:24:40 +00:00
parent 9225896938
commit a789edb3d8
16 changed files with 505 additions and 57 deletions

View File

@@ -6,6 +6,9 @@ from django.contrib.auth.models import Group
from django.contrib.auth.models import Permission
from django.conf import settings
import logging
logger = logging.getLogger(__name__)
def bootstrap_permissions():
ct = ContentType.objects.get_for_model(User)
@@ -20,18 +23,22 @@ def bootstrap_permissions():
Permission.objects.get_or_create(codename="srp_management", content_type=ct, name="srp_management")
Group.objects.get_or_create(name=settings.DEFAULT_AUTH_GROUP)
Group.objects.get_or_create(name=settings.DEFAULT_BLUE_GROUP)
logger.info("Bootstrapped permissions for auth and created default groups.")
def add_member_permission(user, permission):
logger.debug("Adding permission %s to member %s" % (permission, user))
ct = ContentType.objects.get_for_model(User)
stored_permission, created = Permission.objects.get_or_create(codename=permission,
content_type=ct, name=permission)
user = User.objects.get(username=user.username)
user.user_permissions.add(stored_permission)
logger.info("Added permission %s to user %s" % (permission, user))
user.save()
def remove_member_permission(user, permission):
logger.debug("Removing permission %s from member %s" % (permission, user))
ct = ContentType.objects.get_for_model(User)
stored_permission, created = Permission.objects.get_or_create(codename=permission,
content_type=ct, name=permission)
@@ -41,6 +48,9 @@ def remove_member_permission(user, permission):
if user.has_perm('auth.' + permission):
user.user_permissions.remove(stored_permission)
user.save()
logger.info("Removed permission %s from member %s" % (permission, user))
else:
logger.warn("Attempting to remove permission user %s does not have: %s" % (user, permission))
def check_if_user_has_permission(user, permission):

View File

@@ -9,40 +9,60 @@ from services.managers.ipboard_manager import IPBoardManager
from services.managers.teamspeak3_manager import Teamspeak3Manager
from services.managers.discord_manager import DiscordManager
import logging
logger = logging.getLogger(__name__)
def add_user_to_group(user, groupname):
logger.debug("Addung user %s to group %s" % (user, groupname))
user = User.objects.get(username=user.username)
group, created = Group.objects.get_or_create(name=groupname)
if created:
logger.info("Created new group %s" % groupname)
user.groups.add(group)
user.save()
logger.info("Added user %s to group %s" % (user, group))
def remove_user_from_group(user, groupname):
logger.debug("Removing user %s from group %s" % (user, groupname))
user = User.objects.get(username=user.username)
group, created = Group.objects.get_or_create(name=groupname)
if created:
logger.warn("Created new group %s during attempt to remove user %s from it. This shouldn't have happened." % (group, user))
if user.groups.filter(name=groupname):
user.groups.remove(group)
user.save()
logger.info("Removed user %s from group %s" % (user, group))
else:
logger.warn("Unable to remove user %s from groyp %s - user not in group." % (user, group))
def deactivate_services(user):
logger.debug("Deactivating services for user %s" % user)
authinfo = AuthServicesInfoManager.get_auth_service_info(user)
if authinfo.mumble_username and authinfo.mumble_username != "":
logger.debug("User %s has mumble account %s. Deleting." % (user, authinfo.mumble_username))
MumbleManager.delete_user(authinfo.mumble_username)
AuthServicesInfoManager.update_user_mumble_info("", "", user)
if authinfo.jabber_username and authinfo.jabber_username != "":
logger.debug("User %s has jabber account %s. Deleting." % (user, authinfo.jabber_username))
OpenfireManager.delete_user(authinfo.jabber_username)
AuthServicesInfoManager.update_user_jabber_info("", "", user)
if authinfo.forum_username and authinfo.forum_username != "":
logger.debug("User %s has forum account %s. Deleting." % (user, authinfo.forum_username))
Phpbb3Manager.disable_user(authinfo.forum_username)
AuthServicesInfoManager.update_user_forum_info("", "", user)
if authinfo.ipboard_username and authinfo.ipboard_username != "":
logger.debug("User %s has ipboard account %s. Deleting." % (user, authinfo.ipboard_username))
IPBoardManager.disable_user(authinfo.ipboard_username)
AuthServicesInfoManager.update_user_forum_info("", "", user)
if authinfo.teamspeak3_uid and authinfo.teamspeak3_uid != "":
logger.debug("User %s has mumble account %s. Deleting." % (user, authinfo.teamspeak3_uid))
Teamspeak3Manager.delete_user(authinfo.teamspeak3_uid)
AuthServicesInfoManager.update_user_teamspeak3_info("", "", user)
if authinfo.discord_uid and authinfo.discord_uid != "":
logger.debug("User %s has discord account %s. Deleting." % (user, authinfo.discord_uid))
DiscordManager.delete_user(authinfo.discord_uid)
AuthServicesInfoManager.update_user_discord_info("", user)