context_processors.py 946 B

123456789101112131415161718192021222324252627
  1. from django.core.exceptions import PermissionDenied
  2. from django.urls import reverse
  3. from django.utils import six
  4. from .searchproviders import searchproviders
  5. def search_providers(request):
  6. allowed_providers = []
  7. if request.user.acl_cache['can_search']:
  8. allowed_providers = searchproviders.get_allowed_providers(request)
  9. request.frontend_context['SEARCH_API'] = reverse('misago:api:search')
  10. request.frontend_context['SEARCH_PROVIDERS'] = []
  11. for provider in allowed_providers:
  12. request.frontend_context['SEARCH_PROVIDERS'].append({
  13. 'id': provider.url,
  14. 'name': six.text_type(provider.name),
  15. 'icon': provider.icon,
  16. 'url': reverse('misago:search', kwargs={'search_provider': provider.url}),
  17. 'api': reverse('misago:api:search', kwargs={'search_provider': provider.url}),
  18. 'results': None,
  19. 'time': None,
  20. })
  21. return {}