mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 12:30:15 +02:00
Rephrased EveManager exceptions to reflect determination id is not of type rather than failure of function.
73 lines
3.6 KiB
Python
Executable File
73 lines
3.6 KiB
Python
Executable File
from django.contrib.auth.models import Group
|
|
from django.contrib.auth.models import User
|
|
|
|
from authentication.managers import AuthServicesInfoManager
|
|
from services.managers.openfire_manager import OpenfireManager
|
|
from services.managers.phpbb3_manager import Phpbb3Manager
|
|
from services.managers.mumble_manager import MumbleManager
|
|
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 group %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)
|
|
|
|
|
|
def generate_corp_group_name(corpname):
|
|
return 'Corp_' + corpname.replace(' ', '_')
|
|
|