Explorar el Código

Fix notice when form does not require user input

Jeremy Stretch hace 6 años
padre
commit
9c079ead4c
Se han modificado 2 ficheros con 13 adiciones y 4 borrados
  1. 7 0
      netbox/extras/forms.py
  2. 6 4
      netbox/templates/extras/script.html

+ 7 - 0
netbox/extras/forms.py

@@ -404,3 +404,10 @@ class ScriptForm(BootstrapMixin, forms.Form):
 
         # Move _commit to the end of the form
         self.fields.move_to_end('_commit', True)
+
+    @property
+    def requires_input(self):
+        """
+        A boolean indicating whether the form requires user input (ignore the _commit field).
+        """
+        return bool(len(self.fields) > 1)

+ 6 - 4
netbox/templates/extras/script.html

@@ -74,11 +74,13 @@
                     {% endif %}
                     <form action="" method="post" class="form form-horizontal">
                     {% csrf_token %}
-                        {% if form %}
-                            {% render_form form %}
-                        {% else %}
-                            <p>This script does not require any input to run.</p>
+                        {% if not form.requires_input %}
+                            <div class="alert alert-info">
+                                <i class="fa fa-exclamation-circle"></i>
+                                This script does not require any input to run.
+                            </div>
                         {% endif %}
+                        {% render_form form %}
                         <div class="pull-right">
                             <button type="submit" name="_run" class="btn btn-primary"{% if not perms.extras.run_script %} disabled="disabled"{% endif %}><i class="fa fa-play"></i> Run Script</button>
                             <a href="{% url 'extras:script_list' %}" class="btn btn-default">Cancel</a>