X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/42c42960c2dce4500f12dd14a68a10ed4f06abf5..29d00a3749ebfcf255932d7d0d0c9013c2e9a5a3:/contact/views.py diff --git a/contact/views.py b/contact/views.py index 26ccf60..20d28a3 100644 --- a/contact/views.py +++ b/contact/views.py @@ -7,11 +7,17 @@ from .forms import contact_forms from .models import Attachment -def form(request, form_tag): +def form(request, form_tag, force_enabled=False): try: form_class = contact_forms[form_tag] except KeyError: raise Http404 + if (getattr(form_class, 'disabled', False) and + not (force_enabled and request.user.is_superuser)): + template = getattr(form_class, 'disabled_template', None) + if template: + return render(request, template) + raise Http404 if request.method == 'POST': form = form_class(request.POST, request.FILES) formsets = [] @@ -36,11 +42,14 @@ def form(request, form_tag): def thanks(request, form_tag): - if form_tag not in contact_forms: + try: + form_class = contact_forms[form_tag] + except KeyError: raise Http404 return render(request, - ['contact/%s/thanks.html' % form_tag, 'contact/thanks.html'] + ['contact/%s/thanks.html' % form_tag, 'contact/thanks.html'], + dict(base_template = getattr(form_class, 'base_template', None)) )