Update templates

This commit is contained in:
Romain Neutron
2013-09-27 12:19:13 +02:00
parent e2fe34a360
commit 865e89bf64
6 changed files with 238 additions and 607 deletions

View File

@@ -18,7 +18,10 @@
<script type="text/javascript" src="/assets/tinymce/tinymce.js"></script>
<script type="text/javascript" src="{{ path('minifier', { 'g' : 'admin' }) }}"></script>
<script type="text/javascript">
var p4 = {users:{sel:[]}};
var p4 = p4 || {};
p4.users = {
sel:[]
};
var bodySize = {x:0,y:0};
var language = {
@@ -104,17 +107,21 @@
var dest = link.attr('href');
if(dest && dest.indexOf('#') !== 0) {
$('#right-ajax').empty().addClass('loading').parent().show();
$.get(dest, function(data) {
enableFormsCallback(data);
});
loadRightAjax(dest);
return false;
}
});
}
function loadRightAjax(url)
{
$('#right-ajax').empty().addClass('loading').parent().show();
$.get(url, function(data) {
enableFormsCallback(data);
});
}
function activeTree(click)
{
$('#FNDR').treeview({
@@ -126,11 +133,8 @@
var dest = $(this).attr('href');
$(this).bind('click',function(){
$('#right-ajax').empty().addClass('loading').parent().show();
$.get(dest, function(data) {
enableFormsCallback(data);
});
loadRightAjax(dest);
$('#tree .selected').removeClass('selected');
$(this).parent().addClass('selected');

View File

@@ -0,0 +1,205 @@
<div class="page-header">
<h1>{% trans 'admin::tasks: planificateur de taches' %}
<small style="font-size:16px;">
{% trans 'Last update at' %} <span id="pingTime"></span>
</small>
</h1>
</div>
<form id="taskManagerForm" method="get" name="taskManager" action="{{ path('admin_tasks_list') }}"></form>
<form id="createTask" method="post" name="createTask" action="{{ path('admin_tasks_task_create') }}">
<input type="hidden" name="tcl" value="" />
<input type="hidden" name="view" value="GRAPHIC" />
</form>
<table id="task-manager" class="admintable task_manager" cellpadding="0" cellSpacing="0">
<thead>
<tr>
<th></th>
<th style="text-align:center; width:40px;">ID</th>
<th style="text-align:center; width:30px;">Informations</th>
<th style="text-align:center; width:80px;">{% trans 'admin::tasks: statut de la tache' %}</th>
<th style="text-align:center; width:60px;">{% trans 'admin::tasks: process_id de la tache' %}</th>
<th style="width:auto;">{% trans 'admin::tasks: nom de la tache' %}</th>
</tr>
</thead>
<tbody>
<tr id="TR_SCHED" class="sched even">
<td>
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="schedMenuItem" id="schedulerStart"><a href="#">start</a></li>
<li class="schedMenuItem" id="schedulerStop"><a href="#">stop</a></li>
<li class="schedMenuItem" id="schedulerLog"><a href="#">log</a></li>
</ul>
</div>
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td style="text-align:center" id="STATUS_SCHED"></td>
<td id="PID_SCHED" style="text-align:center;">&nbsp;</td>
<td style="font-weight:900" class="taskname">TaskManager</td>
</tr>
{% for task in tasks %}
<tr id="task_{{ task.getID() }}" class="task {% if loop.index is odd %}odd{% else %}even{% endif %}">
<td>
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="taskMenuItem" id="taskEdit_{{ task.getID() }}"><a href="#">edit</a></li>
<li class="taskMenuItem" id="taskStart_{{ task.getID() }}"><a href="#">start</a></li>
<li class="taskMenuItem" id="taskStop_{{ task.getID() }}"><a href="#">stop</a></li>
<li class="taskMenuItem" id="taskDelete_{{ task.getID() }}"><a href="#">delete</a></li>
<li class="taskMenuItem" id="taskLog_{{ task.getID() }}"><a href="#">log</a></li>
</ul>
</div>
</td>
<td style="text-align:center; font-weight:900">{{ task.getID() }}</td>
<td style="text-align:center" class="information"></td>
<td style="text-align:center" class="status">{{ task.getStatus() }}</td>
<td style="text-align:center" class="pid"></td>
<td class="taskname">{{ task.getName() }} [{{ task.getName() }}]</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="7">
<select id="newTaskMenu" style="margin:20px 0;">
<option value="">{% trans 'admin::tasks: Nouvelle tache' %}...</option>
{% for job in available_jobs %}
<option value="{{ job.getClassname() }}">{{ job.getName() }}</option>
{% endfor %}
</select>
</td>
</tr>
</tfoot>
</table>
<script type="text/javascript">
$(document).ready(function(){
$(".schedMenuItem").bind("click", function() {
var action = $(this).attr("id");
switch(action)
{
case "schedulerStart":
$.ajax({
url: "../admin/task-manager/scheduler/start",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
break;
break;
case "schedulerStop":
$.ajax({
url: "../admin/task-manager/scheduler/stop",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
break;
case "schedulerLog":
window.open("../admin/task-manager/scheduler/log", "scheduler_log");
break;
}
});
$(".taskMenuItem").bind("click", function() {
var action = $(this).attr("id").split('_');
switch(action[0])
{
case "taskEdit":
var a = "../admin/task-manager/task/"+action[1]+"";
$("#taskManagerForm").attr("action", a);
$("#taskManagerForm").submit();
break;
case "taskStart":
// first reset the crash counter, then set to 'tostart'
$.ajax({
url: "../admin/task-manager/task/"+action[1]+"/resetcrashcounter",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
$.ajax({
url: "../admin/task-manager/task/"+action[1]+"/tostart",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
}
});
break;
case "taskStop":
$.ajax({
url: "../admin/task-manager/task/"+action[1]+"/tostop",
type:"GET",
dataType:"json",
data : {signal:15},
success: function(data)
{
}
});
break;
case "taskDelete":
if(confirm("{% trans 'admin::tasks: supprimer la tache ?' %}"))
{
var a = "../admin/task-manager/task/"+action[1]+"/delete";
$("#taskManagerForm").attr("action", a);
$("#taskManagerForm").submit();
}
break;
case "taskLog":
window.open("../admin/task-manager/task/"+action[1]+"/log", "task"+action[1]+"_log");
break;
}
});
$("#newTaskMenu").bind("change", function() {
var task_class = $(this).children("option:selected").attr("value");
$("#createTask INPUT[name=\"tcl\"]").attr("value", task_class);
$("#createTask").submit();
$(this).children("option:first").attr("selected", "selected");
});
}
)
</script>

View File

@@ -85,7 +85,7 @@
data["taskid"]={{ task.getId() }};
data["cls"]="RecordMover";
data["xml"] = xml;
$.ajax({ url: "{{ path('admin_tasks_task_facility2', { 'id' : task.getID() }) }}"
$.ajax({ url: "{{ path('admin_tasks_task_facility', { 'task' : task.getID() }) }}"
, data: data
, dataType:'json'
, type:"POST"
@@ -127,7 +127,7 @@
data["taskid"]={{ task.getId() }};
data["cls"]="RecordMover";
data["xml"] = xml;
$.ajax({ url: "{{ path('admin_tasks_task_facility2', { 'id' : task.getID() }) }}"
$.ajax({ url: "{{ path('admin_tasks_task_facility', { 'task' : task.getID() }) }}"
, data: data
, dataType:'json'
, type:"POST"

View File

@@ -2,11 +2,10 @@
{% block css %}{% endblock %}
<div>
<form
name="passwordRenewForm"
name="task-edit"
method="POST"
action="{{ path('admin_tasks_task_save2', {'id' : task.getId()}) }}"
onsubmit="return(false);"
class="form-inline"
action="{{ path('admin_tasks_task_save', {'task' : task.getId()}) }}"
class="form-inline no-ajax"
>
{% if form.vars.errors|length > 0 %}
{{ form_errors(form) }}
@@ -14,7 +13,7 @@
{{ form_rest(form) }}
<a href="{{ path('admin_tasks_list2') }}">{% trans 'Cancel' %}</a>
<a href="{{ path('admin_tasks_list') }}">{% trans 'Cancel' %}</a>
<button type="submit" class="btn btn-success btn-trigger " id="taskSaveButton">
{% trans "Save" %}
</button>
@@ -113,7 +112,7 @@
$("#taskResetCrashCounterButton").click(function()
{
$.ajax({
"url" : "{{ path('admin_tasks_task_reset2', {'id' : task.getId()}) }}",
"url" : "{{ path('admin_tasks_task_reset', {'task' : task.getId()}) }}",
"dataType" : "json",
"type" : "POST",
success:function(data) {
@@ -129,7 +128,7 @@
function xmlFromForm(callback) {
var data = $("#graphicForm").serializeJSON();
data["xml"] = $("#txtareaxml").val();
$.ajax({ url: "{{ path('admin_tasks_xml_from_form', {'id' : task.getId()}) }}"
$.ajax({ url: "{{ path('admin_tasks_xml_from_form', {'task' : task.getId()}) }}"
, data: data
, dataType:'text'
, type:"POST"
@@ -146,26 +145,25 @@
});
}
$("#taskSaveButton").click(function()
$("form[name='task-edit']").on('submit', function()
{
xmlFromForm(function () {
$.ajax({ url: "../admin/task-manager2/task/{{task.getID()}}/save/"
, data: {
title:$("#taskTaskname").val(),
active:!!$("#taskTaskActive").attr("checked"),
xml:data
}
xmlFromForm(function (data) {
$("form[name='task-edit'] input[name='settings']").val(data);
formData = $("form[name='task-edit']").serializeArray();
$.ajax({
url: "{{ path('admin_tasks_task_save', { 'task' : task.getID() }) }}"
, data: formData
, dataType:'json'
, type:"POST"
, async:false
, success:function(data) {
if (data.success) {
$("#taskFormByeBye").submit();
loadRightAjax("{{ path('admin_tasks_list') }}");
} else {
if (window.console) {
console.log(data.message);
}
alert("{% trans %}An error occured{% endtrans %}");
alert("{% trans %}An error occured{% endtrans %} "+data.message);
}
}
, error:function(jqXHR, textStatus, errorThrown) {
@@ -173,6 +171,8 @@
}
});
});
return false;
});
});
</script>

View File

@@ -1,226 +0,0 @@
<div id="taskBody">
<!-- _____________ head added part of graphic interface of '{{task.getName()}}' _____________ -->
{{task.printInterfaceHEAD()}}
<!-- ______________ end of head part of graphic interface of '{{task.getName()}}' ______________ -->
<!-- _____________ javascript of graphic interface of '{{task.getName()}}' _____________ -->
{{task.printInterfaceJS()}}
<!-- _____________ end javascript of graphic interface of '{{task.getName()}}' _____________ -->
<div>
{{task.getName()}} <span id="taskid">id : {{task.getID()}}</span>
<form name="__ftask" onsubmit="return(false);" method="post" class="form-inline">
<label for="taskTaskname">{% trans 'admin::tasks: nom de la tache' %}</label>
<input type="text" id="taskTaskname" value="{{task.getTitle()}}" onchange="setDirty();" />
<label for="taskTaskActive" class="checkbox">
<input type="checkbox" id="taskTaskActive" {% if task.isActive() %}checked="checked"{% endif %} onchange="setDirty();" />
{% trans 'admin::tasks: lancer au demarrage du scheduler' %}
</label>
</form>
<div id="idCrashLine" style="display:{% if task.getCrashCounter() == 0 %}none{% endif %}">
{% trans 'admin::tasks: Nombre de crashes : ' %} {{task.getCrashCounter()}}
<button class="btn btn-warning" id="taskResetCrashCounterButton">
{% trans 'admin::tasks: reinitialiser el compteur de crashes' %}
</button>
</div>
</div>
<div id="taskTabs">
<ul>
<li><a href="#taskXmlTab">{% trans 'boutton::vue xml' %}</a></li>
<li><a href="#taskGuiTab">{% trans 'boutton::vue graphique' %}</a></li>
</ul>
<!-- ______________ graphic interface '{{task.getName()}}' ___________________ -->
<div id="taskGuiTab" >
{{task.getInterfaceHTML()|raw}}
</div>
<!-- _____________ end graphic interface '{{task.getName()}}' _________________ -->
<!-- _____________ xml interface _____________ -->
<div id="taskXmlTab">
<form onsubmit="return(false);" name="fxml" method="post">
<textarea nowrap id="txtareaxml" style="white-space:pre; width:100%; height:250px" name="txtareaxml" >{{task.getSettings()}}</textarea>
</form>
</div>
<!-- ___________ end xml interface ___________ -->
</div>
<!-- ___________ form to go back on list ___________ -->
<form id="taskFormByeBye" action="./task-manager/tasks/" method="get">
</form>
<!-- __________ end form to go back on list __________ -->
<button class="btn" id="taskCancelButton">{% trans 'boutton::annuler' %}</button>
<button class="btn btn-warning" id="taskSaveButton">{% trans 'boutton::valider' %}</button>
<br/>
<br/>
</div>
<script type="text/javascript">
function setDirty()
{
// jsTaskObj.SettingsIsDirty = true;
}
(function( $ ){
$.fn.serializeJSON=function() {
var json = {};
jQuery.map($(this).serializeArray(), function(n, i){
json[n['name']] = n['value'];
});
return json;
};
})( jQuery );
$(document).ready(function(){
$("#taskTabs").tabs({
create: function(event, ui) {
{% if task.getInterfaceHTML() is empty %}
$("#taskTabs").tabs({ disabled: [1], active: 0 });
{% else %}
$("#taskTabs").tabs({ active: 1 });
{% endif %}
}
,
beforeActivate: function(event, ui) {
switch($(ui.newPanel).attr("id"))
{
{% if task.getInterfaceHTML() is not empty %}
case "taskGuiTab":
var context = { acceptTab: true };
// click on gui tab : fill the gui from xml, then switch to the gui view
$.ajax({ url: "/admin/task-manager/task/checkxml/"
, context:context
, data: {xml:$("#txtareaxml").val()}
, dataType:'text'
, type:"POST"
, async:false
, success:function(data) {
if(typeof(taskFillGraphic_{{task.getClass()}}) === "function")
{
var x = $("#txtareaxml").val();
try
{
taskFillGraphic_{{task.getClass()}}(x);
}
catch(e)
{
alert("{% trans "An error occured" %}");
console.log(e);
context.acceptTab = false;
}
}
}
, error:function(jqXHR, textStatus, errorThrown) {
this.acceptTab = false;
alert("Erreur XML:\n\n" + jqXHR.responseText);
}
});
return context.acceptTab;
break;
{% endif %}
case "taskXmlTab":
// click on xml tab : fill the xml from gui, then switch to the xml view
var data = $("form[name='graphicForm']").serializeJSON();
data["__action"] = "FORM2XML";
data["__xml"] = $("#txtareaxml").val();
$.ajax({ url: "/admin/task-manager/task/{{task.getID()}}/facility/"
, data: data
, dataType:'text'
, type:"POST"
, async:false
, success:function(data) {
$("#txtareaxml").val(data);
}
, error:function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
break;
}
}
});
$("#taskResetCrashCounterButton").click(function()
{
// click on resetCrashCounter button
$.ajax({ url: "/admin/task-manager/task/{{task.getID()}}/resetcrashcounter/"
, data: {}
, dataType:'json'
, type:"GET"
, async:false
, success:function(data) {
if(data)
{
$("#idCrashLine").hide();
}
}
});
});
$("#taskSaveButton").click(function()
{
// click on save button
var data = $("form[name='graphicForm']").serializeJSON();
data["__action"] = "FORM2XML";
data["__xml"] = $("#txtareaxml").val();
$.ajax({ url: "/admin/task-manager/task/{{task.getID()}}/facility/"
, data: data
, dataType:'text'
, type:"POST"
, async:false
, success:function(data) {
$("#txtareaxml").val(data);
$.ajax({ url: "/admin/task-manager/task/{{task.getID()}}/save/"
, data: {
title:$("#taskTaskname").val(),
active:!!$("#taskTaskActive").attr("checked"),
xml:data
}
, dataType:'json'
, type:"POST"
, async:false
, success:function(data) {
if (data.success) {
$("#taskFormByeBye").submit();
} else {
if (window.console) {
console.log(data.message);
}
alert("{% trans %}An error occured{% endtrans %}");
}
}
, error:function(jqXHR, textStatus, errorThrown) {
alert("Erreur XML:\n\n" + jqXHR.responseText);
}
});
}
, error:function(jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
});
$("#taskCancelButton").click(function()
{
// click on cancel button
$("#taskFormByeBye").submit();
});
});
</script>

View File

@@ -1,352 +0,0 @@
<div class="page-header">
<h1>{% trans 'admin::tasks: planificateur de taches' %}
<small style="font-size:16px;">
{% trans 'Last update at' %} <span id="pingTime"></span>
</small>
</h1>
</div>
<form id="taskManagerForm" method="get" name="taskManager" action="{{ path('admin_tasks_list') }}"></form>
<form id="createTask" method="post" name="createTask" action="{{ path('admin_tasks_task_create') }}">
<input type="hidden" name="tcl" value="" />
<input type="hidden" name="view" value="GRAPHIC" />
</form>
<table class="admintable task_manager" cellpadding="0" cellSpacing="0">
<thead>
<tr>
<th></th>
<th style="text-align:center; width:40px;">ID</th>
<th style="text-align:center; width:30px;">!</th>
<th style="text-align:center; width:80px;">{% trans 'admin::tasks: statut de la tache' %}</th>
<th style="text-align:center; width:60px;">{% trans 'admin::tasks: process_id de la tache' %}</th>
<th style="text-align:center; width:120px;">{% trans 'admin::tasks: etat de progression de la tache' %}</th>
<th style="width:auto;">{% trans 'admin::tasks: nom de la tache' %}</th>
</tr>
</thead>
<tbody>
<tr id="TR_SCHED" class="sched even">
<td>
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="schedMenuItem" id="schedulerStart"><a href="#">start</a></li>
<li class="schedMenuItem" id="schedulerStop"><a href="#">stop</a></li>
<li class="schedMenuItem" id="schedulerLog"><a href="#">log</a></li>
</ul>
</div>
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td style="text-align:center" id="STATUS_SCHED"></td>
<td id="PID_SCHED" style="text-align:center;">&nbsp;</td>
<td>&nbsp;</td>
<td style="font-weight:900" class="taskname">TaskManager</td>
</tr>
{% for task in task_manager.getTasks() %}
<tr id="TR_{{ task.getID() }}" class="task {% if loop.index is odd %}odd{% else %}even{% endif %}">
<td>
<div class="btn-group">
<a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li class="taskMenuItem" id="taskEdit_{{ task.getID() }}"><a href="#">{% trans 'Edit' %}</a></li>
<li class="taskMenuItem" id="taskStart_{{ task.getID() }}"><a href="#">{% trans 'Start' %}</a></li>
<li class="taskMenuItem" id="taskStop_{{ task.getID() }}"><a href="#">{% trans 'Stop' %}</a></li>
<li class="taskMenuItem" id="taskDelete_{{ task.getID() }}"><a href="#">{% trans 'Delete' %}</a></li>
<li class="taskMenuItem" id="taskLog_{{ task.getID() }}"><a href="#">{% trans 'Logs' %}</a></li>
</ul>
</div>
</td>
<td style="text-align:center; font-weight:900">{{ task.getID() }}</td>
<td style="text-align:center"><img id="WARNING_{{ task.getID() }}" src="/skins/icons/alert.png" title="" style="display:none;"/></td>
<td style="text-align:center" id="STATUS_{{ task.getID() }}"></td>
<td style="text-align:center" id="PID_{{ task.getID() }}">&nbsp;</td>
<td>
<div style="position:relative; top:0px; left:0px; right:0px;" >
<div id="COMPBOX_{{ task.getID() }}" style="position:absolute; top:1px; left:3px; right:3px; height:5px; background-color:#787878">
<div id="COMP_{{ task.getID() }}" style="position:absolute; top:1px; left:0px; width:0%; height:3px; background-color:#FFFF80">
</div>
</div>
</div>
</td>
<td class="taskname">{{ task.getTitle() }} [{{ task.getName() }}]</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="7">
<select id="newTaskMenu" style="margin:20px 0;">
<option value="">{% trans 'admin::tasks: Nouvelle tache' %}...</option>
{% for t in task_manager.getAvailableTasks() %}
<option value="{{ t.class }}" {% if t.err %}disabled="disabled"{% endif %}>{{ t.name }}</option>
{% endfor %}
</select>
</td>
</tr>
</tfoot>
</table>
<script type="text/javascript">
function pingScheduler(repeatTimeout)
{
if(typeof window.TMTimer == 'number')
{
window.clearTimeout(window.TMTimer);
delete window.TMTimer;
}
// if the page is unloaded, no need to ping nor repeat
if($("#STATUS_SCHED").length == 0)
return;
$.ajax(
{
url:'/admin/task-manager/tasks/',
type:"GET",
dataType:"json",
data:{rnd:Math.random()},
contentType:"application/json; charset=utf-8",
success:function(ret)
{
if(ret.time)
$("#pingTime").empty().append(ret.time);
if(ret.scheduler)
{
if(ret.scheduler.status)
$("#STATUS_SCHED").html(ret.scheduler.status);
else
$("#STATUS_SCHED").html('');
}
if(ret.scheduler && ret.scheduler.pid)
{
$("#PID_SCHED").html(ret.scheduler.pid);
$("#schedulerStart").addClass("disabled");
$("#schedulerStop").removeClass("disabled");
}
else
{
$("#PID_SCHED").html('-');
$("#schedulerStart").removeClass("disabled");
$("#schedulerStop").addClass("disabled");
}
if(ret.tasks)
{
for(id in ret.tasks)
{
if(ret.tasks[id].status)
{
$("#STATUS_"+id).html(ret.tasks[id].status);
}
else
{
$("#STATUS_"+id).html('');
}
if(ret.tasks[id].pid)
{
$("#PID_"+id).html(ret.tasks[id].pid);
$("#taskEdit_"+id).addClass("disabled");
$("#taskStop_"+id).removeClass("disabled");
$("#taskStart_"+id).addClass("disabled");
$("#taskDelete_"+id).addClass("disabled");
}
else
{
$("#PID_"+id).html('-');
$("#taskEdit_"+id).removeClass("disabled");
$("#taskDelete_"+id).removeClass("disabled");
if(ret.tasks[id].status == 'started' || ret.tasks[id].status == 'torestart')
{
$("#taskStop_"+id).removeClass("disabled");
}
else
{
$("#taskStop_"+id).addClass("disabled");
}
if(ret.scheduler && ret.scheduler.pid && !(ret.tasks[id].status == 'started' || ret.tasks[id].status == 'torestart'))
{
$("#taskStart_"+id).removeClass("disabled");
}
else
{
$("#taskStart_"+id).addClass("disabled");
}
}
if(ret.tasks[id].crashed)
{
// $("#WARNING_"+id).show().setAttribute("src", "/skins/icons/alert.png");
$("#WARNING_"+id).show().attr("title", "crashed "+ret.tasks[id].crashed+" times");
}
else
{
$("#WARNING_"+id).hide();
}
if(ret.tasks[id].completed && ret.tasks[id].completed>0 && ret.tasks[id].completed<=100)
{
$("#COMP_"+id).width(ret.tasks[id].completed + "%");
$("#COMPBOX_"+id).show();
}
else
{
$("#COMPBOX_"+id).hide();
$("#COMP_"+id).width('0px');
}
}
}
if(repeatTimeout > 0)
{
window.TMTimer = self.setTimeout(function() {pingScheduler(repeatTimeout);}, 1000*repeatTimeout);
}
}
});
}
$(document).ready(function(){
$(".schedMenuItem").bind("click", function() {
var action = $(this).attr("id");
switch(action)
{
case "schedulerStart":
$.ajax({
url: "/admin/task-manager/scheduler/start",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
break;
break;
case "schedulerStop":
$.ajax({
url: "/admin/task-manager/scheduler/stop",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
break;
case "schedulerLog":
window.open("/admin/task-manager/scheduler/log", "scheduler_log");
break;
}
});
$(".taskMenuItem").bind("click", function() {
if ($(this).hasClass('disabled')) {
return false;
}
var action = $(this).attr("id").split('_');
switch(action[0])
{
case "taskEdit":
var a = "/admin/task-manager/task/"+action[1]+"";
$("#taskManagerForm").attr("action", a);
$("#taskManagerForm").submit();
break;
case "taskStart":
// first reset the crash counter, then set to 'tostart'
$.ajax({
url: "/admin/task-manager/task/"+action[1]+"/resetcrashcounter",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
$.ajax({
url: "/admin/task-manager/task/"+action[1]+"/tostart",
type:"GET",
dataType:"json",
data : {},
success: function(data)
{
}
});
}
});
break;
case "taskStop":
$.ajax({
url: "/admin/task-manager/task/"+action[1]+"/tostop",
type:"GET",
dataType:"json",
data : {signal:15},
success: function(data)
{
}
});
break;
case "taskDelete":
if(confirm("{% trans 'admin::tasks: supprimer la tache ?' %}"))
{
var a = "/admin/task-manager/task/"+action[1]+"/delete";
$("#taskManagerForm").attr("action", a);
$("#taskManagerForm").submit();
}
break;
case "taskLog":
window.open("/admin/task-manager/task/"+action[1]+"/log", "task"+action[1]+"_log");
break;
}
});
$("#newTaskMenu").bind("change", function() {
var task_class = $(this).children("option:selected").attr("value");
console.log(task_class);
if(task_class.substr(0,5) == "task_") // sanity check
{
$("#createTask INPUT[name=\"tcl\"]").attr("value", task_class);
$("#createTask").submit();
}
$(this).children("option:first").attr("selected", "selected");
});
window.TMTimer = self.setTimeout(function() {pingScheduler(2);}, 100); // loop forever every 2 sec
}
)
</script>