mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-11 21:40:17 +02:00
commit
740ebb3ad2
2
.gitignore
vendored
2
.gitignore
vendored
@ -55,3 +55,5 @@ target/
|
||||
|
||||
.vagrant/
|
||||
alliance_auth/settings.py
|
||||
*Thumbs.db
|
||||
nginx_config.txt
|
||||
|
@ -9,6 +9,8 @@ from services.managers.mumble_manager import MumbleManager
|
||||
from services.managers.phpbb3_manager import Phpbb3Manager
|
||||
from services.managers.ipboard_manager import IPBoardManager
|
||||
from services.managers.teamspeak3_manager import Teamspeak3Manager
|
||||
from services.models import AuthTS
|
||||
from services.models import TSgroup
|
||||
from authentication.models import AuthServicesInfo
|
||||
from eveonline.managers import EveManager
|
||||
from services.managers.eve_api_manager import EveApiManager
|
||||
@ -48,8 +50,6 @@ def update_jabber_groups(user):
|
||||
if len(groups) == 0:
|
||||
groups.append('empty')
|
||||
|
||||
print groups
|
||||
|
||||
OpenfireManager.update_user_groups(authserviceinfo.jabber_username, authserviceinfo.jabber_password, groups)
|
||||
|
||||
|
||||
@ -93,14 +93,15 @@ def update_ipboard_groups(user):
|
||||
|
||||
|
||||
def update_teamspeak3_groups(user):
|
||||
syncgroups = SyncGroupCache.objects.filter(user=user)
|
||||
usergroups = user.groups.all()
|
||||
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
||||
groups = []
|
||||
for syncgroup in syncgroups:
|
||||
groups.append(str(syncgroup.groupname))
|
||||
|
||||
if len(groups) == 0:
|
||||
groups.append('empty')
|
||||
groups = {}
|
||||
for usergroup in usergroups:
|
||||
filtered_groups = AuthTS.objects.filter(auth_group=usergroup)
|
||||
if filtered_groups:
|
||||
for filtered_group in filtered_groups:
|
||||
for ts_group in filtered_group.ts_group.all():
|
||||
groups[ts_group.ts_group_name] = ts_group.ts_group_id
|
||||
|
||||
Teamspeak3Manager.update_groups(authserviceinfo.teamspeak3_uid, groups)
|
||||
|
||||
@ -129,9 +130,11 @@ def add_to_databases(user, groups, syncgroups):
|
||||
|
||||
if authserviceinfo:
|
||||
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
||||
|
||||
|
||||
if authserviceinfo.teamspeak3_uid and authserviceinfo.teamspeak3_uid != "":
|
||||
update_teamspeak3_groups(user)
|
||||
|
||||
for group in groups:
|
||||
|
||||
if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "":
|
||||
if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True:
|
||||
create_syncgroup_for_user(user, group.name, "openfire")
|
||||
@ -148,10 +151,6 @@ def add_to_databases(user, groups, syncgroups):
|
||||
if syncgroups.filter(groupname=group.name).filter(servicename="ipboard").exists() is not True:
|
||||
create_syncgroup_for_user(user, group.name, "ipboard")
|
||||
update_ipboard_groups(user)
|
||||
if authserviceinfo.teamspeak3_uid and authserviceinfo.teamspeak3_uid != "":
|
||||
if syncgroups.filter(groupname=group.name).filter(servicename="teamspeak3").exists() is not True:
|
||||
create_syncgroup_for_user(user, group.name, "teamspeak3")
|
||||
update_teamspeak3_groups(user)
|
||||
|
||||
|
||||
def remove_from_databases(user, groups, syncgroups):
|
||||
@ -190,6 +189,7 @@ def run_databaseUpdate():
|
||||
for user in users:
|
||||
groups = user.groups.all()
|
||||
syncgroups = SyncGroupCache.objects.filter(user=user)
|
||||
Teamspeak3Manager._sync_ts_group_db()
|
||||
add_to_databases(user, groups, syncgroups)
|
||||
remove_from_databases(user, groups, syncgroups)
|
||||
|
||||
|
@ -7,7 +7,7 @@ xmpppy==0.5.0rc1
|
||||
python-openfire==0.2.3-beta
|
||||
|
||||
# Django Stuff #
|
||||
django==1.6.1
|
||||
django==1.6.5
|
||||
django-evolution
|
||||
django-bootstrap-form
|
||||
django-celery
|
||||
|
@ -1 +1,18 @@
|
||||
# Register your models here.
|
||||
from django.contrib import admin
|
||||
from .models import AuthTS
|
||||
from .models import TSgroup
|
||||
from .models import UserTSgroup
|
||||
|
||||
class AuthTSgroupAdmin(admin.ModelAdmin):
|
||||
fields = ['auth_group','ts_group']
|
||||
filter_horizontal = ('ts_group',)
|
||||
|
||||
class TSgroupAdmin(admin.ModelAdmin):
|
||||
fields = ['ts_group_name']
|
||||
|
||||
class UserTSgroupAdmin(admin.ModelAdmin):
|
||||
fields = ['user','ts_group']
|
||||
filter_horizontal = ('ts_group',)
|
||||
|
||||
admin.site.register(AuthTS, AuthTSgroupAdmin)
|
||||
admin.site.register(TSgroup, TSgroupAdmin)
|
@ -1,6 +1,7 @@
|
||||
from django.conf import settings
|
||||
|
||||
from services.managers.util.ts3 import TS3Server
|
||||
from services.models import TSgroup
|
||||
|
||||
|
||||
class Teamspeak3Manager:
|
||||
@ -93,30 +94,40 @@ class Teamspeak3Manager:
|
||||
return outlist
|
||||
|
||||
@staticmethod
|
||||
def _add_user_to_group(uid, groupname):
|
||||
groupname = groupname[:30]
|
||||
def _add_user_to_group(uid, groupid):
|
||||
server = Teamspeak3Manager.__get_created_server()
|
||||
server_groups = Teamspeak3Manager._group_list()
|
||||
user_groups = Teamspeak3Manager._user_group_list(uid)
|
||||
|
||||
if not groupname in server_groups:
|
||||
Teamspeak3Manager._create_group(groupname)
|
||||
if not groupname in user_groups:
|
||||
|
||||
if not groupid in user_groups.values():
|
||||
server.send_command('servergroupaddclient',
|
||||
{'sgid': Teamspeak3Manager._group_id_by_name(groupname), 'cldbid': uid})
|
||||
{'sgid': str(groupid), 'cldbid': uid})
|
||||
|
||||
@staticmethod
|
||||
def _remove_user_from_group(uid, groupname):
|
||||
groupname = groupname[:30]
|
||||
def _remove_user_from_group(uid, groupid):
|
||||
server = Teamspeak3Manager.__get_created_server()
|
||||
server_groups = Teamspeak3Manager._group_list()
|
||||
user_groups = Teamspeak3Manager._user_group_list(uid)
|
||||
|
||||
if groupname in server_groups:
|
||||
Teamspeak3Manager._create_group(groupname)
|
||||
if groupname in user_groups:
|
||||
if str(groupid) in user_groups.values():
|
||||
server.send_command('servergroupdelclient',
|
||||
{'sgid': Teamspeak3Manager._group_id_by_name(groupname), 'cldbid': uid})
|
||||
{'sgid': str(groupid), 'cldbid': uid})
|
||||
|
||||
@staticmethod
|
||||
def _sync_ts_group_db():
|
||||
remote_groups = Teamspeak3Manager._group_list()
|
||||
local_groups = TSgroup.objects.all()
|
||||
for key in remote_groups:
|
||||
remote_groups[key] = int(remote_groups[key])
|
||||
|
||||
for group in local_groups:
|
||||
if group.ts_group_id not in remote_groups.values():
|
||||
TSgroup.objects.filter(ts_group_id=group.ts_group_id).delete()
|
||||
for key in remote_groups:
|
||||
g = TSgroup(ts_group_id=remote_groups[key],ts_group_name=key)
|
||||
q = TSgroup.objects.filter(ts_group_id=g.ts_group_id)
|
||||
if not q:
|
||||
g.save()
|
||||
|
||||
@staticmethod
|
||||
def add_user(username, corp_ticker):
|
||||
@ -206,28 +217,26 @@ class Teamspeak3Manager:
|
||||
return Teamspeak3Manager.add_blue_user(username, corpticker)
|
||||
|
||||
@staticmethod
|
||||
def update_groups(uid, l_groups):
|
||||
print uid
|
||||
print l_groups
|
||||
def update_groups(uid, ts_groups):
|
||||
userid = Teamspeak3Manager._get_userid(uid)
|
||||
addgroups = []
|
||||
remgroups = []
|
||||
if userid is not None:
|
||||
server_groups = Teamspeak3Manager._group_list()
|
||||
user_groups = set(Teamspeak3Manager._user_group_list(userid))
|
||||
groups = []
|
||||
for l_group in l_groups:
|
||||
groups.append(l_group[:30])
|
||||
|
||||
act_groups = set([g.replace(' ', '-') for g in groups])
|
||||
addgroups = act_groups - user_groups
|
||||
remgroups = user_groups - act_groups
|
||||
user_ts_groups = Teamspeak3Manager._user_group_list(userid)
|
||||
for key in user_ts_groups:
|
||||
user_ts_groups[key] = int(user_ts_groups[key])
|
||||
for ts_group_key in ts_groups:
|
||||
if ts_groups[ts_group_key] not in user_ts_groups.values():
|
||||
addgroups.append(ts_groups[ts_group_key])
|
||||
for user_ts_group_key in user_ts_groups:
|
||||
if user_ts_groups[user_ts_group_key] not in ts_groups.values():
|
||||
remgroups.append(user_ts_groups[user_ts_group_key])
|
||||
|
||||
print userid
|
||||
print addgroups
|
||||
print remgroups
|
||||
|
||||
for g in addgroups:
|
||||
if not g in server_groups.keys():
|
||||
Teamspeak3Manager._create_group(g)
|
||||
Teamspeak3Manager._add_user_to_group(userid, g)
|
||||
|
||||
for g in remgroups:
|
||||
|
@ -1 +1,32 @@
|
||||
# Create your models here.
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import Group
|
||||
|
||||
class TSgroup(models.Model):
|
||||
ts_group_id = models.IntegerField(primary_key=True)
|
||||
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):
|
||||
auth_group = models.ForeignKey('auth.Group')
|
||||
ts_group = models.ManyToManyField(TSgroup)
|
||||
|
||||
class Meta:
|
||||
verbose_name='Auth / TS Group'
|
||||
|
||||
def __str__(self):
|
||||
return self.auth_group.name
|
||||
|
||||
class UserTSgroup(models.Model):
|
||||
user = models.ForeignKey('auth.User')
|
||||
ts_group = models.ManyToManyField(TSgroup)
|
||||
|
||||
class Meta:
|
||||
verbose_name='User TS Group'
|
||||
|
||||
def __str__(self):
|
||||
return self.user.name
|
BIN
static/img/index_images/Thumbs.db
Normal file
BIN
static/img/index_images/Thumbs.db
Normal file
Binary file not shown.
@ -12,6 +12,15 @@ sudo apt-get -y install python-dev libyaml-dev libffi-dev
|
||||
sudo apt-get -y install python-pip
|
||||
sudo apt-get -y install mysql-server mysql-client
|
||||
|
||||
#Python 3 stuff
|
||||
sudo apt-get -y install python-software-properties
|
||||
sudo add-apt-repository ppa:fkrull/deadsnakes
|
||||
sudo apt-get -y update
|
||||
sudo apt-get -y install python3.3
|
||||
|
||||
#virtualenv stuff
|
||||
sudo apt-get -y install python-virtualenv
|
||||
|
||||
cd /vagrant/
|
||||
|
||||
sudo pip install --upgrade pip
|
||||
|
Loading…
x
Reference in New Issue
Block a user