ExportTemplate.template_language to slug (#3569)

This commit is contained in:
Jeremy Stretch 2019-12-05 17:01:00 -05:00
parent 2583823e5f
commit 89e720cb77
6 changed files with 61 additions and 14 deletions

View File

@ -57,8 +57,8 @@ class RenderedGraphSerializer(serializers.ModelSerializer):
class ExportTemplateSerializer(ValidatedModelSerializer): class ExportTemplateSerializer(ValidatedModelSerializer):
template_language = ChoiceField( template_language = ChoiceField(
choices=TEMPLATE_LANGUAGE_CHOICES, choices=ExportTemplateLanguageChoices,
default=TEMPLATE_LANGUAGE_JINJA2 default=ExportTemplateLanguageChoices.LANGUAGE_JINJA2
) )
class Meta: class Meta:

View File

@ -98,3 +98,23 @@ class ObjectChangeActionChoices(ChoiceSet):
ACTION_UPDATE: 2, ACTION_UPDATE: 2,
ACTION_DELETE: 3, ACTION_DELETE: 3,
} }
#
# ExportTemplates
#
class ExportTemplateLanguageChoices(ChoiceSet):
LANGUAGE_DJANGO = 'django'
LANGUAGE_JINJA2 = 'jinja2'
CHOICES = (
(LANGUAGE_DJANGO, 'Django'),
(LANGUAGE_JINJA2, 'Jinja2'),
)
LEGACY_MAP = {
LANGUAGE_DJANGO: 10,
LANGUAGE_JINJA2: 20,
}

View File

@ -85,14 +85,6 @@ EXPORTTEMPLATE_MODELS = [
'virtualization.virtualmachine', 'virtualization.virtualmachine',
] ]
# ExportTemplate language choices
TEMPLATE_LANGUAGE_DJANGO = 10
TEMPLATE_LANGUAGE_JINJA2 = 20
TEMPLATE_LANGUAGE_CHOICES = (
(TEMPLATE_LANGUAGE_DJANGO, 'Django'),
(TEMPLATE_LANGUAGE_JINJA2, 'Jinja2'),
)
# Report logging levels # Report logging levels
LOG_DEFAULT = 0 LOG_DEFAULT = 0
LOG_SUCCESS = 10 LOG_SUCCESS = 10

View File

@ -1,5 +1,4 @@
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
OBJECTCHANGE_ACTION_CHOICES = ( OBJECTCHANGE_ACTION_CHOICES = (

View File

@ -0,0 +1,35 @@
from django.db import migrations, models
EXPORTTEMPLATE_LANGUAGE_CHOICES = (
(10, 'django'),
(20, 'jinja2'),
)
def exporttemplate_language_to_slug(apps, schema_editor):
ExportTemplate = apps.get_model('extras', 'ExportTemplate')
for id, slug in EXPORTTEMPLATE_LANGUAGE_CHOICES:
ExportTemplate.objects.filter(template_language=str(id)).update(template_language=slug)
class Migration(migrations.Migration):
atomic = False
dependencies = [
('extras', '0030_3569_objectchange_fields'),
]
operations = [
# ExportTemplate.template_language
migrations.AlterField(
model_name='exporttemplate',
name='template_language',
field=models.CharField(default='jinja2', max_length=50),
),
migrations.RunPython(
code=exporttemplate_language_to_slug
),
]

View File

@ -464,9 +464,10 @@ class ExportTemplate(models.Model):
max_length=200, max_length=200,
blank=True blank=True
) )
template_language = models.PositiveSmallIntegerField( template_language = models.CharField(
choices=TEMPLATE_LANGUAGE_CHOICES, max_length=50,
default=TEMPLATE_LANGUAGE_JINJA2 choices=ExportTemplateLanguageChoices,
default=ExportTemplateLanguageChoices.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>.'