def backends_data(user): """Return backends data for given user. Will return a dict with values: associated: UserSocialAuth model instances for currently associated accounts not_associated: Not associated (yet) backend names. backends: All backend names. If user is not authenticated, then first list is empty, and there's no difference between the second and third lists. """ available = BACKENDS.keys() values = {'associated': [], 'not_associated': available, 'backends': available} # user comes from request.user usually, on /admin/ it will be an instance # of auth.User and this code will fail if a custom User model was defined if isinstance(user, User) and user.is_authenticated(): associated = user.social_auth.all() not_associated = list(set(available) - set(assoc.provider for assoc in associated)) values['associated'] = associated values['not_associated'] = not_associated return values
def backends_data(user): """Return backends data for given user. Will return a dict with values: associated: UserSocialAuth model instances for currently associated accounts not_associated: Not associated (yet) backend names. backends: All backend names. If user is not authenticated, then first list is empty, and there's no difference between the second and third lists. """ available = BACKENDS.keys() values = { 'associated': [], 'not_associated': available, 'backends': available } # user comes from request.user usually, on /admin/ it will be an instance # of auth.User and this code will fail if a custom User model was defined if isinstance(user, User) and user.is_authenticated(): associated = user.social_auth.all() not_associated = list( set(available) - set(assoc.provider for assoc in associated)) values['associated'] = associated values['not_associated'] = not_associated return values
def get_backends(): keys = BACKENDS.keys() accounts = dict(zip(keys, [None] * len(keys))) if isinstance(request.user, User) and request.user.is_authenticated(): for associated in request.user.social_auth.all(): accounts[associated.provider.replace('-', '_')] = associated return accounts
def social_auth_by_name_backends(request): """Load Social Auth current user data to context. Will add a social_auth object whose attribute names are the names of each provider, e.g. social_auth.facebook would be the facebook association or None, depending on the logged in user's current associations. Providers with a hyphen have the hyphen replaced with an underscore, e.g. google-oauth2 becomes google_oauth2 when referenced in templates. """ keys = BACKENDS.keys() accounts = dict(zip(keys, [None] * len(keys))) if isinstance(request.user, User) and request.user.is_authenticated(): for associated in request.user.social_auth.all(): accounts[associated.provider.replace('-', '_')] = associated return {'social_auth': accounts}
def social_auth_by_name_backends(request): """Load Social Auth current user data to context. Will add a social_auth object whose attribute names are the names of each provider, e.g. social_auth.facebook would be the facebook association or None, depending on the logged in user's current associations. Providers with a hyphen have the hyphen replaced with an underscore, e.g. google-oauth2 becomes google_oauth2 when referenced in templates. """ keys = BACKENDS.keys() accounts = dict(zip(keys, [None] * len(keys))) if isinstance(request.user, User) and request.user.is_authenticated(): for associated in request.user.social_auth.all(): accounts[associated.provider.replace('-', '_')] = associated return {'social_auth': accounts}
def backends_data(user): """Return backends data for given user. Will return a dict with values: associated: UserSocialAuth model instances for currently associated accounts not_associated: Not associated (yet) backend names. backends: All backend names. If user is not authenticated, then first list is empty, and there's no difference between the second and third lists. """ available = BACKENDS.keys() values = {'associated': [], 'not_associated': available, 'backends': available} if user.is_authenticated(): associated = user.social_auth.all() not_associated = list(set(available) - set(assoc.provider for assoc in associated)) values['associated'] = associated values['not_associated'] = not_associated return values