Skip to content

Commit 75c0eae

Browse files
committed
Fixed issue realted to running scripts with no task_queues set
1 parent 6857039 commit 75c0eae

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

netbox_script_manager/scripts.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def scheduling_enabled(self):
9898

9999
@classproperty
100100
def task_queues(self):
101-
return getattr(self.Meta, "task_queues", None)
101+
return getattr(self.Meta, "task_queues", [])
102102

103103
@classmethod
104104
def _get_vars(cls):
@@ -127,7 +127,7 @@ def run(self, data, commit):
127127

128128
# Form rendering
129129

130-
def get_fieldsets(self):
130+
def get_fieldsets(self, instance=None):
131131
fieldsets = []
132132

133133
if self.fieldsets:
@@ -140,7 +140,7 @@ def get_fieldsets(self):
140140
exec_parameters = ["_schedule_at", "_interval", "_task_queue", "_commit"] if self.scheduling_enabled else ["_task_queue", "_commit"]
141141

142142
# Remove task queue field if there's no queues defined
143-
if not self.task_queues:
143+
if instance and not instance.task_queues:
144144
exec_parameters.remove("_task_queue")
145145

146146
fieldsets.append(("Script Execution Parameters", exec_parameters))

netbox_script_manager/templates/netbox_script_manager/scriptinstance.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ <h2 class="accordion-header" id="headingTwo">
3939
{% csrf_token %}
4040
<div class="field-group my-4">
4141
{# Render grouped fields according to declared fieldsets #}
42-
{% for group, fields in object.script.get_fieldsets %}
42+
{% for group, fields in fieldsets %}
4343
{% if fields %}
4444
<div class="field-group mb-5">
4545
<div class="row mb-2">

netbox_script_manager/views.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ def get_extra_context(self, request, instance):
3131
except Exception as e:
3232
return {"exception": e}
3333

34-
return {"form": script.as_form(initial=normalize_querydict(request.GET), script_instance=instance)}
34+
fieldsets = script.get_fieldsets(instance=instance)
35+
return {"form": script.as_form(initial=normalize_querydict(request.GET), script_instance=instance), "fieldsets": fieldsets}
3536

3637
def post(self, request, pk):
3738
instance = self.get_object(pk=pk)
3839
form = instance.script.as_form(request.POST, script_instance=instance)
40+
fieldsets = instance.script.get_fieldsets(instance=instance)
3941

4042
if form.is_valid():
4143
schedule_at = form.cleaned_data.pop("_schedule_at")
@@ -91,7 +93,7 @@ def post(self, request, pk):
9193

9294
return redirect("plugins:netbox_script_manager:scriptexecution", pk=script_execution.pk)
9395

94-
return render(request, "netbox_script_manager/scriptinstance.html", {"form": form, "object": instance})
96+
return render(request, "netbox_script_manager/scriptinstance.html", {"form": form, "object": instance, "fieldsets": fieldsets})
9597

9698

9799
class ScriptInstanceListView(generic.ObjectListView):

0 commit comments

Comments
 (0)