views.py 2.2 KB

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