summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ogcp/templates/commands.html44
-rw-r--r--ogcp/templates/macros.html19
-rw-r--r--ogcp/templates/nav.html2
-rw-r--r--ogcp/templates/scopes.html47
-rw-r--r--ogcp/views.py6
5 files changed, 73 insertions, 45 deletions
diff --git a/ogcp/templates/commands.html b/ogcp/templates/commands.html
new file mode 100644
index 0000000..27af1b1
--- /dev/null
+++ b/ogcp/templates/commands.html
@@ -0,0 +1,44 @@
+{% extends 'base.html' %}
+{% import "macros.html" as macros %}
+
+{% block nav_scopes %}active{% endblock %}
+
+{% block container %}
+ <form id="scopesForm">
+ <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
+ </form>
+ {{ super() }}
+</form>
+{% endblock %}
+
+{% block sidebar %}
+ {{ macros.print_scopes_tree(scopes["scope"]) }}
+{% endblock %}
+
+{% block commands %}
+ <input class="btn btn-light" type="submit" value="{{ _('Power on (WoL)') }}"
+ form="scopesForm" formaction="{{ url_for('action_wol') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Power off') }}"
+ form="scopesForm" formaction="{{ url_for('action_poweroff') }}" formmethod="post">
+ <input class="btn btn-light" type="submit" value="{{ _('Reboot') }}"
+ form="scopesForm" formaction="{{ url_for('action_reboot') }}" formmethod="post">
+ <input class="btn btn-light" type="submit" value="{{ _('Refresh') }}"
+ form="scopesForm" formaction="{{ url_for('action_refresh') }}" formmethod="post">
+ <input class="btn btn-light" type="submit" value="{{ _('Hardware') }}"
+ form="scopesForm" formaction="{{ url_for('action_hardware') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Software') }}"
+ form="scopesForm" formaction="{{ url_for('action_software') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Start session') }}"
+ form="scopesForm" formaction="{{ url_for('action_session') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Restore Image') }}"
+ form="scopesForm" formaction="{{ url_for('action_image_restore') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Partition & Format') }}"
+ form="scopesForm" formaction="{{ url_for('action_setup_show') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Client details') }}"
+ form="scopesForm" formaction="{{ url_for('action_client_info') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Create image') }}"
+ form="scopesForm" formaction="{{ url_for('action_image_create') }}" formmethod="get">
+ <input class="btn btn-light" type="submit" value="{{ _('Set boot mode') }}"
+ form="scopesForm" formaction="{{ url_for('action_mode') }}" formmethod="get">
+{% endblock %}
+
diff --git a/ogcp/templates/macros.html b/ogcp/templates/macros.html
new file mode 100644
index 0000000..d9d2997
--- /dev/null
+++ b/ogcp/templates/macros.html
@@ -0,0 +1,19 @@
+{% macro print_scopes_tree(scopes) -%}
+
+ <ul class="list-group list-group-flush">
+ {% for scope in scopes %}
+ <li class="list-group-item state--{{ scope['state'] | lower }}">
+ <input class="form-check-input" type="checkbox" form="scopesForm"
+ value="{{ " ".join(scope["ip"]) }}"
+ name="{{ scope["name"] }}_{{ scope["id"] }}">
+ {{ scope["name"] }}
+ {% if "state" in scope %}
+ -- STATE: {{ scope["state"] }}
+ {% endif %}
+ {{ print_scopes_tree(scope["scope"]) }}
+ </li>
+ {% endfor %}
+ </ul>
+
+{% endmacro %}
+
diff --git a/ogcp/templates/nav.html b/ogcp/templates/nav.html
index f2ca3b5..dc40207 100644
--- a/ogcp/templates/nav.html
+++ b/ogcp/templates/nav.html
@@ -14,7 +14,7 @@
<a class="nav-link" href="{{ url_for('scopes') }}">{{ _('Scopes') }}</a>
</li>
<li class="nav-item {% if request.endpoint == "commands" %}active{% endif %}">
- <a class="nav-link" href="#">{{ _('Commands') }}</a>
+ <a class="nav-link" href="{{ url_for('commands') }}">{{ _('Commands') }}</a>
</li>
<li class="nav-item {% if request.endpoint == "images" %}active{% endif %}">
<a class="nav-link" href="#">{{ _('Images') }}</a>
diff --git a/ogcp/templates/scopes.html b/ogcp/templates/scopes.html
index 00f6883..1d931bb 100644
--- a/ogcp/templates/scopes.html
+++ b/ogcp/templates/scopes.html
@@ -1,24 +1,7 @@
{% extends 'base.html' %}
-{% block nav_scopes %}active{% endblock %}
-
-{% macro print_scopes_tree(scopes) -%}
+{% import "macros.html" as macros %}
- <ul class="list-group list-group-flush">
- {% for scope in scopes %}
- <li class="list-group-item state--{{ scope['state'] | lower }}">
- <input class="form-check-input" type="checkbox" form="scopesForm"
- value="{{ " ".join(scope["ip"]) }}"
- name="{{ scope["name"] }}_{{ scope["id"] }}">
- {{ scope["name"] }}
- {% if "state" in scope %}
- -- STATE: {{ scope["state"] }}
- {% endif %}
- {{ print_scopes_tree(scope["scope"]) }}
- </li>
- {% endfor %}
- </ul>
-
-{% endmacro %}
+{% block nav_scopes %}active{% endblock %}
{% block container %}
<form id="scopesForm">
@@ -29,36 +12,12 @@
{% endblock %}
{% block sidebar %}
- {{ print_scopes_tree(scopes["scope"]) }}
+ {{ macros.print_scopes_tree(scopes["scope"]) }}
{% endblock %}
{% block commands %}
- <input class="btn btn-light" type="submit" value="{{ _('Power on (WoL)') }}"
- form="scopesForm" formaction="{{ url_for('action_wol') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Power off') }}"
- form="scopesForm" formaction="{{ url_for('action_poweroff') }}" formmethod="post">
- <input class="btn btn-light" type="submit" value="{{ _('Reboot') }}"
- form="scopesForm" formaction="{{ url_for('action_reboot') }}" formmethod="post">
- <input class="btn btn-light" type="submit" value="{{ _('Refresh') }}"
- form="scopesForm" formaction="{{ url_for('action_refresh') }}" formmethod="post">
- <input class="btn btn-light" type="submit" value="{{ _('Hardware') }}"
- form="scopesForm" formaction="{{ url_for('action_hardware') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Software') }}"
- form="scopesForm" formaction="{{ url_for('action_software') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Start session') }}"
- form="scopesForm" formaction="{{ url_for('action_session') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Restore Image') }}"
- form="scopesForm" formaction="{{ url_for('action_image_restore') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Partition & Format') }}"
- form="scopesForm" formaction="{{ url_for('action_setup_show') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Client details') }}"
- form="scopesForm" formaction="{{ url_for('action_client_info') }}" formmethod="get">
<input class="btn btn-light" type="submit" value="{{ _('Add client') }}"
form="scopesForm" formaction="{{ url_for('action_client_add') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Create image') }}"
- form="scopesForm" formaction="{{ url_for('action_image_create') }}" formmethod="get">
- <input class="btn btn-light" type="submit" value="{{ _('Set boot mode') }}"
- form="scopesForm" formaction="{{ url_for('action_mode') }}" formmethod="get">
<input class="btn btn-light" type="submit" value="{{ _('Add room') }}"
form="scopesForm" formaction="{{ url_for('action_room_add') }}" formmethod="get">
<input class="btn btn-light" type="submit" value="{{ _('Delete room') }}"
diff --git a/ogcp/views.py b/ogcp/views.py
index bb9eaeb..3e7c4e4 100644
--- a/ogcp/views.py
+++ b/ogcp/views.py
@@ -711,3 +711,9 @@ def action_room_delete():
for room in rooms]
form.room.choices = list(rooms)
return render_template('actions/delete_room.html', form=form)
+
+@app.route('/commands/', methods=['GET'])
+@login_required
+def commands():
+ scopes, clients = get_scopes()
+ return render_template('commands.html', scopes=scopes, clients=clients)