mirror of
https://github.com/netbox-community/netbox.git
synced 2026-04-23 01:08:45 +02:00
Refactor SplitMultiSelectWidget to use class attributes for widget classes
This commit is contained in:
@@ -151,14 +151,16 @@ class SplitMultiSelectWidget(forms.MultiWidget):
|
|||||||
be enabled only if the order of the selected choices is significant.
|
be enabled only if the order of the selected choices is significant.
|
||||||
"""
|
"""
|
||||||
template_name = 'widgets/splitmultiselect.html'
|
template_name = 'widgets/splitmultiselect.html'
|
||||||
|
available_widget_class = AvailableOptions
|
||||||
|
selected_widget_class = SelectedOptions
|
||||||
|
|
||||||
def __init__(self, choices, attrs=None, ordering=False):
|
def __init__(self, choices, attrs=None, ordering=False):
|
||||||
widgets = [
|
widgets = [
|
||||||
AvailableOptions(
|
self.available_widget_class(
|
||||||
attrs={'size': 8},
|
attrs={'size': 8},
|
||||||
choices=choices
|
choices=choices
|
||||||
),
|
),
|
||||||
SelectedOptions(
|
self.selected_widget_class(
|
||||||
attrs={'size': 8, 'class': 'select-all'},
|
attrs={'size': 8, 'class': 'select-all'},
|
||||||
choices=choices
|
choices=choices
|
||||||
),
|
),
|
||||||
@@ -220,20 +222,8 @@ class ObjectTypeSplitMultiSelectWidget(SplitMultiSelectWidget):
|
|||||||
SplitMultiSelectWidget that adds data-model-key attributes to options.
|
SplitMultiSelectWidget that adds data-model-key attributes to options.
|
||||||
Used by ObjectPermissionForm to enable JS show/hide of custom actions.
|
Used by ObjectPermissionForm to enable JS show/hide of custom actions.
|
||||||
"""
|
"""
|
||||||
|
available_widget_class = ObjectTypeAvailableOptions
|
||||||
def __init__(self, choices, attrs=None, ordering=False):
|
selected_widget_class = ObjectTypeSelectedOptions
|
||||||
widgets = [
|
|
||||||
ObjectTypeAvailableOptions(
|
|
||||||
attrs={'size': 8},
|
|
||||||
choices=choices
|
|
||||||
),
|
|
||||||
ObjectTypeSelectedOptions(
|
|
||||||
attrs={'size': 8, 'class': 'select-all'},
|
|
||||||
choices=choices
|
|
||||||
),
|
|
||||||
]
|
|
||||||
forms.MultiWidget.__init__(self, widgets, attrs)
|
|
||||||
self.ordering = ordering
|
|
||||||
|
|
||||||
def set_model_key_map(self, pk_to_model_key):
|
def set_model_key_map(self, pk_to_model_key):
|
||||||
for widget in self.widgets:
|
for widget in self.widgets:
|
||||||
|
|||||||
Reference in New Issue
Block a user