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
This commit is contained in:
colcrunch
2018-05-09 20:39:14 -04:00
committed by Adarnof
parent 6187fb9b86
commit 5006246cf1
2 changed files with 8 additions and 7 deletions

View File

@@ -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: