diff --git a/mayan/apps/templating/fields.py b/mayan/apps/templating/fields.py index ba6c6cd809..f91baf93de 100644 --- a/mayan/apps/templating/fields.py +++ b/mayan/apps/templating/fields.py @@ -20,3 +20,5 @@ class TemplateField(forms.CharField): 'Use Django\'s default templating language ' '(https://docs.djangoproject.com/en/%(django_version)s/ref/templates/builtins/)' ) % {'django_version': mayan.__django_version__} + self.widget.attrs['model'] = self.model + self.widget.attrs['data-model-variable'] = self.model_variable diff --git a/mayan/apps/templating/forms.py b/mayan/apps/templating/forms.py index 29c3df1ba9..05c1abff59 100644 --- a/mayan/apps/templating/forms.py +++ b/mayan/apps/templating/forms.py @@ -23,7 +23,3 @@ class DocumentTemplateSandboxForm(forms.Form): model_variable=self.model_variable, required=False ) self.order_fields(field_order=('template', 'result')) - self.fields['template'].widget.attrs['model'] = self.model - self.fields['template'].widget.attrs[ - 'data-model-variable' - ] = self.model_variable diff --git a/mayan/apps/templating/static/templating/js/template_widget.js b/mayan/apps/templating/static/templating/js/template_widget.js index 7bbde3be35..56e31c9d58 100644 --- a/mayan/apps/templating/static/templating/js/template_widget.js +++ b/mayan/apps/templating/static/templating/js/template_widget.js @@ -1,10 +1,10 @@ 'use strict'; jQuery(document).ready(function() { - var fieldNameID = '#id_template_model_property'; + var fieldNameID = '[data-template-fields="model_property"]'; $(fieldNameID).change(function(event) { var $idModelProperty = $(this); - var $idTemplate = $('#id_template_template'); + var $idTemplate = $('[data-template-fields="template"]'); var templateCursorPosition = $idTemplate.prop('selectionStart'); var templateValue = $idTemplate.val(); var modelVariable = $idTemplate.data('model-variable'); diff --git a/mayan/apps/templating/widgets.py b/mayan/apps/templating/widgets.py index 6248301ba4..c1c35fc03b 100644 --- a/mayan/apps/templating/widgets.py +++ b/mayan/apps/templating/widgets.py @@ -16,9 +16,11 @@ class TemplateWidget(NamedMultiWidget): def __init__(self, attrs=None, **kwargs): widgets = OrderedDict() - widgets['model_property'] = forms.widgets.Select() + widgets['model_property'] = forms.widgets.Select( + attrs={'data-template-fields': 'model_property'} + ) widgets['template'] = forms.widgets.Textarea( - attrs={'rows': 5} + attrs={'rows': 5, 'data-template-fields': 'template'} ) super(TemplateWidget, self).__init__( widgets=widgets, attrs=attrs, **kwargs