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/
|
.vagrant/
|
||||||
alliance_auth/settings.py
|
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.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
|
||||||
@ -48,8 +50,6 @@ def update_jabber_groups(user):
|
|||||||
if len(groups) == 0:
|
if len(groups) == 0:
|
||||||
groups.append('empty')
|
groups.append('empty')
|
||||||
|
|
||||||
print groups
|
|
||||||
|
|
||||||
OpenfireManager.update_user_groups(authserviceinfo.jabber_username, authserviceinfo.jabber_password, 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):
|
def update_teamspeak3_groups(user):
|
||||||
syncgroups = SyncGroupCache.objects.filter(user=user)
|
usergroups = user.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))
|
filtered_groups = AuthTS.objects.filter(auth_group=usergroup)
|
||||||
|
if filtered_groups:
|
||||||
if len(groups) == 0:
|
for filtered_group in filtered_groups:
|
||||||
groups.append('empty')
|
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)
|
Teamspeak3Manager.update_groups(authserviceinfo.teamspeak3_uid, groups)
|
||||||
|
|
||||||
@ -129,9 +130,11 @@ def add_to_databases(user, groups, syncgroups):
|
|||||||
|
|
||||||
if authserviceinfo:
|
if authserviceinfo:
|
||||||
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
authserviceinfo = AuthServicesInfo.objects.get(user=user)
|
||||||
|
|
||||||
|
if authserviceinfo.teamspeak3_uid and authserviceinfo.teamspeak3_uid != "":
|
||||||
|
update_teamspeak3_groups(user)
|
||||||
|
|
||||||
for group in groups:
|
for group in groups:
|
||||||
|
|
||||||
if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "":
|
if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "":
|
||||||
if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True:
|
if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True:
|
||||||
create_syncgroup_for_user(user, group.name, "openfire")
|
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:
|
if syncgroups.filter(groupname=group.name).filter(servicename="ipboard").exists() is not True:
|
||||||
create_syncgroup_for_user(user, group.name, "ipboard")
|
create_syncgroup_for_user(user, group.name, "ipboard")
|
||||||
update_ipboard_groups(user)
|
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):
|
def remove_from_databases(user, groups, syncgroups):
|
||||||
@ -190,6 +189,7 @@ def run_databaseUpdate():
|
|||||||
for user in users:
|
for user in users:
|
||||||
groups = user.groups.all()
|
groups = user.groups.all()
|
||||||
syncgroups = SyncGroupCache.objects.filter(user=user)
|
syncgroups = SyncGroupCache.objects.filter(user=user)
|
||||||
|
Teamspeak3Manager._sync_ts_group_db()
|
||||||
add_to_databases(user, groups, syncgroups)
|
add_to_databases(user, groups, syncgroups)
|
||||||
remove_from_databases(user, groups, syncgroups)
|
remove_from_databases(user, groups, syncgroups)
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ xmpppy==0.5.0rc1
|
|||||||
python-openfire==0.2.3-beta
|
python-openfire==0.2.3-beta
|
||||||
|
|
||||||
# Django Stuff #
|
# Django Stuff #
|
||||||
django==1.6.1
|
django==1.6.5
|
||||||
django-evolution
|
django-evolution
|
||||||
django-bootstrap-form
|
django-bootstrap-form
|
||||||
django-celery
|
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 django.conf import settings
|
||||||
|
|
||||||
from services.managers.util.ts3 import TS3Server
|
from services.managers.util.ts3 import TS3Server
|
||||||
|
from services.models import TSgroup
|
||||||
|
|
||||||
|
|
||||||
class Teamspeak3Manager:
|
class Teamspeak3Manager:
|
||||||
@ -93,30 +94,40 @@ class Teamspeak3Manager:
|
|||||||
return outlist
|
return outlist
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _add_user_to_group(uid, groupname):
|
def _add_user_to_group(uid, groupid):
|
||||||
groupname = groupname[:30]
|
|
||||||
server = Teamspeak3Manager.__get_created_server()
|
server = Teamspeak3Manager.__get_created_server()
|
||||||
server_groups = Teamspeak3Manager._group_list()
|
server_groups = Teamspeak3Manager._group_list()
|
||||||
user_groups = Teamspeak3Manager._user_group_list(uid)
|
user_groups = Teamspeak3Manager._user_group_list(uid)
|
||||||
|
|
||||||
if not groupname in server_groups:
|
if not groupid in user_groups.values():
|
||||||
Teamspeak3Manager._create_group(groupname)
|
|
||||||
if not groupname in user_groups:
|
|
||||||
server.send_command('servergroupaddclient',
|
server.send_command('servergroupaddclient',
|
||||||
{'sgid': Teamspeak3Manager._group_id_by_name(groupname), 'cldbid': uid})
|
{'sgid': str(groupid), 'cldbid': uid})
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _remove_user_from_group(uid, groupname):
|
def _remove_user_from_group(uid, groupid):
|
||||||
groupname = groupname[:30]
|
|
||||||
server = Teamspeak3Manager.__get_created_server()
|
server = Teamspeak3Manager.__get_created_server()
|
||||||
server_groups = Teamspeak3Manager._group_list()
|
server_groups = Teamspeak3Manager._group_list()
|
||||||
user_groups = Teamspeak3Manager._user_group_list(uid)
|
user_groups = Teamspeak3Manager._user_group_list(uid)
|
||||||
|
|
||||||
if groupname in server_groups:
|
if str(groupid) in user_groups.values():
|
||||||
Teamspeak3Manager._create_group(groupname)
|
|
||||||
if groupname in user_groups:
|
|
||||||
server.send_command('servergroupdelclient',
|
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
|
@staticmethod
|
||||||
def add_user(username, corp_ticker):
|
def add_user(username, corp_ticker):
|
||||||
@ -206,28 +217,26 @@ class Teamspeak3Manager:
|
|||||||
return Teamspeak3Manager.add_blue_user(username, corpticker)
|
return Teamspeak3Manager.add_blue_user(username, corpticker)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def update_groups(uid, l_groups):
|
def update_groups(uid, ts_groups):
|
||||||
print uid
|
|
||||||
print l_groups
|
|
||||||
userid = Teamspeak3Manager._get_userid(uid)
|
userid = Teamspeak3Manager._get_userid(uid)
|
||||||
|
addgroups = []
|
||||||
|
remgroups = []
|
||||||
if userid is not None:
|
if userid is not None:
|
||||||
server_groups = Teamspeak3Manager._group_list()
|
user_ts_groups = Teamspeak3Manager._user_group_list(userid)
|
||||||
user_groups = set(Teamspeak3Manager._user_group_list(userid))
|
for key in user_ts_groups:
|
||||||
groups = []
|
user_ts_groups[key] = int(user_ts_groups[key])
|
||||||
for l_group in l_groups:
|
for ts_group_key in ts_groups:
|
||||||
groups.append(l_group[:30])
|
if ts_groups[ts_group_key] not in user_ts_groups.values():
|
||||||
|
addgroups.append(ts_groups[ts_group_key])
|
||||||
act_groups = set([g.replace(' ', '-') for g in groups])
|
for user_ts_group_key in user_ts_groups:
|
||||||
addgroups = act_groups - user_groups
|
if user_ts_groups[user_ts_group_key] not in ts_groups.values():
|
||||||
remgroups = user_groups - act_groups
|
remgroups.append(user_ts_groups[user_ts_group_key])
|
||||||
|
|
||||||
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 +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 python-pip
|
||||||
sudo apt-get -y install mysql-server mysql-client
|
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/
|
cd /vagrant/
|
||||||
|
|
||||||
sudo pip install --upgrade pip
|
sudo pip install --upgrade pip
|
||||||
|
Loading…
x
Reference in New Issue
Block a user