123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from django.urls import reverse
- from .models import Agreement
- from .utils import get_required_user_agreement, get_parsed_content
- # fixme: rename this context processor to more suitable name
- def legal_links(request):
- agreements = Agreement.objects.get_agreements()
- legal_context = {}
- terms_of_service = agreements.get(Agreement.TYPE_TOS)
- if terms_of_service:
- if terms_of_service['link']:
- legal_context['TERMS_OF_SERVICE_URL'] = terms_of_service['link']
- elif terms_of_service['text']:
- legal_context['TERMS_OF_SERVICE_URL'] = reverse('misago:terms-of-service')
- privacy_policy = agreements.get(Agreement.TYPE_PRIVACY)
- if privacy_policy:
- if privacy_policy['link']:
- legal_context['PRIVACY_POLICY_URL'] = privacy_policy['link']
- elif privacy_policy['text']:
- legal_context['PRIVACY_POLICY_URL'] = reverse('misago:privacy-policy')
- if legal_context:
- request.frontend_context.update(legal_context)
- required_agreement = get_required_user_agreement(request.user, agreements)
- if required_agreement:
- request.frontend_context['REQUIRED_AGREEMENT_ID'] = required_agreement.id
- legal_context['misago_agreement'] = {
- 'title': required_agreement.get_final_title(),
- 'link': required_agreement.link,
- 'content': get_parsed_content(request, required_agreement)
- }
- else:
- legal_context['misago_agreement'] = None
- return legal_context
|