From 5e19c890eb0078769f3836df80ffa274c9119857 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 6 Jun 2024 11:17:05 -0700 Subject: [PATCH] 14692 convert disk size to MB --- .../virtualization/virtualmachine.html | 2 +- .../migrations/0039_convert_disk_size.py | 23 +++++++++++++++++++ .../virtualization/models/virtualmachines.py | 2 +- .../virtualization/tables/virtualmachines.py | 4 ++++ 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 netbox/virtualization/migrations/0039_convert_disk_size.py diff --git a/netbox/templates/virtualization/virtualmachine.html b/netbox/templates/virtualization/virtualmachine.html index 38432fdfe..5df8a9730 100644 --- a/netbox/templates/virtualization/virtualmachine.html +++ b/netbox/templates/virtualization/virtualmachine.html @@ -137,7 +137,7 @@ {% if object.disk %} - {{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %} + {{ object.disk|humanize_megabytes }} {% else %} {{ ''|placeholder }} {% endif %} diff --git a/netbox/virtualization/migrations/0039_convert_disk_size.py b/netbox/virtualization/migrations/0039_convert_disk_size.py new file mode 100644 index 000000000..319c7f96d --- /dev/null +++ b/netbox/virtualization/migrations/0039_convert_disk_size.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.6 on 2024-06-06 17:46 + +from django.db import migrations +from django.db.models import F + + +def convert_disk_size(apps, schema_editor): + VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') + VirtualMachine.objects.update(disk=F('disk') * 1024) + + +class Migration(migrations.Migration): + + dependencies = [ + ('virtualization', '0038_virtualdisk'), + ] + + operations = [ + migrations.RunPython( + code=convert_disk_size, + reverse_code=migrations.RunPython.noop + ), + ] diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py index 92f1a9472..fc446922b 100644 --- a/netbox/virtualization/models/virtualmachines.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -125,7 +125,7 @@ class VirtualMachine(ContactsMixin, ImageAttachmentsMixin, RenderConfigMixin, Co disk = models.PositiveIntegerField( blank=True, null=True, - verbose_name=_('disk (GB)') + verbose_name=_('disk (MB)') ) # Counter fields diff --git a/netbox/virtualization/tables/virtualmachines.py b/netbox/virtualization/tables/virtualmachines.py index 9d194d268..0214f4449 100644 --- a/netbox/virtualization/tables/virtualmachines.py +++ b/netbox/virtualization/tables/virtualmachines.py @@ -1,4 +1,5 @@ import django_tables2 as tables +from django.contrib.humanize.templatetags.humanize import intcomma from django.utils.translation import gettext_lazy as _ from dcim.tables.devices import BaseInterfaceTable @@ -118,6 +119,9 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable) 'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip', ) + def render_disk(self, value): + return intcomma(value) + # # VM components