f3881bb6156320164a9a9a5e14602c38e3f2da50
[wolnelektury.git] / src / messaging / views.py
1 import json
2 from django.http import JsonResponse
3 from django.urls import reverse
4 from django.shortcuts import render
5 from django.utils.translation import ugettext as _
6 from django.views.generic import UpdateView
7 from . import models
8 from .states import states
9
10
11 def state_info(request, slug):
12     for state in states:
13         if state.slug == slug:
14             break
15     else:
16         return JsonResponse({})
17
18     meta = state().get_example_object('').model._meta
19
20     help_text = _('''Context:<br>
21        <code>{{ %(model_name)s }}</code> – a <a href="%(docs_url)s">%(verbose_name)s</a> object.<br>
22        You can put it in in the fields <em>Subject</em> and <em>Body</em> using dot notation, like this:<br>
23        <code>{{ %(model_name)s.id }}</code>.''') % {
24                'model_name': meta.model_name,
25                'docs_url': reverse('django-admindocs-models-detail', args=(meta.app_label, meta.model_name)),
26                'verbose_name': meta.verbose_name,
27             }
28
29     return JsonResponse({
30         "help": help_text,
31     })
32
33
34 class OptOutView(UpdateView):
35     model = models.Contact
36     slug_url_kwarg = 'key'
37     slug_field = 'key'
38     fields = ['level']
39