Explorar el Código

Closes #6154: Allow decimal values for cable lengths

jeremystretch hace 4 años
padre
commit
f3abf84e17

+ 3 - 0
docs/release-notes/version-2.12.md

@@ -5,6 +5,7 @@
 ### Enhancements
 
 * [#5806](https://github.com/netbox-community/netbox/issues/5806) - Add kilometer and mile as choices for cable length unit
+* [#6154](https://github.com/netbox-community/netbox/issues/6154) - Allow decimal values for cable lengths
 
 ### Other Changes
 
@@ -13,6 +14,8 @@
 
 ### REST API Changes
 
+* dcim.Cable
+    * `length` is now a decimal value
 * dcim.Device
     * Removed the `display_name` attribute (use `display` instead)
 * dcim.DeviceType

+ 16 - 0
netbox/dcim/migrations/0132_cable_length.py

@@ -0,0 +1,16 @@
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dcim', '0131_consoleport_speed'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='cable',
+            name='length',
+            field=models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True),
+        ),
+    ]

+ 3 - 1
netbox/dcim/models/cables.py

@@ -74,7 +74,9 @@ class Cable(PrimaryModel):
     color = ColorField(
         blank=True
     )
-    length = models.PositiveSmallIntegerField(
+    length = models.DecimalField(
+        max_digits=8,
+        decimal_places=2,
         blank=True,
         null=True
     )

+ 1 - 1
netbox/templates/dcim/cable.html

@@ -60,7 +60,7 @@
                             <th scope="row">Length</th>
                             <td>
                                 {% if object.length %}
-                                    {{ object.length }} {{ object.get_length_unit_display }}
+                                    {{ object.length|floatformat }} {{ object.get_length_unit_display }}
                                 {% else %}
                                     <span class="text-muted">&mdash;</span>
                                 {% endif %}

+ 1 - 1
netbox/templates/dcim/trace/cable.html

@@ -10,7 +10,7 @@
         <span class="badge bg-secondary">{{ cable.get_type_display|default:"" }}</span>
     {% endif %}
     {% if cable.length %}
-        ({{ cable.length }} {{ cable.get_length_unit_display }})<br />
+        ({{ cable.length|floatformat }} {{ cable.get_length_unit_display }})<br />
     {% endif %}
     <span class="badge bg-{{ cable.get_status_class }}">{{ cable.get_status_display }}</span><br />
     {% for tag in cable.tags.all %}