From 5006246cf15de0b31c356b8472987550b2a37177 Mon Sep 17 00:00:00 2001 From: colcrunch Date: Wed, 9 May 2018 20:39:14 -0400 Subject: [PATCH] Build TS perm key using State Information (#1044) Build permkey with state group id Pass user object to add_user instead of just username Fixes #1043 --- allianceauth/services/modules/teamspeak3/manager.py | 13 +++++++------ allianceauth/services/modules/teamspeak3/views.py | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/allianceauth/services/modules/teamspeak3/manager.py b/allianceauth/services/modules/teamspeak3/manager.py index 25a4ed79..2d2ea8e4 100755 --- a/allianceauth/services/modules/teamspeak3/manager.py +++ b/allianceauth/services/modules/teamspeak3/manager.py @@ -179,18 +179,19 @@ class Teamspeak3Manager: except: logger.exception("An unhandled exception has occured while syncing TS groups.") - def add_user(self, username): - username_clean = self.__santatize_username(username[:30]) + def add_user(self, user, fmt_name): + username_clean = self.__santatize_username(fmt_name[:30]) logger.debug("Adding user to TS3 server with cleaned username %s" % username_clean) server_groups = self._group_list() - if 'Member' not in server_groups: - self._create_group('Member') + state = user.profile.state.name + if state not in server_groups: + self._create_group(state) - alliance_group_id = self._group_id_by_name('Member') + state_group_id = self._group_id_by_name(state) try: - ret = self.server.send_command('tokenadd', {'tokentype': 0, 'tokenid1': alliance_group_id, 'tokenid2': 0, + ret = self.server.send_command('tokenadd', {'tokentype': 0, 'tokenid1': state_group_id, 'tokenid2': 0, 'tokendescription': username_clean, 'tokencustomset': "ident=sso_uid value=%s" % username_clean}) except TeamspeakError as e: diff --git a/allianceauth/services/modules/teamspeak3/views.py b/allianceauth/services/modules/teamspeak3/views.py index 7d74a117..5e5a8e2a 100644 --- a/allianceauth/services/modules/teamspeak3/views.py +++ b/allianceauth/services/modules/teamspeak3/views.py @@ -22,7 +22,7 @@ def activate_teamspeak3(request): character = request.user.profile.main_character with Teamspeak3Manager() as ts3man: logger.debug("Adding TS3 user for user %s with main character %s" % (request.user, character)) - result = ts3man.add_user(Teamspeak3Tasks.get_username(request.user)) + result = ts3man.add_user(request.user, Teamspeak3Tasks.get_username(request.user)) # if its empty we failed if result[0] is not "":