Move signals to tasks, as they are triggered tasks now

This commit is contained in:
2010-11-10 11:40:49 +00:00
parent c6e7d8cb15
commit 0d168cb461
2 changed files with 12 additions and 12 deletions

View File

@@ -8,7 +8,6 @@ from django.db.models import signals
from django.contrib.auth.models import User, UserManager, Group
from django.utils import simplejson as json
from sso.tasks import update_user_access
from jsonfield.fields import JSONField
from eve_api.models import EVEAccount, EVEPlayerCorporation, EVEPlayerAlliance, EVEPlayerCharacter
from reddit.models import RedditAccount
@@ -43,13 +42,7 @@ class SSOUser(models.Model):
if created:
profile, created = SSOUser.objects.get_or_create(user=instance)
@staticmethod
def eveapi_deleted(sender, instance, **kwargs):
if instance.user:
update_user_access.delay(user=instance.user)
signals.post_save.connect(SSOUser.create_user_profile, sender=User)
signals.post_delete.connect(SSOUser.eveapi_deleted, sender=EVEAccount)
class SSOUserNote(models.Model):
""" Notes bound to a user's account. Used to store information regarding the user """

View File

@@ -1,5 +1,16 @@
from celery.decorators import task
from eve_api.models import *
from eve_api.models import EVEAccount, EVEPlayerCorporation, EVEPlayerAlliance
from sso.models import ServiceAccount
from django.contrib.auth.models import User
from django.db.models import signals
# Signals that the tasks need to listen for
def eveapi_deleted(sender, instance, **kwargs):
if instance.user:
update_user_access.delay(user=instance.user)
signals.post_delete.connect(eveapi_deleted, sender=EVEAccount)
@task()
def update_user_access(user):
@@ -34,8 +45,6 @@ def update_user_access(user):
for g in addgroups:
user.groups.add(g)
from sso.models import ServiceAccount
# For users set to not active, delete all accounts
if not user.is_active:
for servacc in ServiceAccount.objects.filter(user=user):
@@ -60,8 +69,6 @@ def update_user_access(user):
@task(ignore_result=True)
def update_service_groups(user_id):
from sso.models import ServiceAccount
for service in ServiceAccount.objects.filter(user=user_id, active=True).select_related('service__api'):
api = service.service.api_class
api.update_groups(service.service_uid, service.user.groups.all())