summaryrefslogtreecommitdiffstats
path: root/ogcp/templates
diff options
context:
space:
mode:
authorRoberto Hueso Gómez <rhueso@soleta.eu>2020-09-04 11:09:44 +0200
committerRoberto Hueso Gómez <rhueso@soleta.eu>2020-09-04 11:09:44 +0200
commitd5eaf699a7dd5215403b626762b68cd09bc846b5 (patch)
tree53cd84e4cde844350a55278ade8b2daade44e40e /ogcp/templates
parent73a6e07b83b76f9677494502bc6e32a7bf48cfd7 (diff)
Add WoL action
This action can be applied on one or multiple scopes. This implementation use Flask-WTF as a way to build and valdiate forms. As a side effect, this adds CSRF protection to all forms.
Diffstat (limited to 'ogcp/templates')
-rw-r--r--ogcp/templates/actions/wol.html11
-rw-r--r--ogcp/templates/scopes.html9
2 files changed, 17 insertions, 3 deletions
diff --git a/ogcp/templates/actions/wol.html b/ogcp/templates/actions/wol.html
new file mode 100644
index 0000000..27bb3d3
--- /dev/null
+++ b/ogcp/templates/actions/wol.html
@@ -0,0 +1,11 @@
+{% extends 'base.html' %}
+{% import "bootstrap/wtf.html" as wtf %}
+
+{% block content %}
+
+{{ wtf.quick_form(form,
+ action=url_for('action_wol'),
+ method='post',
+ button_map={'submit': 'primary'}) }}
+
+{% endblock %}
diff --git a/ogcp/templates/scopes.html b/ogcp/templates/scopes.html
index 4603f04..4b9ff28 100644
--- a/ogcp/templates/scopes.html
+++ b/ogcp/templates/scopes.html
@@ -21,7 +21,8 @@
{% block content %}
-<form method="post">
+<form>
+ <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
{{ print_scopes_tree(scopes["scope"]) }}
<div class="dropdown">
@@ -31,10 +32,12 @@
{{ _('Actions') }}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
+ <input class="dropdown-item" type="submit" value="{{ _('Run') }}"
+ formaction="{{ url_for('action_wol') }}" formmethod="get">
<input class="dropdown-item" type="submit" value="{{ _('Poweroff') }}"
- formaction="{{ url_for('action_poweroff') }}">
+ formaction="{{ url_for('action_poweroff') }}" formmethod="post">
<input class="dropdown-item" type="submit" value="{{ _('Reboot') }}"
- formaction="{{ url_for('action_reboot') }}">
+ formaction="{{ url_for('action_reboot') }}" formmethod="post">
</div>
</div>
</form>