utils.py 926 B

12345678910111213141516171819202122232425262728
  1. from django.urls import reverse
  2. from social_core.backends.utils import load_backends
  3. from misago.conf import settings
  4. from .backendsnames import BACKENDS_NAMES
  5. def get_enabled_social_auth_sites_list():
  6. social_auth_backends = load_backends(settings.AUTHENTICATION_BACKENDS)
  7. providers_list = []
  8. for backend_id in social_auth_backends:
  9. backend_name = get_social_auth_backend_name(backend_id)
  10. providers_list.append({
  11. 'id': backend_id,
  12. 'name': backend_name,
  13. 'url': reverse('social:begin', kwargs={'backend': backend_id}),
  14. })
  15. return providers_list
  16. def get_social_auth_backend_name(backend_id):
  17. if backend_id in settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES:
  18. return settings.MISAGO_SOCIAL_AUTH_BACKENDS_NAMES[backend_id]
  19. if backend_id in BACKENDS_NAMES:
  20. return BACKENDS_NAMES[backend_id]
  21. return backend_id.title()