from celery import shared_task @shared_task def get_user_subscription(user_id): from subscriptions.models import UserSubscription from accounts.models import CustomUser USER = CustomUser.objects.get(id=user_id) # Get a list of subscriptions for the specified user active_subscriptions = None if USER.user_group: active_subscriptions = UserSubscription.objects.filter( user_group=USER.user_group, valid=True ) else: active_subscriptions = UserSubscription.objects.filter(user=USER, valid=True) # Return first valid subscription if there is one if len(active_subscriptions) > 0: return active_subscriptions[0] else: return None @shared_task def get_user_group_subscription(user_group): from subscriptions.models import UserSubscription from user_groups.models import UserGroup USER_GROUP = UserGroup.objects.get(id=user_group) # Get a list of subscriptions for the specified user active_subscriptions = None active_subscriptions = UserSubscription.objects.filter( user_group=USER_GROUP, valid=True ) # Return first valid subscription if there is one if len(active_subscriptions) > 0: return active_subscriptions[0] else: return None