From b76bc2729c647110b64784f76f15376f50c4d7fd Mon Sep 17 00:00:00 2001 From: Brett Costabile Date: Sun, 1 Nov 2015 16:41:16 -0500 Subject: [PATCH] More random changes Super disorganized here. Trying to get back to a working state --- .gitignore | 1 + celerytask/tasks.py | 23 +++++++++++++----- requirements.txt | 6 ++--- services/admin.py | 4 ++++ services/managers/teamspeak3_manager.py | 30 +++++++++++++++--------- services/models.py | 4 ++-- static/img/index_images/Thumbs.db | Bin 0 -> 3584 bytes vagrant/bootstrap.sh | 9 +++++++ 8 files changed, 55 insertions(+), 22 deletions(-) create mode 100644 static/img/index_images/Thumbs.db diff --git a/.gitignore b/.gitignore index 0e683042..ad28d98f 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ target/ alliance_auth/settings.py requirements.txt static/admin/img/Thumbs.db +nginx_config.txt diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 536079ce..598a56fe 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -73,11 +73,19 @@ def update_ipboard_groups(user): def update_teamspeak3_groups(user): - usergroups = User.objects.filter(id=user.id).first().groups.all() + print "Running update_teamspeak3_groups" + print("user = {0}").format(user) + usergroups = User.objects.get(id=user.id).groups.all() + print("usergroups = {0}").format(usergroups) authserviceinfo = AuthServicesInfo.objects.get(user=user) - groups = [] + groups = {} for usergroup in usergroups: - groups += list(AuthTS.objects.filter(auth_group=usergroup)) + print("usergroup = {0}").format(usergroup) + 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) @@ -98,6 +106,9 @@ def remove_all_syncgroups_for_service(user, servicename): def add_to_databases(user, groups, syncgroups): + print user + print groups + print syncgroups authserviceinfo = None try: authserviceinfo = AuthServicesInfo.objects.get(user=user) @@ -108,6 +119,7 @@ def add_to_databases(user, groups, syncgroups): authserviceinfo = AuthServicesInfo.objects.get(user=user) for group in groups: + print group if authserviceinfo.jabber_username and authserviceinfo.jabber_username != "": if syncgroups.filter(groupname=group.name).filter(servicename="openfire").exists() is not True: @@ -126,9 +138,7 @@ def add_to_databases(user, groups, syncgroups): 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) + update_teamspeak3_groups(user) def remove_from_databases(user, groups, syncgroups): @@ -167,6 +177,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) diff --git a/requirements.txt b/requirements.txt index 6e648357..29f6b32c 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,13 @@ # Python Stuff # - see bootstrap.sh -# mysql-python +mysql-python evelink dnspython passlib xmpppy==0.5.0rc1 -python-openfire==0.2.3-beta +# python-openfire==0.2.3-beta # Django Stuff # -django==1.6.1 +django==1.7.0 django-evolution django-bootstrap-form django-celery diff --git a/services/admin.py b/services/admin.py index 6d817bb0..2026832a 100644 --- a/services/admin.py +++ b/services/admin.py @@ -10,5 +10,9 @@ class AuthTSgroupAdmin(admin.ModelAdmin): 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) \ No newline at end of file diff --git a/services/managers/teamspeak3_manager.py b/services/managers/teamspeak3_manager.py index 8c40402f..53771a05 100755 --- a/services/managers/teamspeak3_manager.py +++ b/services/managers/teamspeak3_manager.py @@ -214,21 +214,29 @@ class Teamspeak3Manager: return Teamspeak3Manager.add_blue_user(username, corpticker) @staticmethod - def update_groups(uid, l_groups): + def update_groups(uid, ts_groups): + print "Running update_groups" print uid - print l_groups - Teamspeak3Manager._sync_ts_group_db() + print ts_groups + print "Running _sync_ts_group_db()" userid = Teamspeak3Manager._get_userid(uid) - act_groups = [] + addgroups = {} + remgroups = {} if userid is not None: - user_ts_groups = set(Teamspeak3Manager._user_group_list(userid)) + user_ts_groups = Teamspeak3Manager._user_group_list(userid) for key in user_ts_groups: - for group in l_groups: - if group.auth_group.id = user_ts_groups[key]: - act_groups += group - - addgroups = act_groups - l_groups - remgroups = l_groups - act_groups + user_ts_groups[key] = long(user_ts_groups[key]) + print("user_ts_groups = {0}").format(user_ts_groups) + for ts_group_key in ts_groups: + print("(For addgroups) {0} not in {1}").format(ts_groups[ts_group_key], user_ts_groups.values()) + if ts_groups[ts_group_key] not in user_ts_groups.values(): + print("Adding {0}").format(ts_group_key) + addgroups[ts_group_key] = ts_groups[ts_group_key] + for user_ts_group_key in user_ts_groups: + print("(For remgroups) {0}").format(user_ts_group_key) + if user_ts_groups[user_ts_group_key] not in ts_groups.values(): + print("Value {0} not found").format(user_ts_groups[user_ts_group_key]) + remgroups[user_ts_group_key] = user_ts_groups[user_ts_group_key] print userid print addgroups diff --git a/services/models.py b/services/models.py index 77bf98c0..87a5ad57 100644 --- a/services/models.py +++ b/services/models.py @@ -16,7 +16,7 @@ class AuthTS(models.Model): ts_group = models.ManyToManyField(TSgroup) class Meta: - verbose_name='Auth / TS Groups' + verbose_name='Auth / TS Group' def __str__(self): return self.auth_group.name @@ -26,7 +26,7 @@ class UserTSgroup(models.Model): ts_group = models.ManyToManyField(TSgroup) class Meta: - verbose_name='User / TS Group' + verbose_name='User TS Group' def __str__(self): return self.user.name \ No newline at end of file diff --git a/static/img/index_images/Thumbs.db b/static/img/index_images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..91d9710aefef09096ee5cbb77860160a8cbb1ab4 GIT binary patch literal 3584 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt z1pWfu3W`4vW&uVbD>OcbkQYXsN;Sr0E8 zaOiCKTi!qQ_60^}pnL-;p#gyrgDHaGZx^prwfgF}}M_)$< zhK>E)e-eRavApzjaSW-5dpoB;RK!rA{UF;BE@XIt>k8KeFa*&XnCJ9+EA&j>zx(v= z+h@Pu+Y_7cebY((nLcU7Iq`9Ed8N+|+LpgL(_m+GJl#Jhy|n7AdHI|vde45$>3qB1 zZ~e`(QXjb-0u=d_E`p@P@4I6=(PLSC*Q1 z{&RmbIYQ6;HM8z3Zx-24!DqJLjjs!2O$xg)@5agqPVuDUN!Cf%(p!&}&Z;$heJjXX z_;O3Vy!0vWsovIeIxgy|7Q9^-@#Bo=>cY+MkJfbFbli*g(H%%>O^>p9b^-lSndm|2Er_W5hun2i#pjPn0a6ux}f zO3U{CUBeX5B)&{*?Omp~*M*!>4A}5>()WGVdX0)nQKxN+yQG4BTnC zbJ9;=B`3X#QJR{S8=+BIpSd@(b64;m6qfq*>`hh%(!N4qUENxV#{@98{TLwHr`BCagF|>V%bg}(P*dk zGgGIPFW}oKxGT(Q`M!A$O19s&HUDhw5^jBU@6GnR&zU6bqWj%i9416O-gxY4YLHyh z^a|cdlA1qwtop7hzR0lqdGLPZzCibDHy5g(uC-mrsw?y~@Llc~KK<03iSxT|oHH-` zH#P6!`lDL@wo?Wcz9QiaP_QJg&-Wrucsvh}h%?^V_ly3T!f;i)TM-~Q()^qaEl=DAy&w|?dK bIod5ZzuX*LfO@+6xvX