Use TemplateField for smart links
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
- TemplateField shows the available variable in the help text
|
||||
automatically.
|
||||
- Use TemplateField for the web link template.
|
||||
- Use TemplateField for smart links.
|
||||
|
||||
3.3.4 (2019-12-09)
|
||||
==================
|
||||
|
||||
@@ -6,6 +6,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from mayan.apps.common.classes import ModelField, ModelProperty
|
||||
from mayan.apps.documents.models import Document
|
||||
from mayan.apps.templating.fields import TemplateField
|
||||
|
||||
from .models import SmartLink, SmartLinkCondition
|
||||
|
||||
@@ -13,13 +14,10 @@ from .models import SmartLink, SmartLinkCondition
|
||||
class SmartLinkForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SmartLinkForm, self).__init__(*args, **kwargs)
|
||||
self.fields['dynamic_label'].help_text = ' '.join(
|
||||
[
|
||||
force_text(self.fields['dynamic_label'].help_text),
|
||||
ModelProperty.get_help_text_for(
|
||||
model=Document, show_name=True
|
||||
).replace('\n', '<br>')
|
||||
]
|
||||
self.fields['dynamic_label'] = TemplateField(
|
||||
initial_help_text=self.fields['dynamic_label'].help_text,
|
||||
label=self.fields['dynamic_label'].label, model=Document,
|
||||
model_variable='document', required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
@@ -35,13 +33,10 @@ class SmartLinkConditionForm(forms.ModelForm):
|
||||
model=Document,
|
||||
), label=_('Foreign document field')
|
||||
)
|
||||
self.fields['expression'].help_text = ' '.join(
|
||||
[
|
||||
force_text(self.fields['expression'].help_text),
|
||||
ModelProperty.get_help_text_for(
|
||||
model=Document, show_name=True
|
||||
).replace('\n', '<br>')
|
||||
]
|
||||
self.fields['expression'] = TemplateField(
|
||||
initial_help_text=self.fields['expression'].help_text,
|
||||
label=self.fields['expression'].label, model=Document,
|
||||
model_variable='document', required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
|
||||
@@ -28,10 +28,8 @@ class SmartLink(models.Model):
|
||||
)
|
||||
dynamic_label = models.CharField(
|
||||
blank=True, max_length=96, help_text=_(
|
||||
'Enter a template to render. '
|
||||
'Use Django\'s default templating language '
|
||||
'(https://docs.djangoproject.com/en/1.11/ref/templates/builtins/). '
|
||||
'The {{ document }} context variable is available.'
|
||||
'Use this field to show a unique label depending on the '
|
||||
'document from which the smart link is being accessed.'
|
||||
), verbose_name=_('Dynamic label')
|
||||
)
|
||||
enabled = models.BooleanField(default=True, verbose_name=_('Enabled'))
|
||||
@@ -155,7 +153,7 @@ class SmartLink(models.Model):
|
||||
class ResolvedSmartLink(SmartLink):
|
||||
"""
|
||||
Proxy model to represent an already resolved smart link. Used for easier
|
||||
colums registration.
|
||||
columns registration.
|
||||
"""
|
||||
class Meta:
|
||||
proxy = True
|
||||
@@ -186,10 +184,8 @@ class SmartLinkCondition(models.Model):
|
||||
operator = models.CharField(choices=OPERATOR_CHOICES, max_length=16)
|
||||
expression = models.TextField(
|
||||
help_text=_(
|
||||
'Enter a template to render. '
|
||||
'Use Django\'s default templating language '
|
||||
'(https://docs.djangoproject.com/en/1.11/ref/templates/builtins/). '
|
||||
'The {{ document }} context variable is available.'
|
||||
'The expression using document properties to be evaluated '
|
||||
'against the foreign document field.'
|
||||
), verbose_name=_('Expression')
|
||||
)
|
||||
negated = models.BooleanField(
|
||||
|
||||
Reference in New Issue
Block a user