X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/71d31efcdb70122f705d8136239771747ca3b07d..fcb17284f29204793cb23b75609a2f82737960e0:/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,