From 4a2e80aeee0d1557091f6420992342af84230ffc Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 23 Aug 2016 12:11:27 -0400 Subject: [PATCH] Added a weight to CustomField for ordering fields within a form --- netbox/extras/migrations/0002_custom_fields.py | 5 +++-- netbox/extras/models.py | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/netbox/extras/migrations/0002_custom_fields.py b/netbox/extras/migrations/0002_custom_fields.py index e2c403065..60d00dceb 100644 --- a/netbox/extras/migrations/0002_custom_fields.py +++ b/netbox/extras/migrations/0002_custom_fields.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.10 on 2016-08-22 19:51 +# Generated by Django 1.10 on 2016-08-23 16:10 from __future__ import unicode_literals from django.db import migrations, models @@ -24,6 +24,7 @@ class Migration(migrations.Migration): ('description', models.CharField(blank=True, max_length=100)), ('required', models.BooleanField(default=False, help_text=b'Determines whether this field is required when creating new objects or editing an existing object.')), ('default', models.CharField(blank=True, help_text=b'Default value for the field. Use "true" or "false" for booleans. N/A for selection fields.', max_length=100)), + ('weight', models.PositiveSmallIntegerField(default=100, help_text=b'Fields with higher weights appear lower in a form')), ('obj_type', models.ManyToManyField(help_text=b'The object(s) to which this field applies.', related_name='custom_fields', to='contenttypes.ContentType', verbose_name=b'Object(s)')), ], options={ @@ -35,7 +36,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('value', models.CharField(max_length=100)), - ('weight', models.PositiveSmallIntegerField(default=100)), + ('weight', models.PositiveSmallIntegerField(default=100, help_text=b'Higher weights appear lower in the list')), ('field', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='choices', to='extras.CustomField')), ], options={ diff --git a/netbox/extras/models.py b/netbox/extras/models.py index be4876fab..16c954e33 100644 --- a/netbox/extras/models.py +++ b/netbox/extras/models.py @@ -93,6 +93,8 @@ class CustomField(models.Model): default = models.CharField(max_length=100, blank=True, help_text="Default value for the field. Use \"true\" or " "\"false\" for booleans. N/A for selection " "fields.") + weight = models.PositiveSmallIntegerField(default=100, help_text="Fields with higher weights appear lower in a " + "form") class Meta: ordering = ['name'] @@ -168,7 +170,7 @@ class CustomFieldChoice(models.Model): field = models.ForeignKey('CustomField', related_name='choices', limit_choices_to={'type': CF_TYPE_SELECT}, on_delete=models.CASCADE) value = models.CharField(max_length=100) - weight = models.PositiveSmallIntegerField(default=100) + weight = models.PositiveSmallIntegerField(default=100, help_text="Higher weights appear lower in the list") class Meta: ordering = ['field', 'weight', 'value']