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:
@ -14,6 +14,7 @@ NetBox now supports modeling physical cables for console, power, and interface c
|
|||||||
## Enhancements
|
## Enhancements
|
||||||
|
|
||||||
* [#450](https://github.com/digitalocean/netbox/issues/450) - Added `outer_width` and `outer_depth` fields to rack model
|
* [#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
|
* [#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
|
* [#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
|
* [#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`
|
* `power_ports`
|
||||||
* `pass_through_ports`
|
* `pass_through_ports`
|
||||||
* The field `interface_ordering` has been removed from the DeviceType serializer
|
* The field `interface_ordering` has been removed from the DeviceType serializer
|
||||||
|
* Added a `description` field to the CircuitTermination serializer
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ class CircuitTerminationSerializer(ValidatedModelSerializer):
|
|||||||
model = CircuitTermination
|
model = CircuitTermination
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'circuit', 'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info',
|
'id', 'circuit', 'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info',
|
||||||
'connected_endpoint', 'cable',
|
'description', 'connected_endpoint', 'cable',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,6 +67,8 @@ class CircuitViewSet(CustomFieldModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class CircuitTerminationViewSet(ModelViewSet):
|
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
|
serializer_class = serializers.CircuitTerminationSerializer
|
||||||
filterset_class = filters.CircuitTerminationFilter
|
filterset_class = filters.CircuitTerminationFilter
|
||||||
|
@ -125,6 +125,7 @@ class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
|
|||||||
Q(cid__icontains=value) |
|
Q(cid__icontains=value) |
|
||||||
Q(terminations__xconnect_id__icontains=value) |
|
Q(terminations__xconnect_id__icontains=value) |
|
||||||
Q(terminations__pp_info__icontains=value) |
|
Q(terminations__pp_info__icontains=value) |
|
||||||
|
Q(terminations__description__icontains=value) |
|
||||||
Q(description__icontains=value) |
|
Q(description__icontains=value) |
|
||||||
Q(comments__icontains=value)
|
Q(comments__icontains=value)
|
||||||
).distinct()
|
).distinct()
|
||||||
@ -160,5 +161,6 @@ class CircuitTerminationFilter(django_filters.FilterSet):
|
|||||||
return queryset.filter(
|
return queryset.filter(
|
||||||
Q(circuit__cid__icontains=value) |
|
Q(circuit__cid__icontains=value) |
|
||||||
Q(xconnect_id__icontains=value) |
|
Q(xconnect_id__icontains=value) |
|
||||||
Q(pp_info__icontains=value)
|
Q(pp_info__icontains=value) |
|
||||||
|
Q(description__icontains=value)
|
||||||
).distinct()
|
).distinct()
|
||||||
|
@ -208,7 +208,7 @@ class CircuitTerminationForm(BootstrapMixin, forms.ModelForm):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = CircuitTermination
|
model = CircuitTermination
|
||||||
fields = [
|
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 = {
|
help_texts = {
|
||||||
'port_speed': "Physical circuit speed",
|
'port_speed': "Physical circuit speed",
|
||||||
|
@ -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),
|
||||||
|
),
|
||||||
|
]
|
@ -258,6 +258,10 @@ class CircuitTermination(CableTermination):
|
|||||||
blank=True,
|
blank=True,
|
||||||
verbose_name='Patch panel/port(s)'
|
verbose_name='Patch panel/port(s)'
|
||||||
)
|
)
|
||||||
|
description = models.CharField(
|
||||||
|
max_length=100,
|
||||||
|
blank=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['circuit', 'term_side']
|
ordering = ['circuit', 'term_side']
|
||||||
|
@ -68,6 +68,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{% render_field form.xconnect_id %}
|
{% render_field form.xconnect_id %}
|
||||||
{% render_field form.pp_info %}
|
{% render_field form.pp_info %}
|
||||||
|
{% render_field form.description %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -91,6 +91,10 @@
|
|||||||
<td>Patch Panel/Port</td>
|
<td>Patch Panel/Port</td>
|
||||||
<td>{{ termination.pp_info|placeholder }}</td>
|
<td>{{ termination.pp_info|placeholder }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Description</td>
|
||||||
|
<td>{{ termination.description|placeholder }}</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
Reference in New Issue
Block a user