views.py 831 B

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