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

Fixes #3289: Prevent position from being nullified when moving a device to a new rack

Jeremy Stretch 6 лет назад
Родитель
Сommit
ea32853ab3
3 измененных файлов с 6 добавлено и 3 удалено
  1. 1 0
      CHANGELOG.md
  2. 1 1
      netbox/dcim/forms.py
  3. 4 2
      netbox/project-static/js/forms.js

+ 1 - 0
CHANGELOG.md

@@ -10,6 +10,7 @@ v2.6.2 (FUTURE)
 
 ## Bug Fixes
 
+* [#3289](https://github.com/netbox-community/netbox/issues/3289) - Prevent position from being nullified when moving a device to a new rack
 * [#3293](https://github.com/netbox-community/netbox/issues/3293) - Enable filtering device components by multiple device IDs
 * [#3315](https://github.com/netbox-community/netbox/issues/3315) - Enable filtering devices/interfaces by multiple MAC addresses
 * [#3317](https://github.com/netbox-community/netbox/issues/3317) - Fix permissions for ConfigContextBulkDeleteView

+ 1 - 1
netbox/dcim/forms.py

@@ -1268,7 +1268,7 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldForm):
         required=False,
         widget=APISelect(
             api_url='/api/dcim/racks/',
-            display_field='display_name',
+            display_field='display_name'
         )
     )
     position = forms.TypedChoiceField(

+ 4 - 2
netbox/project-static/js/forms.js

@@ -183,7 +183,7 @@ $(document).ready(function() {
                 // Additional query params
                 $.each(element.attributes, function(index, attr){
                     if (attr.name.includes("data-additional-query-param-")){
-                        var param_name = attr.name.split("data-additional-query-param-")[1]
+                        var param_name = attr.name.split("data-additional-query-param-")[1];
                         parameters[param_name] = attr.value;
                     }
                 });
@@ -194,6 +194,8 @@ $(document).ready(function() {
 
             processResults: function (data) {
                 var element = this.$element[0];
+                // Clear any disabled options
+                $(element).children('option').attr('disabled', false);
                 var results = $.map(data.results, function (obj) {
                     obj.text = obj[element.getAttribute('display-field')] || obj.name;
                     obj.id = obj[element.getAttribute('value-field')] || obj.id;
@@ -207,7 +209,7 @@ $(document).ready(function() {
 
                 // Handle the null option, but only add it once
                 if (element.getAttribute('data-null-option') && data.previous === null) {
-                    var null_option = $(element).children()[0]
+                    var null_option = $(element).children()[0];
                     results.unshift({
                         id: null_option.value,
                         text: null_option.text