mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 20:40:17 +02:00
Lots of changes, not tested
Pushing latest changes to run them by a few folks.
This commit is contained in:
parent
423e0ad161
commit
c86ba4990d
1
.gitignore
vendored
1
.gitignore
vendored
@ -56,3 +56,4 @@ target/
|
|||||||
.vagrant/
|
.vagrant/
|
||||||
alliance_auth/settings.py
|
alliance_auth/settings.py
|
||||||
requirements.txt
|
requirements.txt
|
||||||
|
static/admin/img/Thumbs.db
|
||||||
|
@ -9,6 +9,8 @@ from services.managers.mumble_manager import MumbleManager
|
|||||||
from services.managers.phpbb3_manager import Phpbb3Manager
|
from services.managers.phpbb3_manager import Phpbb3Manager
|
||||||
from services.managers.ipboard_manager import IPBoardManager
|
from services.managers.ipboard_manager import IPBoardManager
|
||||||
from services.managers.teamspeak3_manager import Teamspeak3Manager
|
from services.managers.teamspeak3_manager import Teamspeak3Manager
|
||||||
|
from services.models import AuthTS
|
||||||
|
from services.models import TSgroup
|
||||||
from authentication.models import AuthServicesInfo
|
from authentication.models import AuthServicesInfo
|
||||||
from eveonline.managers import EveManager
|
from eveonline.managers import EveManager
|
||||||
from services.managers.eve_api_manager import EveApiManager
|
from services.managers.eve_api_manager import EveApiManager
|
||||||
@ -71,14 +73,11 @@ def update_ipboard_groups(user):
|
|||||||
|
|
||||||
|
|
||||||
def update_teamspeak3_groups(user):
|
def update_teamspeak3_groups(user):
|
||||||
syncgroups = SyncGroupCache.objects.filter(user=user)
|
usergroups = User.objects.filter(id=user.id).first().groups.all()
|
||||||
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
||||||
groups = []
|
groups = []
|
||||||
for syncgroup in syncgroups:
|
for usergroup in usergroups:
|
||||||
groups.append(str(syncgroup.groupname))
|
groups += list(AuthTS.objects.filter(auth_group=usergroup))
|
||||||
|
|
||||||
if len(groups) == 0:
|
|
||||||
groups.append('empty')
|
|
||||||
|
|
||||||
Teamspeak3Manager.update_groups(authserviceinfo.teamspeak3_uid, groups)
|
Teamspeak3Manager.update_groups(authserviceinfo.teamspeak3_uid, groups)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Python Stuff # - see bootstrap.sh
|
# Python Stuff # - see bootstrap.sh
|
||||||
mysql-python
|
# mysql-python
|
||||||
evelink
|
evelink
|
||||||
dnspython
|
dnspython
|
||||||
passlib
|
passlib
|
||||||
|
@ -4,10 +4,11 @@ from .models import TSgroup
|
|||||||
from .models import UserTSgroup
|
from .models import UserTSgroup
|
||||||
|
|
||||||
class AuthTSgroupAdmin(admin.ModelAdmin):
|
class AuthTSgroupAdmin(admin.ModelAdmin):
|
||||||
fields = ['ts_group_id','auth_group_id']
|
fields = ['auth_group','ts_group']
|
||||||
|
filter_horizontal = ('ts_group',)
|
||||||
|
|
||||||
class TSgroupAdmin(admin.ModelAdmin):
|
class TSgroupAdmin(admin.ModelAdmin):
|
||||||
fields = ['name']
|
fields = ['ts_group_name']
|
||||||
|
|
||||||
admin.site.register(AuthTS, AuthTSgroupAdmin)
|
admin.site.register(AuthTS, AuthTSgroupAdmin)
|
||||||
admin.site.register(TSgroup, TSgroupAdmin)
|
admin.site.register(TSgroup, TSgroupAdmin)
|
@ -124,7 +124,7 @@ class Teamspeak3Manager:
|
|||||||
remote_groups = Teamspeak3Manager._group_list()
|
remote_groups = Teamspeak3Manager._group_list()
|
||||||
local_groups = TSgroup.objects.all()
|
local_groups = TSgroup.objects.all()
|
||||||
for key in remote_groups:
|
for key in remote_groups:
|
||||||
TSgroup.objects.update_or_create(group_id=remote_groups[key],name=key)
|
TSgroup.objects.update_or_create(ts_group_id=remote_groups[key],ts_group_name=key)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def add_user(username, corp_ticker):
|
def add_user(username, corp_ticker):
|
||||||
@ -217,25 +217,24 @@ class Teamspeak3Manager:
|
|||||||
def update_groups(uid, l_groups):
|
def update_groups(uid, l_groups):
|
||||||
print uid
|
print uid
|
||||||
print l_groups
|
print l_groups
|
||||||
|
Teamspeak3Manager._sync_ts_group_db()
|
||||||
userid = Teamspeak3Manager._get_userid(uid)
|
userid = Teamspeak3Manager._get_userid(uid)
|
||||||
|
act_groups = []
|
||||||
if userid is not None:
|
if userid is not None:
|
||||||
server_groups = Teamspeak3Manager._group_list()
|
user_ts_groups = set(Teamspeak3Manager._user_group_list(userid))
|
||||||
user_groups = set(Teamspeak3Manager._user_group_list(userid))
|
for key in user_ts_groups:
|
||||||
groups = []
|
for group in l_groups:
|
||||||
for l_group in l_groups:
|
if group.auth_group.id = user_ts_groups[key]:
|
||||||
groups.append(l_group[:30])
|
act_groups += group
|
||||||
|
|
||||||
act_groups = set([g.replace(' ', '-') for g in groups])
|
addgroups = act_groups - l_groups
|
||||||
addgroups = act_groups - user_groups
|
remgroups = l_groups - act_groups
|
||||||
remgroups = user_groups - act_groups
|
|
||||||
|
|
||||||
print userid
|
print userid
|
||||||
print addgroups
|
print addgroups
|
||||||
print remgroups
|
print remgroups
|
||||||
|
|
||||||
for g in addgroups:
|
for g in addgroups:
|
||||||
if not g in server_groups.keys():
|
|
||||||
Teamspeak3Manager._create_group(g)
|
|
||||||
Teamspeak3Manager._add_user_to_group(userid, g)
|
Teamspeak3Manager._add_user_to_group(userid, g)
|
||||||
|
|
||||||
for g in remgroups:
|
for g in remgroups:
|
||||||
|
@ -1,13 +1,32 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.contrib.auth.models import Group
|
||||||
|
|
||||||
class TSgroup(models.Model):
|
class TSgroup(models.Model):
|
||||||
group_id = models.IntegerField(primary_key=True)
|
ts_group_id = models.IntegerField(primary_key=True)
|
||||||
name = models.CharField(max_length=30)
|
ts_group_name = models.CharField(max_length=30)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name='TS Group'
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.ts_group_name
|
||||||
|
|
||||||
class AuthTS(models.Model):
|
class AuthTS(models.Model):
|
||||||
ts_group_id = models.ForeignKey(TSgroup)
|
auth_group = models.ForeignKey('auth.Group')
|
||||||
auth_group_id = models.ForeignKey('auth.Group')
|
ts_group = models.ManyToManyField(TSgroup)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name='Auth / TS Groups'
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.auth_group.name
|
||||||
|
|
||||||
class UserTSgroup(models.Model):
|
class UserTSgroup(models.Model):
|
||||||
user_id = models.ForeignKey('auth.User')
|
user = models.ForeignKey('auth.User')
|
||||||
group_id = models.ManyToManyField(TSgroup)
|
ts_group = models.ManyToManyField(TSgroup)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name='User / TS Group'
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.user.name
|
Loading…
x
Reference in New Issue
Block a user