mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 11:56:25 -06:00
Misc cleanup
This commit is contained in:
parent
d1802bff0b
commit
8a42c72ca4
@ -544,6 +544,11 @@ class DevicePowerOutletTable(PowerOutletTable):
|
|||||||
|
|
||||||
|
|
||||||
class BaseInterfaceTable(NetBoxTable):
|
class BaseInterfaceTable(NetBoxTable):
|
||||||
|
name = tables.Column(
|
||||||
|
verbose_name=_('Name'),
|
||||||
|
linkify=True,
|
||||||
|
order_by=('_name',)
|
||||||
|
)
|
||||||
enabled = columns.BooleanColumn(
|
enabled = columns.BooleanColumn(
|
||||||
verbose_name=_('Enabled'),
|
verbose_name=_('Enabled'),
|
||||||
)
|
)
|
||||||
@ -591,7 +596,7 @@ class BaseInterfaceTable(NetBoxTable):
|
|||||||
return ",".join([str(obj) for obj in value.all()])
|
return ",".join([str(obj) for obj in value.all()])
|
||||||
|
|
||||||
|
|
||||||
class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpointTable):
|
class InterfaceTable(BaseInterfaceTable, ModularDeviceComponentTable, PathEndpointTable):
|
||||||
device = tables.Column(
|
device = tables.Column(
|
||||||
verbose_name=_('Device'),
|
verbose_name=_('Device'),
|
||||||
linkify={
|
linkify={
|
||||||
|
@ -218,6 +218,10 @@ class PowerOutletTemplateTable(ComponentTemplateTable):
|
|||||||
|
|
||||||
|
|
||||||
class InterfaceTemplateTable(ComponentTemplateTable):
|
class InterfaceTemplateTable(ComponentTemplateTable):
|
||||||
|
name = tables.Column(
|
||||||
|
verbose_name=_('Name'),
|
||||||
|
order_by=('_name',)
|
||||||
|
)
|
||||||
enabled = columns.BooleanColumn(
|
enabled = columns.BooleanColumn(
|
||||||
verbose_name=_('Enabled'),
|
verbose_name=_('Enabled'),
|
||||||
)
|
)
|
||||||
|
@ -688,8 +688,7 @@ class RackElevationListView(generic.ObjectListView):
|
|||||||
sort = request.GET.get('sort', 'name')
|
sort = request.GET.get('sort', 'name')
|
||||||
if sort not in ORDERING_CHOICES:
|
if sort not in ORDERING_CHOICES:
|
||||||
sort = 'name'
|
sort = 'name'
|
||||||
sort_field = sort # Use natural ordering
|
racks = racks.order_by(sort)
|
||||||
racks = racks.order_by(sort_field)
|
|
||||||
|
|
||||||
# Pagination
|
# Pagination
|
||||||
per_page = get_paginate_count(request)
|
per_page = get_paginate_count(request)
|
||||||
|
@ -5,7 +5,6 @@ from django.db import models
|
|||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from utilities.ordering import naturalize_interface
|
|
||||||
from .forms.widgets import ColorSelect
|
from .forms.widgets import ColorSelect
|
||||||
from .validators import ColorValidator
|
from .validators import ColorValidator
|
||||||
|
|
||||||
@ -40,7 +39,7 @@ class NaturalOrderingField(models.CharField):
|
|||||||
"""
|
"""
|
||||||
description = "Stores a representation of its target field suitable for natural ordering"
|
description = "Stores a representation of its target field suitable for natural ordering"
|
||||||
|
|
||||||
def __init__(self, target_field, naturalize_function=naturalize_interface, *args, **kwargs):
|
def __init__(self, target_field, naturalize_function, *args, **kwargs):
|
||||||
self.target_field = target_field
|
self.target_field = target_field
|
||||||
self.naturalize_function = naturalize_function
|
self.naturalize_function = naturalize_function
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
@ -267,6 +267,11 @@ class ComponentModel(NetBoxModel):
|
|||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name='%(class)ss'
|
related_name='%(class)ss'
|
||||||
)
|
)
|
||||||
|
name = models.CharField(
|
||||||
|
verbose_name=_('name'),
|
||||||
|
max_length=64,
|
||||||
|
db_collation="natural_sort"
|
||||||
|
)
|
||||||
description = models.CharField(
|
description = models.CharField(
|
||||||
verbose_name=_('description'),
|
verbose_name=_('description'),
|
||||||
max_length=200,
|
max_length=200,
|
||||||
@ -311,12 +316,6 @@ class VMInterface(ComponentModel, BaseInterface, TrackingModelMixin):
|
|||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name='interfaces' # Override ComponentModel
|
related_name='interfaces' # Override ComponentModel
|
||||||
)
|
)
|
||||||
_name = NaturalOrderingField(
|
|
||||||
target_field='name',
|
|
||||||
naturalize_function=naturalize_interface,
|
|
||||||
max_length=100,
|
|
||||||
blank=True
|
|
||||||
)
|
|
||||||
ip_addresses = GenericRelation(
|
ip_addresses = GenericRelation(
|
||||||
to='ipam.IPAddress',
|
to='ipam.IPAddress',
|
||||||
content_type_field='assigned_object_type',
|
content_type_field='assigned_object_type',
|
||||||
@ -405,11 +404,6 @@ class VMInterface(ComponentModel, BaseInterface, TrackingModelMixin):
|
|||||||
|
|
||||||
|
|
||||||
class VirtualDisk(ComponentModel, TrackingModelMixin):
|
class VirtualDisk(ComponentModel, TrackingModelMixin):
|
||||||
name = models.CharField(
|
|
||||||
verbose_name=_('name'),
|
|
||||||
max_length=64,
|
|
||||||
db_collation="natural_sort"
|
|
||||||
)
|
|
||||||
size = models.PositiveIntegerField(
|
size = models.PositiveIntegerField(
|
||||||
verbose_name=_('size (MB)'),
|
verbose_name=_('size (MB)'),
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user