diff --git a/celerytask/signals.py b/celerytask/signals.py index 971f7d5f..da119885 100644 --- a/celerytask/signals.py +++ b/celerytask/signals.py @@ -19,14 +19,14 @@ def m2m_changed_user_groups(sender, instance, action, *args, **kwargs): logger.debug("Triggering service group update for %s" % instance) auth, c = AuthServicesInfo.objects.get_or_create(user=instance) if auth.jabber_username: - update_jabber_groups.delay(instance) + update_jabber_groups.delay(instance.pk) if auth.teamspeak3_uid: - update_teamspeak3_groups.delay(instance) + update_teamspeak3_groups.delay(instance.pk) if auth.forum_username: - update_forum_groups.delay(instance) + update_forum_groups.delay(instance.pk) if auth.ipboard_username: - update_ipboard_groups.delay(instance) + update_ipboard_groups.delay(instance.pk) if auth.discord_uid: - update_discord_groups.delay(instance) + update_discord_groups.delay(instance.pk) if auth.mumble_username: - update_mumble_groups.delay(instance) + update_mumble_groups.delay(instance.pk) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 725ff39e..1400fc28 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -54,7 +54,8 @@ def is_teamspeak3_active(): return settings.ENABLE_AUTH_TEAMSPEAK3 or settings.ENABLE_BLUE_TEAMSPEAK3 @task -def update_jabber_groups(user): +def update_jabber_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating jabber groups for user %s" % user) authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = [] @@ -71,7 +72,8 @@ def update_jabber_groups(user): logger.debug("Updated user %s jabber groups." % user) @task -def update_mumble_groups(user): +def update_mumble_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating mumble groups for user %s" % user) authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = [] @@ -88,7 +90,8 @@ def update_mumble_groups(user): logger.debug("Updated user %s mumble groups." % user) @task -def update_forum_groups(user): +def update_forum_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating forum groups for user %s" % user) authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = [] @@ -105,7 +108,8 @@ def update_forum_groups(user): logger.debug("Updated user %s forum groups." % user) @task -def update_ipboard_groups(user): +def update_ipboard_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating user %s ipboard groups." % user) authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = [] @@ -122,7 +126,8 @@ def update_ipboard_groups(user): logger.debug("Updated user %s ipboard groups." % user) @task -def update_teamspeak3_groups(user): +def update_teamspeak3_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating user %s teamspeak3 groups" % user) usergroups = user.groups.all() authserviceinfo = AuthServicesInfo.objects.get(user=user) @@ -138,7 +143,8 @@ def update_teamspeak3_groups(user): logger.debug("Updated user %s teamspeak3 groups." % user) @task -def update_discord_groups(user): +def update_discord_groups(pk): + user = User.objects.get(pk=pk) logger.debug("Updating discord groups for user %s" % user) authserviceinfo = AuthServicesInfo.objects.get(user=user) groups = [] diff --git a/services/views.py b/services/views.py index 33535a26..75ed298b 100755 --- a/services/views.py +++ b/services/views.py @@ -134,7 +134,7 @@ def activate_forum(request): if result[0] != "": AuthServicesInfoManager.update_user_forum_info(result[0], result[1], request.user) logger.debug("Updated authserviceinfo for user %s with forum credentials. Updating groups." % request.user) - update_forum_groups.delay(request.user) + update_forum_groups.delay(request.user.pk) logger.info("Succesfully activated forum for user %s" % request.user) return HttpResponseRedirect("/services/") logger.error("Unsuccesful attempt to activate forum for user %s" % request.user) @@ -183,7 +183,7 @@ def activate_ipboard_forum(request): if result[0] != "": AuthServicesInfoManager.update_user_ipboard_info(result[0], result[1], request.user) logger.debug("Updated authserviceinfo for user %s with ipboard credentials. Updating groups." % request.user) - update_ipboard_groups.delay(request.user) + update_ipboard_groups.delay(request.user.pk) logger.info("Succesfully activated ipboard for user %s" % request.user) return HttpResponseRedirect("/services/") logger.error("Unsuccesful attempt to activate ipboard for user %s" % request.user) @@ -231,7 +231,7 @@ def activate_jabber(request): if info[0] is not "": AuthServicesInfoManager.update_user_jabber_info(info[0], info[1], request.user) logger.debug("Updated authserviceinfo for user %s with jabber credentials. Updating groups." % request.user) - update_jabber_groups.delay(request.user) + update_jabber_groups.delay(request.user.pk) logger.info("Succesfully activated jabber for user %s" % request.user) return HttpResponseRedirect("/services/") logger.error("Unsuccesful attempt to activate jabber for user %s" % request.user) @@ -284,7 +284,7 @@ def activate_mumble(request): if result[0] is not "": AuthServicesInfoManager.update_user_mumble_info(result[0], result[1], request.user) logger.debug("Updated authserviceinfo for user %s with mumble credentials. Updating groups." % request.user) - update_mumble_groups.delay(request.user) + update_mumble_groups.delay(request.user.pk) logger.info("Succesfully activated mumble for user %s" % request.user) return HttpResponseRedirect("/services/") logger.error("Unsuccessful attempt to activate mumble for user %s" % request.user) @@ -339,7 +339,7 @@ def activate_teamspeak3(request): if result[0] is not "": AuthServicesInfoManager.update_user_teamspeak3_info(result[0], result[1], request.user) logger.debug("Updated authserviceinfo for user %s with TS3 credentials. Updating groups." % request.user) - update_teamspeak3_groups.delay(request.user) + update_teamspeak3_groups.delay(request.user.pk) logger.info("Succesfully activated TS3 for user %s" % request.user) return HttpResponseRedirect("/services/") logger.error("Unsuccessful attempt to activate TS3 for user %s" % request.user) @@ -443,7 +443,7 @@ def activate_discord(request): if user_id != "": AuthServicesInfoManager.update_user_discord_info(user_id, request.user) logger.debug("Updated discord id %s for user %s" % (user_id, request.user)) - update_discord_groups.delay(request.user) + update_discord_groups.delay(request.user.pk) logger.debug("Updated discord groups for user %s." % request.user) success = True logger.info("Succesfully activated discord for user %s" % request.user)