Browse Source

Added a weight to CustomField for ordering fields within a form

Jeremy Stretch 8 years ago
parent
commit
4a2e80aeee
2 changed files with 6 additions and 3 deletions
  1. 3 2
      netbox/extras/migrations/0002_custom_fields.py
  2. 3 1
      netbox/extras/models.py

+ 3 - 2
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={

+ 3 - 1
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']