aboutsummaryrefslogtreecommitdiffstats
path: root/lib/srtgui/templates/manage-jobs-toastertable.html
diff options
context:
space:
mode:
Diffstat (limited to 'lib/srtgui/templates/manage-jobs-toastertable.html')
-rwxr-xr-xlib/srtgui/templates/manage-jobs-toastertable.html126
1 files changed, 126 insertions, 0 deletions
diff --git a/lib/srtgui/templates/manage-jobs-toastertable.html b/lib/srtgui/templates/manage-jobs-toastertable.html
new file mode 100755
index 00000000..34e89c57
--- /dev/null
+++ b/lib/srtgui/templates/manage-jobs-toastertable.html
@@ -0,0 +1,126 @@
+{% extends 'base.html' %}
+{% load static %}
+
+{% block extraheadcontent %}
+ <link rel="stylesheet" href="{% static 'css/jquery-ui.min.css' %}" type='text/css'>
+ <link rel="stylesheet" href="{% static 'css/jquery-ui.structure.min.css' %}" type='text/css'>
+ <link rel="stylesheet" href="{% static 'css/jquery-ui.theme.min.css' %}" type='text/css'>
+ <script src="{% static 'js/jquery-ui.min.js' %}">
+ </script>
+{% endblock %}
+
+{% block title %} Manage Jobs {% endblock %}
+
+{% block pagecontent %}
+
+<div class="row">
+ <!-- Breadcrumbs -->
+ <div class="col-md-12">
+ <ul class="breadcrumb" id="breadcrumb">
+ <li><a href="{% url 'landing' %}">Home</a></li><span class="divider">&rarr;</span>
+ <li><a href="{% url 'manage' %}">Management</a></li><span class="divider">&rarr;</span>
+ <li><a href="{% url 'maintenance' %}">Maintenance</a></li><span class="divider">&rarr;</span>
+ <li>Manage Jobs</a>
+ </ul>
+ </div>
+</div>
+
+<p><b><big>Actions: </big></b>
+<a class="btn btn-default navbar-btn " id="submit-clearjobs" href="">Clear Jobs</a>
+
+<div class="row">
+ <div class="col-md-12">
+ <div class="page-header">
+ <h1 class="top-air" data-role="page-title"></h1>
+ </div>
+
+ {% url '' as xhr_table_url %}
+ {% include 'toastertable.html' %}
+ </div>
+</div>
+
+<!-- Javascript support -->
+<script type="text/javascript">
+ $(document).ready(function () {
+ var tableElt = $("#{{table_name}}");
+ var titleElt = $("[data-role='page-title']");
+
+ tableElt.on("table-done", function (e, total, tableParams) {
+ var title = "Manage Jobs ("+total+")";
+
+ if (tableParams.search || tableParams.filter) {
+ if (total === 0) {
+ title = "No Projects found";
+ }
+ else if (total > 0) {
+ title = total + " Job" + (total > 1 ? "s" : '') + " found";
+ }
+ }
+
+ /* Add handler into the Toaster Table context */
+ $('.trash-job').click(function() {
+ var result = confirm("Are you sure you want to remove Job '" + $(this).attr('x-data').split('|')[0] + "'?");
+ if (result){
+ postCommitAjaxRequest({
+ "action" : 'submit-trash-job',
+ "record_id" : $(this).attr('x-data').split('|')[1],
+ });
+ }
+ });
+
+ titleElt.text(title);
+ });
+
+ function onCommitAjaxSuccess(data, textstatus) {
+ if (window.console && window.console.log) {
+ console.log("XHR returned:", data, "(" + textstatus + ")");
+ } else {
+ alert("NO CONSOLE:\n");
+ return;
+ }
+ if (data.error != "ok") {
+ alert("error on request:\n" + data.error);
+ return;
+ }
+ // reload the page with the updated tables
+ location.reload(true);
+ }
+
+ function onCommitAjaxError(jqXHR, textstatus, error) {
+ console.log("ERROR:"+error+"|"+textstatus);
+ alert("XHR errored1:\n" + error + "\n(" + textstatus + ")");
+ }
+
+ /* ensure cookie exists {% csrf_token %} */
+ function postCommitAjaxRequest(reqdata,url) {
+ url = url || "{% url 'xhr_job_post' %}";
+ var ajax = $.ajax({
+ type:"POST",
+ data: reqdata,
+ url:url,
+ headers: { 'X-CSRFToken': $.cookie("csrftoken")},
+ success: onCommitAjaxSuccess,
+ error: onCommitAjaxError,
+ });
+ }
+
+ $('#project_refresh').click(function(){
+ postCommitAjaxRequest({
+ "action" : 'submit-refresh-projects',
+ "audit_id" : '{% if hb_audit %}{{hb_audit.id}}{% endif %}',
+ },"");
+ });
+
+ $('#submit-clearjobs').click(function(){
+ var result = confirm("Are you sure you want to remove all jobs?");
+ if (result){
+ postCommitAjaxRequest({
+ "action" : 'submit-clearjobs',
+ },"");
+ }
+ });
+
+ });
+
+ </script>
+{% endblock %}