mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-13 16:47:34 -06:00
Fixes #17319: Arrange device and module type fields behind tab in component template forms
This commit is contained in:
parent
5342552054
commit
964ae56d34
@ -899,7 +899,7 @@ class ComponentTemplateForm(forms.ModelForm):
|
|||||||
class ModularComponentTemplateForm(ComponentTemplateForm):
|
class ModularComponentTemplateForm(ComponentTemplateForm):
|
||||||
device_type = DynamicModelChoiceField(
|
device_type = DynamicModelChoiceField(
|
||||||
label=_('Device type'),
|
label=_('Device type'),
|
||||||
queryset=DeviceType.objects.all().all(),
|
queryset=DeviceType.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
context={
|
context={
|
||||||
'parent': 'manufacturer',
|
'parent': 'manufacturer',
|
||||||
@ -914,6 +914,16 @@ class ModularComponentTemplateForm(ComponentTemplateForm):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
fieldsets = (
|
||||||
|
FieldSet(
|
||||||
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'description'
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
@ -930,10 +940,6 @@ class ModularComponentTemplateForm(ComponentTemplateForm):
|
|||||||
|
|
||||||
|
|
||||||
class ConsolePortTemplateForm(ModularComponentTemplateForm):
|
class ConsolePortTemplateForm(ModularComponentTemplateForm):
|
||||||
fieldsets = (
|
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'type', 'description'),
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ConsolePortTemplate
|
model = ConsolePortTemplate
|
||||||
fields = [
|
fields = [
|
||||||
@ -942,10 +948,6 @@ class ConsolePortTemplateForm(ModularComponentTemplateForm):
|
|||||||
|
|
||||||
|
|
||||||
class ConsoleServerPortTemplateForm(ModularComponentTemplateForm):
|
class ConsoleServerPortTemplateForm(ModularComponentTemplateForm):
|
||||||
fieldsets = (
|
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'type', 'description'),
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ConsoleServerPortTemplate
|
model = ConsoleServerPortTemplate
|
||||||
fields = [
|
fields = [
|
||||||
@ -956,7 +958,11 @@ class ConsoleServerPortTemplateForm(ModularComponentTemplateForm):
|
|||||||
class PowerPortTemplateForm(ModularComponentTemplateForm):
|
class PowerPortTemplateForm(ModularComponentTemplateForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet(
|
FieldSet(
|
||||||
'device_type', 'module_type', 'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description',
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'maximum_draw', 'allocated_draw', 'description',
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -978,7 +984,13 @@ class PowerOutletTemplateForm(ModularComponentTemplateForm):
|
|||||||
)
|
)
|
||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'type', 'power_port', 'feed_leg', 'description'),
|
FieldSet(
|
||||||
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'power_port', 'feed_leg', 'description',
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -1001,7 +1013,11 @@ class InterfaceTemplateForm(ModularComponentTemplateForm):
|
|||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet(
|
FieldSet(
|
||||||
'device_type', 'module_type', 'name', 'label', 'type', 'enabled', 'mgmt_only', 'description', 'bridge',
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'enabled', 'mgmt_only', 'description', 'bridge',
|
||||||
),
|
),
|
||||||
FieldSet('poe_mode', 'poe_type', name=_('PoE')),
|
FieldSet('poe_mode', 'poe_type', name=_('PoE')),
|
||||||
FieldSet('rf_role', name=_('Wireless')),
|
FieldSet('rf_role', name=_('Wireless')),
|
||||||
@ -1028,8 +1044,11 @@ class FrontPortTemplateForm(ModularComponentTemplateForm):
|
|||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet(
|
FieldSet(
|
||||||
'device_type', 'module_type', 'name', 'label', 'type', 'color', 'rear_port', 'rear_port_position',
|
TabbedGroups(
|
||||||
'description',
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'color', 'rear_port', 'rear_port_position', 'description',
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1043,7 +1062,13 @@ class FrontPortTemplateForm(ModularComponentTemplateForm):
|
|||||||
|
|
||||||
class RearPortTemplateForm(ModularComponentTemplateForm):
|
class RearPortTemplateForm(ModularComponentTemplateForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'type', 'color', 'positions', 'description'),
|
FieldSet(
|
||||||
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'color', 'positions', 'description',
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -1055,7 +1080,13 @@ class RearPortTemplateForm(ModularComponentTemplateForm):
|
|||||||
|
|
||||||
class ModuleBayTemplateForm(ModularComponentTemplateForm):
|
class ModuleBayTemplateForm(ModularComponentTemplateForm):
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'position', 'description'),
|
FieldSet(
|
||||||
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'position', 'description',
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
from dcim.models import *
|
from dcim.models import *
|
||||||
from netbox.forms import NetBoxModelForm
|
from netbox.forms import NetBoxModelForm
|
||||||
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, ExpandableNameField
|
from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField, ExpandableNameField
|
||||||
from utilities.forms.rendering import FieldSet
|
from utilities.forms.rendering import FieldSet, TabbedGroups
|
||||||
from utilities.forms.widgets import APISelect
|
from utilities.forms.widgets import APISelect
|
||||||
from . import model_forms
|
from . import model_forms
|
||||||
|
|
||||||
@ -118,7 +118,13 @@ class FrontPortTemplateCreateForm(ComponentCreateForm, model_forms.FrontPortTemp
|
|||||||
|
|
||||||
# Override fieldsets from FrontPortTemplateForm to omit rear_port_position
|
# Override fieldsets from FrontPortTemplateForm to omit rear_port_position
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
FieldSet('device_type', 'module_type', 'name', 'label', 'type', 'color', 'rear_port', 'description'),
|
FieldSet(
|
||||||
|
TabbedGroups(
|
||||||
|
FieldSet('device_type', name=_('Device Type')),
|
||||||
|
FieldSet('module_type', name=_('Module Type')),
|
||||||
|
),
|
||||||
|
'name', 'label', 'type', 'color', 'rear_port', 'description',
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta(model_forms.FrontPortTemplateForm.Meta):
|
class Meta(model_forms.FrontPortTemplateForm.Meta):
|
||||||
|
Loading…
Reference in New Issue
Block a user