views.py 2.0 KB

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