8356 deprecate disk field

This commit is contained in:
Arthur 2023-10-23 13:02:51 -07:00
parent 12aac64f7d
commit 5aee492c7d
5 changed files with 24 additions and 10 deletions

View File

@ -7,9 +7,7 @@
{% block breadcrumbs %} {% block breadcrumbs %}
{{ block.super }} {{ block.super }}
<li class="breadcrumb-item"> <li class="breadcrumb-item">
{% comment %} <a href="{% url 'virtualization:virtualmachine_disks' pk=object.virtual_machine.pk %}">{{ object.virtual_machine }}</a>
<a href="{% url 'virtualization:virtualmachine_virtualdisks' pk=object.virtual_machine.pk %}">{{ object.virtual_machine }}</a>
{% endcomment %}
</li> </li>
{% endblock %} {% endblock %}

View File

@ -139,7 +139,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><i class="mdi mdi-harddisk"></i> {% trans "Disk Space" %}</th> <th scope="row"><i class="mdi mdi-harddisk"></i> {% trans "Disk Space <i class='text-warning'>(deprecated)</i>" %}</th>
<td> <td>
{% if object.disk %} {% if object.disk %}
{{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %} {{ object.disk }} {% trans "GB" context "Abbreviation for gigabyte" %}
@ -148,6 +148,16 @@
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
<tr>
<th scope="row"><i class="mdi mdi-harddisk"></i> {% trans "Virtual Disk Space" %}</th>
<td>
{% if object.disk_size %}
{{ object.disk_size }} {% trans "GB" context "Abbreviation for gigabyte" %}
{% else %}
{{ ''|placeholder }}
{% endif %}
</td>
</tr>
</table> </table>
</div> </div>
</div> </div>

View File

@ -124,7 +124,8 @@ class VirtualMachine(ContactsMixin, RenderConfigMixin, ConfigContextModel, Prima
disk = models.PositiveIntegerField( disk = models.PositiveIntegerField(
blank=True, blank=True,
null=True, null=True,
verbose_name=_('disk (GB)') verbose_name=_('disk (GB)'),
help_text=_('deprecated - use Virtual Disks')
) )
# Counter fields # Counter fields

View File

@ -93,16 +93,19 @@ class VirtualMachineTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable)
verbose_name=_('Config Template'), verbose_name=_('Config Template'),
linkify=True linkify=True
) )
disk_size = tables.Column(
verbose_name=_('Disk Size (GB)'),
)
class Meta(NetBoxTable.Meta): class Meta(NetBoxTable.Meta):
model = VirtualMachine model = VirtualMachine
fields = ( fields = (
'pk', 'id', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'tenant_group', 'platform', 'pk', 'id', 'name', 'status', 'site', 'cluster', 'device', 'role', 'tenant', 'tenant_group', 'platform',
'vcpus', 'memory', 'disk', 'primary_ip4', 'primary_ip6', 'primary_ip', 'description', 'comments', 'vcpus', 'memory', 'disk', 'disk_size', 'primary_ip4', 'primary_ip6', 'primary_ip', 'description', 'comments',
'config_template', 'contacts', 'tags', 'created', 'last_updated', 'config_template', 'contacts', 'tags', 'created', 'last_updated',
) )
default_columns = ( default_columns = (
'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk', 'primary_ip', 'pk', 'name', 'status', 'site', 'cluster', 'role', 'tenant', 'vcpus', 'memory', 'disk_size', 'primary_ip',
) )

View File

@ -3,7 +3,7 @@ from collections import defaultdict
from django.contrib import messages from django.contrib import messages
from django.db import transaction from django.db import transaction
from django.db.models import Prefetch, Sum from django.db.models import F, Prefetch, Sum
from django.http import HttpResponse from django.http import HttpResponse
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse from django.urls import reverse
@ -341,7 +341,8 @@ class ClusterContactsView(ObjectContactsView):
# #
class VirtualMachineListView(generic.ObjectListView): class VirtualMachineListView(generic.ObjectListView):
queryset = VirtualMachine.objects.prefetch_related('primary_ip4', 'primary_ip6') queryset = VirtualMachine.objects.annotate(
disk_size=Sum('virtualdisks__size')).prefetch_related('primary_ip4', 'primary_ip6')
filterset = filtersets.VirtualMachineFilterSet filterset = filtersets.VirtualMachineFilterSet
filterset_form = forms.VirtualMachineFilterForm filterset_form = forms.VirtualMachineFilterForm
table = tables.VirtualMachineTable table = tables.VirtualMachineTable
@ -350,7 +351,8 @@ class VirtualMachineListView(generic.ObjectListView):
@register_model_view(VirtualMachine) @register_model_view(VirtualMachine)
class VirtualMachineView(generic.ObjectView): class VirtualMachineView(generic.ObjectView):
queryset = VirtualMachine.objects.all() queryset = VirtualMachine.objects.all().annotate(
disk_size=Sum('virtualdisks__size'))
@register_model_view(VirtualMachine, 'interfaces') @register_model_view(VirtualMachine, 'interfaces')