32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from __future__ import absolute_import, unicode_literals
|
|
|
|
from django import forms
|
|
from django.utils.translation import string_concat, ugettext_lazy as _
|
|
|
|
import mayan
|
|
|
|
from .widgets import TemplateWidget
|
|
|
|
|
|
class TemplateField(forms.CharField):
|
|
widget = TemplateWidget
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
self.model = kwargs.pop('model')
|
|
self.model_variable = kwargs.pop('model_variable')
|
|
self.initial_help_text = kwargs.pop('initial_help_text', '')
|
|
super(TemplateField, self).__init__(*args, **kwargs)
|
|
self.help_text = string_concat(
|
|
self.initial_help_text, ' ',
|
|
_(
|
|
'Use Django\'s default templating language '
|
|
'(https://docs.djangoproject.com/en/%(django_version)s/ref/templates/builtins/). '
|
|
'The {{ %(variable)s }} variable is available to the template.'
|
|
) % {
|
|
'django_version': mayan.__django_version__,
|
|
'variable': self.model_variable
|
|
}
|
|
)
|
|
self.widget.attrs['model'] = self.model
|
|
self.widget.attrs['data-model-variable'] = self.model_variable
|