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

Closes #867: Add a 'description' field to CircuitTermination

Jeremy Stretch 7 лет назад
Родитель
Сommit
1847e82d04

+ 2 - 0
CHANGELOG.md

@@ -14,6 +14,7 @@ NetBox now supports modeling physical cables for console, power, and interface c
 ## Enhancements
 
 * [#450](https://github.com/digitalocean/netbox/issues/450) - Added `outer_width` and `outer_depth` fields to rack model
+* [#867](https://github.com/digitalocean/netbox/issues/867) - Added `description` field to circuit terminations
 * [#1444](https://github.com/digitalocean/netbox/issues/1444) - Added an `asset_tag` field for racks
 * [#2000](https://github.com/digitalocean/netbox/issues/2000) - Dropped support for Python 2
 * [#2104](https://github.com/digitalocean/netbox/issues/2104) - Added a `status` field for racks
@@ -37,6 +38,7 @@ NetBox now supports modeling physical cables for console, power, and interface c
     * `power_ports`
     * `pass_through_ports`
 * The field `interface_ordering` has been removed from the DeviceType serializer
+* Added a `description` field to the CircuitTermination serializer
 
 ---
 

+ 1 - 1
netbox/circuits/api/serializers.py

@@ -92,7 +92,7 @@ class CircuitTerminationSerializer(ValidatedModelSerializer):
         model = CircuitTermination
         fields = [
             'id', 'circuit', 'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info',
-            'connected_endpoint', 'cable',
+            'description', 'connected_endpoint', 'cable',
         ]
 
 

+ 3 - 1
netbox/circuits/api/views.py

@@ -67,6 +67,8 @@ class CircuitViewSet(CustomFieldModelViewSet):
 #
 
 class CircuitTerminationViewSet(ModelViewSet):
-    queryset = CircuitTermination.objects.select_related('circuit', 'site')
+    queryset = CircuitTermination.objects.select_related(
+        'circuit', 'site', 'connected_endpoint__device', 'cable'
+    )
     serializer_class = serializers.CircuitTerminationSerializer
     filterset_class = filters.CircuitTerminationFilter

+ 3 - 1
netbox/circuits/filters.py

@@ -125,6 +125,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
             Q(cid__icontains=value) |
             Q(terminations__xconnect_id__icontains=value) |
             Q(terminations__pp_info__icontains=value) |
+            Q(terminations__description__icontains=value) |
             Q(description__icontains=value) |
             Q(comments__icontains=value)
         ).distinct()
@@ -160,5 +161,6 @@ class CircuitTerminationFilter(django_filters.FilterSet):
         return queryset.filter(
             Q(circuit__cid__icontains=value) |
             Q(xconnect_id__icontains=value) |
-            Q(pp_info__icontains=value)
+            Q(pp_info__icontains=value) |
+            Q(description__icontains=value)
         ).distinct()

+ 1 - 1
netbox/circuits/forms.py

@@ -208,7 +208,7 @@ class CircuitTerminationForm(BootstrapMixin, forms.ModelForm):
     class Meta:
         model = CircuitTermination
         fields = [
-            'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info',
+            'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', 'description',
         ]
         help_texts = {
             'port_speed': "Physical circuit speed",

+ 18 - 0
netbox/circuits/migrations/0014_circuittermination_description.py

@@ -0,0 +1,18 @@
+# Generated by Django 2.1.3 on 2018-11-05 18:38
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('circuits', '0013_cables'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='circuittermination',
+            name='description',
+            field=models.CharField(blank=True, max_length=100),
+        ),
+    ]

+ 4 - 0
netbox/circuits/models.py

@@ -258,6 +258,10 @@ class CircuitTermination(CableTermination):
         blank=True,
         verbose_name='Patch panel/port(s)'
     )
+    description = models.CharField(
+        max_length=100,
+        blank=True
+    )
 
     class Meta:
         ordering = ['circuit', 'term_side']

+ 1 - 0
netbox/templates/circuits/circuittermination_edit.html

@@ -68,6 +68,7 @@
                         </div>
                         {% render_field form.xconnect_id %}
                         {% render_field form.pp_info %}
+                        {% render_field form.description %}
                     </div>
                 </div>
             </div>

+ 4 - 0
netbox/templates/circuits/inc/circuit_termination.html

@@ -91,6 +91,10 @@
                 <td>Patch Panel/Port</td>
                 <td>{{ termination.pp_info|placeholder }}</td>
             </tr>
+            <tr>
+                <td>Description</td>
+                <td>{{ termination.description|placeholder }}</td>
+            </tr>
         </table>
     {% else %}
         <div class="panel-body">