def get(self, request, *args, **kwargs): if not gargoyle.is_active('reddit', request): return HttpResponseNotFound() profile = request.user.get_profile() if profile.primary_character is None: messages.add_message(request, messages.ERROR, "Reddit account tagging requires a primary character before using. Please set one.") if EVEPlayerCharacter.objects.filter(eveaccount__user=self.request.user).count(): return HttpResponseRedirect(reverse('sso-primarycharacterupdate')) else: return HttpResponseRedirect(reverse('sso-profile')) profile.tag_reddit_accounts = not profile.tag_reddit_accounts profile.save() if profile.tag_reddit_accounts: tag = 'Enabled' else: tag = 'Disabled' messages.info(request, "Reddit account tagging is now %s" % tag) if profile.tag_reddit_accounts: name = profile.primary_character.name else: name = '' for acc in self.request.user.redditaccount_set.all(): from reddit.tasks import update_user_flair update_user_flair.delay(acc.username, name) return HttpResponseRedirect(reverse('sso-profile'))
def update_reddit_tag(): for sobj in SSOUser.objects.filter(tag_reddit_accounts=True): if sobj.primary_character and sobj.user.redditaccount_set.count(): for redditacc in sobj.user.redditaccount_set.all(): update_user_flair.delay(redditacc.username, sobj.primary_character.name)