Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions netbox/extras/scripts.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class ScriptVariable:
"""
form_field = forms.CharField

def __init__(self, label='', description='', default=None, required=True):
def __init__(self, label='', description='', default=None, required=True, widget=None):

# Initialize field attributes
if not hasattr(self, 'field_attrs'):
Expand All @@ -59,6 +59,8 @@ def __init__(self, label='', description='', default=None, required=True):
self.field_attrs['help_text'] = description
if default:
self.field_attrs['initial'] = default
if widget:
self.field_attrs['widget'] = widget
self.field_attrs['required'] = required

# Initialize the list of optional validators if none have already been defined
Expand All @@ -71,7 +73,10 @@ def as_field(self):
"""
form_field = self.form_field(**self.field_attrs)
if not isinstance(form_field.widget, forms.CheckboxInput):
form_field.widget.attrs['class'] = 'form-control'
if form_field.widget.attrs and 'class' in form_field.widget.attrs.keys():
form_field.widget.attrs['class'] += ' form-control'
else:
form_field.widget.attrs['class'] = 'form-control'

return form_field

Expand Down