Skip to content

Commit

Permalink
Closes #3310: Pre-select site/rack for B side when creating a new cable
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremystretch committed Jan 22, 2020
1 parent b7dea5a commit f826e15
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 38 deletions.
4 changes: 4 additions & 0 deletions docs/release-notes/version-2.7.md
@@ -1,5 +1,9 @@
# v2.7.3 (FUTURE)

## Enhancements

* [#3310](https://github.com/netbox-community/netbox/issues/3310) - Pre-select site/rack for B side when creating a new cable

## Bug Fixes

* [#3983](https://github.com/netbox-community/netbox/issues/3983) - Permit the creation of multiple unnamed devices
Expand Down
10 changes: 10 additions & 0 deletions netbox/dcim/forms.py
Expand Up @@ -3168,6 +3168,11 @@ class Meta:
'termination_b_site', 'termination_b_rack', 'termination_b_device', 'termination_b_id', 'type', 'status',
'label', 'color', 'length', 'length_unit',
]
widgets = {
'status': StaticSelect2,
'type': StaticSelect2,
'length_unit': StaticSelect2,
}


class ConnectCableToConsolePortForm(ConnectCableToDeviceForm):
Expand Down Expand Up @@ -3363,6 +3368,11 @@ class Meta:
fields = [
'type', 'status', 'label', 'color', 'length', 'length_unit',
]
widgets = {
'status': StaticSelect2,
'type': StaticSelect2,
'length_unit': StaticSelect2,
}


class CableCSVForm(forms.ModelForm):
Expand Down
6 changes: 6 additions & 0 deletions netbox/dcim/views.py
Expand Up @@ -1945,6 +1945,12 @@ def get(self, request, *args, **kwargs):
# Parse initial data manually to avoid setting field values as lists
initial_data = {k: request.GET[k] for k in request.GET}

# Set initial site and rack based on side A termination (if not already set)
if 'termination_b_site' not in initial_data:
initial_data['termination_b_site'] = getattr(self.obj.termination_a.parent, 'site', None)
if 'termination_b_rack' not in initial_data:
initial_data['termination_b_rack'] = getattr(self.obj.termination_a.parent, 'rack', None)

form = self.form_class(instance=self.obj, initial=initial_data)

return render(request, self.template_name, {
Expand Down
21 changes: 2 additions & 19 deletions netbox/templates/dcim/cable_connect.html
Expand Up @@ -144,25 +144,8 @@ <h3>{% block title %}Connect {{ termination_a.device }} {{ termination_a }} to {
</div>
</div>
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-default">
<div class="panel-heading"><strong>Cable</strong></div>
<div class="panel-body">
{% render_field form.status %}
{% render_field form.type %}
{% render_field form.label %}
{% render_field form.color %}
<div class="form-group">
<label class="col-md-3 control-label" for="id_length">{{ form.length.label }}</label>
<div class="col-md-6">
{{ form.length }}
</div>
<div class="col-md-3">
{{ form.length_unit }}
</div>
</div>
</div>
</div>
<div class="col-md-6 col-md-offset-3">
{% include 'dcim/inc/cable_form.html' %}
</div>
</div>
<div class="form-group">
Expand Down
20 changes: 1 addition & 19 deletions netbox/templates/dcim/cable_edit.html
@@ -1,23 +1,5 @@
{% extends 'utilities/obj_edit.html' %}
{% load form_helpers %}

{% block form %}
<div class="panel panel-default">
<div class="panel-heading"><strong>Cable</strong></div>
<div class="panel-body">
{% render_field form.type %}
{% render_field form.status %}
{% render_field form.label %}
{% render_field form.color %}
<div class="form-group">
<label class="col-md-3 control-label" for="id_length">{{ form.length.label }}</label>
<div class="col-md-6">
{{ form.length }}
</div>
<div class="col-md-3">
{{ form.length_unit }}
</div>
</div>
</div>
</div>
{% include 'dcim/inc/cable_form.html' %}
{% endblock %}
19 changes: 19 additions & 0 deletions netbox/templates/dcim/inc/cable_form.html
@@ -0,0 +1,19 @@
{% load form_helpers %}
<div class="panel panel-default">
<div class="panel-heading"><strong>Cable</strong></div>
<div class="panel-body">
{% render_field form.status %}
{% render_field form.type %}
{% render_field form.label %}
{% render_field form.color %}
<div class="form-group">
<label class="col-md-3 control-label" for="id_length">{{ form.length.label }}</label>
<div class="col-md-5">
{{ form.length }}
</div>
<div class="col-md-4">
{{ form.length_unit }}
</div>
</div>
</div>
</div>

0 comments on commit f826e15

Please sign in to comment.