Просмотр исходного кода

Fixes: #3318 - Increases length of platform name and slug to 64 characters (#3353)

Daniel Sheppard 6 лет назад
Родитель
Сommit
050f2478d3

+ 3 - 1
netbox/dcim/forms.py

@@ -1242,7 +1242,9 @@ class DeviceRoleCSVForm(forms.ModelForm):
 #
 #
 
 
 class PlatformForm(BootstrapMixin, forms.ModelForm):
 class PlatformForm(BootstrapMixin, forms.ModelForm):
-    slug = SlugField()
+    slug = SlugField(
+        max_length=64
+    )
 
 
     class Meta:
     class Meta:
         model = Platform
         model = Platform

+ 23 - 0
netbox/dcim/migrations/0074_increase_field_length_platform_name_slug.py

@@ -0,0 +1,23 @@
+# Generated by Django 2.2 on 2019-07-17 20:40
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dcim', '0073_interface_form_factor_to_type'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='platform',
+            name='name',
+            field=models.CharField(max_length=64, unique=True),
+        ),
+        migrations.AlterField(
+            model_name='platform',
+            name='slug',
+            field=models.SlugField(max_length=64, unique=True),
+        ),
+    ]

+ 3 - 2
netbox/dcim/models.py

@@ -1385,11 +1385,12 @@ class Platform(ChangeLoggedModel):
     specifying a NAPALM driver.
     specifying a NAPALM driver.
     """
     """
     name = models.CharField(
     name = models.CharField(
-        max_length=50,
+        max_length=64,
         unique=True
         unique=True
     )
     )
     slug = models.SlugField(
     slug = models.SlugField(
-        unique=True
+        unique=True,
+        max_length=64
     )
     )
     manufacturer = models.ForeignKey(
     manufacturer = models.ForeignKey(
         to='dcim.Manufacturer',
         to='dcim.Manufacturer',

+ 2 - 1
netbox/project-static/js/forms.js

@@ -47,9 +47,10 @@ $(document).ready(function() {
     });
     });
     if (slug_field) {
     if (slug_field) {
         var slug_source = $('#id_' + slug_field.attr('slug-source'));
         var slug_source = $('#id_' + slug_field.attr('slug-source'));
+        var slug_length = slug_field.attr('maxlength');
         slug_source.on('keyup change', function() {
         slug_source.on('keyup change', function() {
             if (slug_field && !slug_field.attr('_changed')) {
             if (slug_field && !slug_field.attr('_changed')) {
-                slug_field.val(slugify($(this).val(), 50));
+                slug_field.val(slugify($(this).val(), (slug_length ? slug_length : 50)));
             }
             }
         })
         })
     }
     }