1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

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

This commit is contained in:
Jeremy Stretch
2018-11-05 13:53:22 -05:00
parent 045856c9ac
commit 1847e82d04
9 changed files with 37 additions and 4 deletions

View File

@ -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
---

View File

@ -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',
]

View File

@ -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

View File

@ -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()

View File

@ -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",

View File

@ -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),
),
]

View File

@ -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']

View File

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

View File

@ -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">