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

Closes #6667: Display VM memory as GB/TB as appropriate

jeremystretch 4 лет назад
Родитель
Сommit
18a9e39be6

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

@@ -6,6 +6,7 @@
 
 * [#6620](https://github.com/netbox-community/netbox/issues/6620) - Show assigned VMs count under device role view
 * [#6666](https://github.com/netbox-community/netbox/issues/6666) - Show management-only status under interface detail view
+* [#6667](https://github.com/netbox-community/netbox/issues/6667) - Display VM memory as GB/TB as appropriate
 
 ### Bug Fixes
 

+ 1 - 1
netbox/templates/virtualization/virtualmachine.html

@@ -138,7 +138,7 @@
                     <td><i class="mdi mdi-chip"></i> Memory</td>
                     <td>
                         {% if object.memory %}
-                            {{ object.memory }} MB
+                            <span title="{{ object.memory }} MB">{{ object.memory|humanize_megabytes }}</span>
                         {% else %}
                             <span class="text-muted">&mdash;</span>
                         {% endif %}

+ 14 - 0
netbox/utilities/templatetags/helpers.py

@@ -129,6 +129,20 @@ def humanize_speed(speed):
         return '{} Kbps'.format(speed)
 
 
+@register.filter()
+def humanize_megabytes(mb):
+    """
+    Express a number of megabytes in the most suitable unit (e.g. gigabytes or terabytes).
+    """
+    if not mb:
+        return ''
+    if mb >= 1048576:
+        return f'{int(mb / 1048576)} TB'
+    if mb >= 1024:
+        return f'{int(mb / 1024)} GB'
+    return f'{mb} MB'
+
+
 @register.filter()
 def tzoffset(value):
     """