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

Closes #6487: Add location filter to cable connection form

jeremystretch 4 лет назад
Родитель
Сommit
110a6d11a5
3 измененных файлов с 21 добавлено и 4 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 11 1
      netbox/dcim/forms.py
  3. 9 3
      netbox/templates/dcim/cable_connect.html

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -5,6 +5,7 @@
 ### Enhancements
 ### Enhancements
 
 
 * [#6087](https://github.com/netbox-community/netbox/issues/6087) - Improved prefix hierarchy rendering
 * [#6087](https://github.com/netbox-community/netbox/issues/6087) - Improved prefix hierarchy rendering
+* [#6487](https://github.com/netbox-community/netbox/issues/6487) - Add location filter to cable connection form
 * [#6501](https://github.com/netbox-community/netbox/issues/6501) - Expose prefix depth and children on REST API serializer
 * [#6501](https://github.com/netbox-community/netbox/issues/6501) - Expose prefix depth and children on REST API serializer
 
 
 ---
 ---

+ 11 - 1
netbox/dcim/forms.py

@@ -3923,13 +3923,23 @@ class ConnectCableToDeviceForm(BootstrapMixin, CustomFieldModelForm):
             'group_id': '$termination_b_site_group',
             'group_id': '$termination_b_site_group',
         }
         }
     )
     )
+    termination_b_location = DynamicModelChoiceField(
+        queryset=Location.objects.all(),
+        label='Location',
+        required=False,
+        null_option='None',
+        query_params={
+            'site_id': '$termination_b_site'
+        }
+    )
     termination_b_rack = DynamicModelChoiceField(
     termination_b_rack = DynamicModelChoiceField(
         queryset=Rack.objects.all(),
         queryset=Rack.objects.all(),
         label='Rack',
         label='Rack',
         required=False,
         required=False,
         null_option='None',
         null_option='None',
         query_params={
         query_params={
-            'site_id': '$termination_b_site'
+            'site_id': '$termination_b_site',
+            'location_id': '$termination_b_location',
         }
         }
     )
     )
     termination_b_device = DynamicModelChoiceField(
     termination_b_device = DynamicModelChoiceField(

+ 9 - 3
netbox/templates/dcim/cable_connect.html

@@ -35,13 +35,13 @@
                             <div class="form-group">
                             <div class="form-group">
                                 <label class="col-md-3 control-label required">Region</label>
                                 <label class="col-md-3 control-label required">Region</label>
                                 <div class="col-md-9">
                                 <div class="col-md-9">
-                                    <p class="form-control-static">{{ termination_a.device.site.region }}</p>
+                                    <p class="form-control-static">{{ termination_a.device.site.region|placeholder }}</p>
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div class="form-group">
                             <div class="form-group">
                                 <label class="col-md-3 control-label required">Site Group</label>
                                 <label class="col-md-3 control-label required">Site Group</label>
                                 <div class="col-md-9">
                                 <div class="col-md-9">
-                                    <p class="form-control-static">{{ termination_a.device.site.group }}</p>
+                                    <p class="form-control-static">{{ termination_a.device.site.group|placeholder }}</p>
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div class="form-group">
                             <div class="form-group">
@@ -50,10 +50,16 @@
                                     <p class="form-control-static">{{ termination_a.device.site }}</p>
                                     <p class="form-control-static">{{ termination_a.device.site }}</p>
                                 </div>
                                 </div>
                             </div>
                             </div>
+                            <div class="form-group">
+                                <label class="col-md-3 control-label required">Location</label>
+                                <div class="col-md-9">
+                                    <p class="form-control-static">{{ termination_a.device.location|placeholder }}</p>
+                                </div>
+                            </div>
                             <div class="form-group">
                             <div class="form-group">
                                 <label class="col-md-3 control-label required">Rack</label>
                                 <label class="col-md-3 control-label required">Rack</label>
                                 <div class="col-md-9">
                                 <div class="col-md-9">
-                                    <p class="form-control-static">{{ termination_a.device.rack|default:"None" }}</p>
+                                    <p class="form-control-static">{{ termination_a.device.rack|placeholder }}</p>
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div class="form-group">
                             <div class="form-group">