From 5cbdfac926d13eeb0185c1426c5f602b9e2c2ebd Mon Sep 17 00:00:00 2001 From: sliob Date: Fri, 4 Nov 2016 11:09:05 +0000 Subject: [PATCH] Only social apps that have providers installed --- geokey/users/templatetags/social.py | 12 ++++-------- geokey/users/views.py | 6 +++++- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/geokey/users/templatetags/social.py b/geokey/users/templatetags/social.py index d343c74a..131f3db0 100644 --- a/geokey/users/templatetags/social.py +++ b/geokey/users/templatetags/social.py @@ -1,7 +1,6 @@ """Template tags for social features.""" from django import template -from django.db.models import Q from allauth.socialaccount import providers from allauth.socialaccount.models import SocialApp @@ -13,14 +12,11 @@ @register.assignment_tag def get_social_apps(): """Get all enabled social apps.""" - social_apps = SocialApp.objects.exclude(Q(client_id__exact='')).distinct() + social_apps = SocialApp.objects.filter( + provider__in=[id for id, name in providers.registry.as_choices()] + ).exclude(client_id__exact='').distinct() for social_app in social_apps: - try: - provider = providers.registry.by_id(social_app.provider) - except: - provider = None - - social_app.provider = provider + social_app.provider = providers.registry.by_id(social_app.provider) return social_apps diff --git a/geokey/users/views.py b/geokey/users/views.py index 95be2937..122ddf51 100644 --- a/geokey/users/views.py +++ b/geokey/users/views.py @@ -13,6 +13,7 @@ from braces.views import LoginRequiredMixin from allauth.account.models import EmailAddress +from allauth.socialaccount.providers import registry from allauth.socialaccount.adapter import get_adapter from allauth.socialaccount.models import SocialAccount @@ -513,7 +514,10 @@ def get_context_data(self, *args, **kwargs): dict """ return super(UserProfile, self).get_context_data( - accounts=SocialAccount.objects.filter(user=self.request.user), + accounts=SocialAccount.objects.filter( + user=self.request.user, + provider__in=[id for id, name in registry.as_choices()] + ), *args, **kwargs )