X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/20b1566d40fd5f47261cae1a7cdf449a60a5eacc..e852900e42eb0bde98daf7070d84816e44c3308e:/src/messaging/views.py
diff --git a/src/messaging/views.py b/src/messaging/views.py
index f3881bb61..6ea1a4098 100644
--- a/src/messaging/views.py
+++ b/src/messaging/views.py
@@ -3,11 +3,24 @@ from django.http import JsonResponse
from django.urls import reverse
from django.shortcuts import render
from django.utils.translation import ugettext as _
+from django.views.decorators import cache
from django.views.generic import UpdateView
from . import models
from .states import states
+def describe(value):
+ if hasattr(value, '_meta'):
+ meta = value._meta
+ return _('''a %(verbose_name)s object.''') % {
+ 'docs_url': reverse('django-admindocs-models-detail', args=(meta.app_label, meta.model_name)),
+ 'verbose_name': meta.verbose_name,
+ }
+ else:
+ return type(value).__name__
+
+
+@cache.never_cache
def state_info(request, slug):
for state in states:
if state.slug == slug:
@@ -15,16 +28,14 @@ def state_info(request, slug):
else:
return JsonResponse({})
- meta = state().get_example_object('').model._meta
-
- help_text = _('''Context:
- {{ %(model_name)s }}
â a %(verbose_name)s object.
- You can put it in in the fields Subject and Body using dot notation, like this:
- {{ %(model_name)s.id }}
.''') % {
- 'model_name': meta.model_name,
- 'docs_url': reverse('django-admindocs-models-detail', args=(meta.app_label, meta.model_name)),
- 'verbose_name': meta.verbose_name,
- }
+ contact = models.Contact()
+ ctx = {
+ "contact": contact,
+ }
+ ctx.update(state(test=True).get_context(contact))
+ help_text = '%s:
' % _('Context')
+ for k, v in ctx.items():
+ help_text += '
{{ %s }}
â %s
' % (k, describe(v))
return JsonResponse({
"help": help_text,