legal.py 874 B

12345678910111213141516171819202122232425262728293031323334
  1. from django.shortcuts import get_object_or_404, redirect, render
  2. from misago.legal.models import Agreement
  3. from misago.legal.utils import get_parsed_agreement_text
  4. def legal_view(request, agreement_type):
  5. agreement = get_object_or_404(
  6. Agreement, type=agreement_type, is_active=True
  7. )
  8. if agreement.link:
  9. return redirect(agreement.link)
  10. template_name = 'misago/{}.html'.format(agreement_type)
  11. agreement_text = get_parsed_agreement_text(request, agreement)
  12. return render(
  13. request,
  14. template_name,
  15. {
  16. 'title': agreement.get_final_title(),
  17. 'link': agreement.link,
  18. 'text': agreement_text,
  19. }
  20. )
  21. def privacy_policy(request):
  22. return legal_view(request, Agreement.TYPE_PRIVACY)
  23. def terms_of_service(request):
  24. return legal_view(request, Agreement.TYPE_TOS)