diff options
Diffstat (limited to 'lib/srtgui/templates/manage-jobs-toastertable.html')
-rwxr-xr-x | lib/srtgui/templates/manage-jobs-toastertable.html | 126 |
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">→</span> + <li><a href="{% url 'manage' %}">Management</a></li><span class="divider">→</span> + <li><a href="{% url 'maintenance' %}">Maintenance</a></li><span class="divider">→</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 %} |