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

Fixes #2857: Add display_name to DeviceType API serializer; fix DeviceType list for bulk device edit

Jeremy Stretch 7 лет назад
Родитель
Сommit
f733d5a4da

+ 1 - 0
CHANGELOG.md

@@ -3,6 +3,7 @@ v2.5.6 (FUTURE)
 ## Bug Fixes
 
 * [#2844](https://github.com/digitalocean/netbox/issues/2844) - Correct display of far cable end for pass-through ports
+* [#2857](https://github.com/digitalocean/netbox/issues/2857) - Add `display_name` to DeviceType API serializer; fix DeviceType list for bulk device edit
 
 ---
 

+ 1 - 1
netbox/dcim/api/nested_serializers.py

@@ -100,7 +100,7 @@ class NestedDeviceTypeSerializer(WritableNestedSerializer):
 
     class Meta:
         model = DeviceType
-        fields = ['id', 'url', 'manufacturer', 'model', 'slug']
+        fields = ['id', 'url', 'manufacturer', 'model', 'slug', 'display_name']
 
 
 class NestedRearPortTemplateSerializer(WritableNestedSerializer):

+ 2 - 2
netbox/dcim/api/serializers.py

@@ -180,8 +180,8 @@ class DeviceTypeSerializer(TaggitSerializer, CustomFieldModelSerializer):
     class Meta:
         model = DeviceType
         fields = [
-            'id', 'manufacturer', 'model', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role',
-            'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'instance_count',
+            'id', 'manufacturer', 'model', 'slug', 'display_name', 'part_number', 'u_height', 'is_full_depth',
+            'subdevice_role', 'comments', 'tags', 'custom_fields', 'created', 'last_updated', 'instance_count',
         ]
 
 

+ 2 - 1
netbox/dcim/forms.py

@@ -1599,7 +1599,8 @@ class DeviceBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEditF
         required=False,
         label='Type',
         widget=APISelect(
-            api_url="/api/dcim/device-types/"
+            api_url="/api/dcim/device-types/",
+            display_field='display_name'
         )
     )
     device_role = forms.ModelChoiceField(

+ 1 - 1
netbox/dcim/models.py

@@ -980,7 +980,7 @@ class DeviceType(ChangeLoggedModel, CustomFieldModel):
             })
 
     @property
-    def full_name(self):
+    def display_name(self):
         return '{} {}'.format(self.manufacturer.name, self.model)
 
     @property

+ 1 - 1
netbox/dcim/tables.py

@@ -517,7 +517,7 @@ class DeviceTable(BaseTable):
     device_role = tables.TemplateColumn(DEVICE_ROLE, verbose_name='Role')
     device_type = tables.LinkColumn(
         'dcim:devicetype', args=[Accessor('device_type.pk')], verbose_name='Type',
-        text=lambda record: record.device_type.full_name
+        text=lambda record: record.device_type.display_name
     )
 
     class Meta(BaseTable.Meta):

+ 2 - 2
netbox/templates/dcim/device.html

@@ -163,7 +163,7 @@
                     <tr>
                         <td>Device Type</td>
                         <td>
-                            <span><a href="{% url 'dcim:devicetype' pk=device.device_type.pk %}">{{ device.device_type.full_name }}</a> ({{ device.device_type.u_height }}U)</span>
+                            <span><a href="{% url 'dcim:devicetype' pk=device.device_type.pk %}">{{ device.device_type.display_name }}</a> ({{ device.device_type.u_height }}U)</span>
                         </td>
                     </tr>
                     <tr>
@@ -416,7 +416,7 @@
                                         <span class="text-muted">&mdash;</span>
                                     {% endif %}
                                 </td>
-                                <td>{{ rd.device_type.full_name }}</td>
+                                <td>{{ rd.device_type.display_name }}</td>
                             </tr>
                         {% endfor %}
                     </table>

+ 1 - 1
netbox/templates/dcim/device_inventory.html

@@ -13,7 +13,7 @@
                 <table class="table table-hover panel-body attr-table">
                     <tr>
                         <td>Model</td>
-                        <td>{{ device.device_type.full_name }}</td>
+                        <td>{{ device.device_type.display_name }}</td>
                     </tr>
                     <tr>
                         <td>Serial Number</td>

+ 1 - 1
netbox/templates/dcim/inc/devicebay.html

@@ -15,7 +15,7 @@
             <a href="{% url 'dcim:device' pk=devicebay.installed_device.pk %}">{{ devicebay.installed_device }}</a>
         </td>
         <td>
-            <span>{{ devicebay.installed_device.device_type.full_name }}</span>
+            <span>{{ devicebay.installed_device.device_type.display_name }}</span>
         </td>
     {% else %}
         <td></td>

+ 1 - 1
netbox/templates/dcim/inc/rack_elevation.html

@@ -26,7 +26,7 @@
                 <li class="occupied h{{ u.device.device_type.u_height }}u"{% ifequal u.device.face face_id %} style="background-color: #{{ u.device.device_role.color }}"{% endifequal %}>
                     {% ifequal u.device.face face_id %}
                         <a href="{% url 'dcim:device' pk=u.device.pk %}" data-toggle="popover" data-trigger="hover" data-container="body" data-html="true"
-                           data-content="{{ u.device.device_role }}<br />{{ u.device.device_type.full_name }} ({{ u.device.device_type.u_height }}U){% if u.device.asset_tag %}<br />{{ u.device.asset_tag }}{% endif %}{% if u.device.serial %}<br />{{ u.device.serial }}{% endif %}">
+                           data-content="{{ u.device.device_role }}<br />{{ u.device.device_type.display_name }} ({{ u.device.device_type.u_height }}U){% if u.device.asset_tag %}<br />{{ u.device.asset_tag }}{% endif %}{% if u.device.serial %}<br />{{ u.device.serial }}{% endif %}">
                             {{ u.device }}
                             {% if u.device.devicebay_count %}
                                 ({{ u.device.get_children.count }}/{{ u.device.devicebay_count }})

+ 1 - 1
netbox/templates/dcim/rack.html

@@ -208,7 +208,7 @@
                                 <a href="{% url 'dcim:device' pk=device.pk %}">{{ device }}</a>
                             </td>
                             <td>{{ device.device_role }}</td>
-                            <td>{{ device.device_type.full_name }}</td>
+                            <td>{{ device.device_type.display_name }}</td>
                             <td>
                                 {% if device.parent_bay %}
                                     <a href="{{ device.parent_bay.device.get_absolute_url }}">{{ device.parent_bay }}</a>