views.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. from django.contrib.auth import get_user_model
  2. from django.core.exceptions import PermissionDenied
  3. from django.http import Http404, HttpResponse
  4. from misago.core import errorpages, mail
  5. from misago.core.shortcuts import paginate, validate_slug
  6. from misago.core.testproject.models import Model
  7. from misago.core.views import noscript
  8. def test_mail_user(request):
  9. User = get_user_model()
  10. test_user = User.objects.all().first()
  11. mail.mail_user(request,
  12. test_user,
  13. "Misago Test Mail",
  14. "misago/emails/base")
  15. return HttpResponse("Mailed user!")
  16. def test_mail_users(request):
  17. User = get_user_model()
  18. mail.mail_users(request,
  19. User.objects.iterator(),
  20. "Misago Test Spam",
  21. "misago/emails/base")
  22. return HttpResponse("Mailed users!")
  23. def test_pagination(request, page=None):
  24. items = range(15)
  25. page = paginate(items, page, 5)
  26. return HttpResponse(",".join([str(x) for x in page.object_list]))
  27. def validate_slug_view(request, model_id, model_slug):
  28. model = Model(int(model_id), 'eric-the-fish')
  29. validate_slug(model, model_slug)
  30. return HttpResponse("Allright!")
  31. def raise_misago_403(request):
  32. raise PermissionDenied('Misago 403')
  33. def raise_misago_404(request):
  34. raise Http404('Misago 404')
  35. def raise_misago_405(request):
  36. return errorpages.not_allowed(request)
  37. def raise_403(request):
  38. raise PermissionDenied()
  39. def raise_404(request):
  40. raise Http404()
  41. def test_noscript(request):
  42. return noscript(request, **request.POST)
  43. @errorpages.shared_403_exception_handler
  44. def mock_custom_403_error_page(request):
  45. return HttpResponse("Custom 403", status=403)
  46. @errorpages.shared_404_exception_handler
  47. def mock_custom_404_error_page(request):
  48. return HttpResponse("Custom 404", status=404)