mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Rename ExportTemplateLanguageChoices to TemplateLanguageChoices
This commit is contained in:
parent
826f4d313d
commit
deec10efe7
@ -62,8 +62,8 @@ class RenderedGraphSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class ExportTemplateSerializer(ValidatedModelSerializer):
|
class ExportTemplateSerializer(ValidatedModelSerializer):
|
||||||
template_language = ChoiceField(
|
template_language = ChoiceField(
|
||||||
choices=ExportTemplateLanguageChoices,
|
choices=TemplateLanguageChoices,
|
||||||
default=ExportTemplateLanguageChoices.LANGUAGE_JINJA2
|
default=TemplateLanguageChoices.LANGUAGE_JINJA2
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -104,7 +104,7 @@ class ObjectChangeActionChoices(ChoiceSet):
|
|||||||
# ExportTemplates
|
# ExportTemplates
|
||||||
#
|
#
|
||||||
|
|
||||||
class ExportTemplateLanguageChoices(ChoiceSet):
|
class TemplateLanguageChoices(ChoiceSet):
|
||||||
|
|
||||||
LANGUAGE_DJANGO = 'django'
|
LANGUAGE_DJANGO = 'django'
|
||||||
LANGUAGE_JINJA2 = 'jinja2'
|
LANGUAGE_JINJA2 = 'jinja2'
|
||||||
|
@ -441,8 +441,8 @@ class Graph(models.Model):
|
|||||||
)
|
)
|
||||||
template_language = models.CharField(
|
template_language = models.CharField(
|
||||||
max_length=50,
|
max_length=50,
|
||||||
choices=ExportTemplateLanguageChoices,
|
choices=TemplateLanguageChoices,
|
||||||
default=ExportTemplateLanguageChoices.LANGUAGE_JINJA2
|
default=TemplateLanguageChoices.LANGUAGE_JINJA2
|
||||||
)
|
)
|
||||||
source = models.CharField(
|
source = models.CharField(
|
||||||
max_length=500,
|
max_length=500,
|
||||||
@ -463,11 +463,11 @@ class Graph(models.Model):
|
|||||||
context = {'obj': obj}
|
context = {'obj': obj}
|
||||||
|
|
||||||
# TODO: Remove in v2.8
|
# TODO: Remove in v2.8
|
||||||
if self.template_language == ExportTemplateLanguageChoices.LANGUAGE_DJANGO:
|
if self.template_language == TemplateLanguageChoices.LANGUAGE_DJANGO:
|
||||||
template = Template(self.source)
|
template = Template(self.source)
|
||||||
return template.render(Context(context))
|
return template.render(Context(context))
|
||||||
|
|
||||||
elif self.template_language == ExportTemplateLanguageChoices.LANGUAGE_JINJA2:
|
elif self.template_language == TemplateLanguageChoices.LANGUAGE_JINJA2:
|
||||||
return render_jinja2(self.source, context)
|
return render_jinja2(self.source, context)
|
||||||
|
|
||||||
def embed_link(self, obj):
|
def embed_link(self, obj):
|
||||||
@ -477,11 +477,11 @@ class Graph(models.Model):
|
|||||||
context = {'obj': obj}
|
context = {'obj': obj}
|
||||||
|
|
||||||
# TODO: Remove in v2.8
|
# TODO: Remove in v2.8
|
||||||
if self.template_language == ExportTemplateLanguageChoices.LANGUAGE_DJANGO:
|
if self.template_language == TemplateLanguageChoices.LANGUAGE_DJANGO:
|
||||||
template = Template(self.link)
|
template = Template(self.link)
|
||||||
return template.render(Context(context))
|
return template.render(Context(context))
|
||||||
|
|
||||||
elif self.template_language == ExportTemplateLanguageChoices.LANGUAGE_JINJA2:
|
elif self.template_language == TemplateLanguageChoices.LANGUAGE_JINJA2:
|
||||||
return render_jinja2(self.link, context)
|
return render_jinja2(self.link, context)
|
||||||
|
|
||||||
|
|
||||||
@ -508,8 +508,8 @@ class ExportTemplate(models.Model):
|
|||||||
)
|
)
|
||||||
template_language = models.CharField(
|
template_language = models.CharField(
|
||||||
max_length=50,
|
max_length=50,
|
||||||
choices=ExportTemplateLanguageChoices,
|
choices=TemplateLanguageChoices,
|
||||||
default=ExportTemplateLanguageChoices.LANGUAGE_JINJA2
|
default=TemplateLanguageChoices.LANGUAGE_JINJA2
|
||||||
)
|
)
|
||||||
template_code = models.TextField(
|
template_code = models.TextField(
|
||||||
help_text='The list of objects being exported is passed as a context variable named <code>queryset</code>.'
|
help_text='The list of objects being exported is passed as a context variable named <code>queryset</code>.'
|
||||||
@ -543,11 +543,11 @@ class ExportTemplate(models.Model):
|
|||||||
'queryset': queryset
|
'queryset': queryset
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.template_language == ExportTemplateLanguageChoices.LANGUAGE_DJANGO:
|
if self.template_language == TemplateLanguageChoices.LANGUAGE_DJANGO:
|
||||||
template = Template(self.template_code)
|
template = Template(self.template_code)
|
||||||
output = template.render(Context(context))
|
output = template.render(Context(context))
|
||||||
|
|
||||||
elif self.template_language == ExportTemplateLanguageChoices.LANGUAGE_JINJA2:
|
elif self.template_language == TemplateLanguageChoices.LANGUAGE_JINJA2:
|
||||||
output = render_jinja2(self.template_code, context)
|
output = render_jinja2(self.template_code, context)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -26,7 +26,7 @@ class ChoicesTest(APITestCase):
|
|||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
# ExportTemplate
|
# ExportTemplate
|
||||||
self.assertEqual(choices_to_dict(response.data.get('export-template:template_language')), ExportTemplateLanguageChoices.as_dict())
|
self.assertEqual(choices_to_dict(response.data.get('export-template:template_language')), TemplateLanguageChoices.as_dict())
|
||||||
|
|
||||||
# Graph
|
# Graph
|
||||||
content_types = ContentType.objects.filter(**model_names_to_filter_dict(GRAPH_MODELS))
|
content_types = ContentType.objects.filter(**model_names_to_filter_dict(GRAPH_MODELS))
|
||||||
@ -34,7 +34,7 @@ class ChoicesTest(APITestCase):
|
|||||||
"{}.{}".format(ct.app_label, ct.model): ct.name for ct in content_types
|
"{}.{}".format(ct.app_label, ct.model): ct.name for ct in content_types
|
||||||
}
|
}
|
||||||
self.assertEqual(choices_to_dict(response.data.get('graph:type')), graph_type_choices)
|
self.assertEqual(choices_to_dict(response.data.get('graph:type')), graph_type_choices)
|
||||||
self.assertEqual(choices_to_dict(response.data.get('graph:template_language')), ExportTemplateLanguageChoices.as_dict())
|
self.assertEqual(choices_to_dict(response.data.get('graph:template_language')), TemplateLanguageChoices.as_dict())
|
||||||
|
|
||||||
# ObjectChange
|
# ObjectChange
|
||||||
self.assertEqual(choices_to_dict(response.data.get('object-change:action')), ObjectChangeActionChoices.as_dict())
|
self.assertEqual(choices_to_dict(response.data.get('object-change:action')), ObjectChangeActionChoices.as_dict())
|
||||||
|
@ -18,9 +18,9 @@ class GraphTestCase(TestCase):
|
|||||||
content_types = ContentType.objects.filter(model__in=['site', 'device', 'interface'])
|
content_types = ContentType.objects.filter(model__in=['site', 'device', 'interface'])
|
||||||
|
|
||||||
graphs = (
|
graphs = (
|
||||||
Graph(name='Graph 1', type=content_types[0], template_language=ExportTemplateLanguageChoices.LANGUAGE_DJANGO, source='http://example.com/1'),
|
Graph(name='Graph 1', type=content_types[0], template_language=TemplateLanguageChoices.LANGUAGE_DJANGO, source='http://example.com/1'),
|
||||||
Graph(name='Graph 2', type=content_types[1], template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2, source='http://example.com/2'),
|
Graph(name='Graph 2', type=content_types[1], template_language=TemplateLanguageChoices.LANGUAGE_JINJA2, source='http://example.com/2'),
|
||||||
Graph(name='Graph 3', type=content_types[2], template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2, source='http://example.com/3'),
|
Graph(name='Graph 3', type=content_types[2], template_language=TemplateLanguageChoices.LANGUAGE_JINJA2, source='http://example.com/3'),
|
||||||
)
|
)
|
||||||
Graph.objects.bulk_create(graphs)
|
Graph.objects.bulk_create(graphs)
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ class GraphTestCase(TestCase):
|
|||||||
|
|
||||||
# TODO: Remove in v2.8
|
# TODO: Remove in v2.8
|
||||||
def test_template_language(self):
|
def test_template_language(self):
|
||||||
params = {'template_language': ExportTemplateLanguageChoices.LANGUAGE_JINJA2}
|
params = {'template_language': TemplateLanguageChoices.LANGUAGE_JINJA2}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
|
||||||
@ -48,9 +48,9 @@ class ExportTemplateTestCase(TestCase):
|
|||||||
content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device'])
|
content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device'])
|
||||||
|
|
||||||
export_templates = (
|
export_templates = (
|
||||||
ExportTemplate(name='Export Template 1', content_type=content_types[0], template_language=ExportTemplateLanguageChoices.LANGUAGE_DJANGO, template_code='TESTING'),
|
ExportTemplate(name='Export Template 1', content_type=content_types[0], template_language=TemplateLanguageChoices.LANGUAGE_DJANGO, template_code='TESTING'),
|
||||||
ExportTemplate(name='Export Template 2', content_type=content_types[1], template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2, template_code='TESTING'),
|
ExportTemplate(name='Export Template 2', content_type=content_types[1], template_language=TemplateLanguageChoices.LANGUAGE_JINJA2, template_code='TESTING'),
|
||||||
ExportTemplate(name='Export Template 3', content_type=content_types[2], template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2, template_code='TESTING'),
|
ExportTemplate(name='Export Template 3', content_type=content_types[2], template_language=TemplateLanguageChoices.LANGUAGE_JINJA2, template_code='TESTING'),
|
||||||
)
|
)
|
||||||
ExportTemplate.objects.bulk_create(export_templates)
|
ExportTemplate.objects.bulk_create(export_templates)
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ class ExportTemplateTestCase(TestCase):
|
|||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
|
||||||
|
|
||||||
def test_template_language(self):
|
def test_template_language(self):
|
||||||
params = {'template_language': ExportTemplateLanguageChoices.LANGUAGE_JINJA2}
|
params = {'template_language': TemplateLanguageChoices.LANGUAGE_JINJA2}
|
||||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ from django.contrib.contenttypes.models import ContentType
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
from dcim.models import Site
|
from dcim.models import Site
|
||||||
from extras.choices import ExportTemplateLanguageChoices
|
from extras.choices import TemplateLanguageChoices
|
||||||
from extras.models import Graph
|
from extras.models import Graph
|
||||||
|
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ class GraphTest(TestCase):
|
|||||||
graph = Graph(
|
graph = Graph(
|
||||||
type=ContentType.objects.get(app_label='dcim', model='site'),
|
type=ContentType.objects.get(app_label='dcim', model='site'),
|
||||||
name='Graph 1',
|
name='Graph 1',
|
||||||
template_language=ExportTemplateLanguageChoices.LANGUAGE_DJANGO,
|
template_language=TemplateLanguageChoices.LANGUAGE_DJANGO,
|
||||||
source=TEMPLATE_TEXT,
|
source=TEMPLATE_TEXT,
|
||||||
link=TEMPLATE_TEXT
|
link=TEMPLATE_TEXT
|
||||||
)
|
)
|
||||||
@ -37,7 +37,7 @@ class GraphTest(TestCase):
|
|||||||
graph = Graph(
|
graph = Graph(
|
||||||
type=ContentType.objects.get(app_label='dcim', model='site'),
|
type=ContentType.objects.get(app_label='dcim', model='site'),
|
||||||
name='Graph 1',
|
name='Graph 1',
|
||||||
template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2,
|
template_language=TemplateLanguageChoices.LANGUAGE_JINJA2,
|
||||||
source=TEMPLATE_TEXT,
|
source=TEMPLATE_TEXT,
|
||||||
link=TEMPLATE_TEXT
|
link=TEMPLATE_TEXT
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user