1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #3581: Introduce commit_default custom script attribute to not commit changes by default

This commit is contained in:
Jeremy Stretch
2019-10-09 15:16:50 -04:00
parent d402b6c3e5
commit 99f7cfcbd3
4 changed files with 15 additions and 2 deletions

View File

@@ -427,7 +427,7 @@ class ScriptForm(BootstrapMixin, forms.Form):
help_text="Commit changes to the database (uncheck for a dry-run)"
)
def __init__(self, vars, *args, **kwargs):
def __init__(self, vars, *args, commit_default=True, **kwargs):
super().__init__(*args, **kwargs)
@@ -435,6 +435,10 @@ class ScriptForm(BootstrapMixin, forms.Form):
for name, var in vars.items():
self.fields[name] = var.as_field()
# Toggle default commit behavior based on Meta option
if not commit_default:
self.fields['_commit'].initial = False
# Move _commit to the end of the form
self.fields.move_to_end('_commit', True)

View File

@@ -243,7 +243,7 @@ class BaseScript:
Return a Django form suitable for populating the context data required to run this Script.
"""
vars = self._get_vars()
form = ScriptForm(vars, data, files)
form = ScriptForm(vars, data, files, commit_default=getattr(self.Meta, 'commit_default', True))
return form