Rev 1312 | Rev 1388 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskImpl" %>
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskScheduler" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>
<%
AbstractDao.getCurrentSession().beginTransaction();
List<JobServiceTaskScheduler> schedulledTasks = DaoFactory.getJobServiceTaskSchedulerDaoImpl().findAll();
request.setAttribute("tasks",schedulledTasks);
%>
<script>
function updateStatus()
{
$.getJSON( "<%=request.getContextPath()%>/admin/schedullerTasksJson?service=loadTasks", function( data ) {
var task;
for(var i =0;i<data.length;i++)
{
var id = data[i].id;
if( data[i].lastJobServiceTask == null)
continue;
var progress = data[i].lastJobServiceTask.progress + "%";
var status = data[i].lastJobServiceTask.status;
if(data[i].now == false && ((progress != null && progress != 0) || status != "PENDING"))
{
$("#log" + id).attr("href","<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=loadLog&id=" + data[i].lastJobServiceTask.id);
$("#log" + id).show();
$("#progress"+id).html(progress);
<%
for(JobServiceTaskImpl.JobStatus jS : JobServiceTaskImpl.JobStatus.values())
{
%>
if(status == "<%=jS.name()%>")
{
$("#ultima"+id).html("<%=MessageResources.getInstance(request).getMessage("job.status."+jS.name())%>");
}
<%
}
%>
}
else if(data[i].now == true)
{
$("#log" + id).hide();
if($("#ultimaIcon"+id).attr("class").indexOf("glyphicon-warning-sign") > -1)
{
$("#ultimaIcon"+id).removeClass("glyphicon-warning-sign");
$("#ultimaIcon"+id).addClass("glyphicon-random");
}
else
{
$("#ultimaIcon"+id).addClass("glyphicon-warning-sign");
$("#ultimaIcon"+id).removeClass("glyphicon-random");
}
}
}
setTimeout("updateStatus()",2000);
});
}
$(document).ready(function(){
updateStatus();
});
</script>
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="configuration.tasks"/>
<a href="<%=request.getContextPath()%>/user/configurationJobTasks.do" style="float:right" class="btn btn-default"><span class="glyphicon glyphicon-list-alt">Consultar Todos os Logs</span></a>
<a href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=newTask" style="float:right" class="btn btn-success" onclick="set(form,'new');form.submit();"><span class="glyphicon glyphicon-plus">Agendar</span></a>
<a href="<%=request.getContextPath()%>/user/configurationSchedulleTasks.do" class="btn btn-info"><span class="glyphicon glyphicon-refresh"></span></a>
</div>
<div class="panel-body">
<table id="myTable" class="tablesorter tablesorterfiltered">
<thead>
<tr>
<th>Agora</th>
<th><bean:message key="configuration.task"/></th>
<th>Tipo</th>
<th>Calendarização</th>
<th>Criador</th>
<th>Parametros</th>
<th>Última</th>
<th>Progresso</th>
<th class="filter-false" data-sorter="false"></th>
</tr>
</thead>
<tbody>
<logic:iterate id="task" name="tasks" type="pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl">
<tr>
<td>
<logic:equal value="false" name="task" property="now">
<a href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=runNow&id=${task.id}" class="btn btn-default">
<span class="glyphicon glyphicon-play"></span>
</a>
</logic:equal>
</td>
<td><bean:message key="targetService.${task.targetService}"/></td>
<td><bean:message key="configuration.task.${task.typeMsgKey}"/></td>
<td>
<logic:equal value="true" name="task" property="weekly">
<bean:message key="weekday.day"/> <bean:message key="weekday.${task.weekDayMsgKey}"/>
</logic:equal>
<logic:equal value="true" name="task" property="monthly">
<bean:message key="monthday.day"/> ${task.monthday}
</logic:equal>
<bean:message key="day.time"/>
${task.hour}:${task.minute}
</td>
<td>${task.createdBy.username}</td>
<td>
<table cellspacing="0" cellspadding="0">
<logic:iterate id="taskParam" name="task" property="serviceTaskSchedulerParameters" type="pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter">
<tr>
<td>
<bean:message key="task.param.${taskParam.name}"/>
</td>
<td>
<logic:equal value="JOB_institution_KEY" name="taskParam" property="name">
<%=ConfigProperties.getProperty("institution.code.prefix." + taskParam.getObject())%>
</logic:equal>
<logic:notEqual value="JOB_institution_KEY" name="taskParam" property="name">
<logic:equal value="JOB_questionario_courseList_KEY" name="taskParam" property="name">
<a href="#" data-href="<%=request.getContextPath()%>/admin/questionarios/pedagogicoEstudante/cursosJobInfo.jsp?jobId=${task.id}" data-title="Listagem de Cursos da Tarefa de Atribuição" data-toggle="modal" data-target="#modalAjaxRequest">
Lista Cursos
</a>
</logic:equal>
<logic:notEqual value="JOB_questionario_courseList_KEY" name="taskParam" property="name">
${taskParam.object}
</logic:notEqual>
</logic:notEqual>
</td>
</tr>
</logic:iterate>
</table>
</td>
<td id="ultima${task.id}" <logic:equal value="false" name="task" property="now">class="jobStatus${task.lastJobServiceTask.status}"</logic:equal>>
<logic:equal value="true" name="task" property="now">
<span id="ultimaIcon${task.id}" class="glyphicon glyphicon glyphicon-random"></span>
</logic:equal>
<logic:equal value="false" name="task" property="now">
<logic:notEmpty name="task" property="lastJobServiceTask">
<bean:message key="job.status.${task.lastJobServiceTask.status}"/>
</logic:notEmpty>
</logic:equal>
</td>
<td id="progress${task.id}" style="text-align: right">
<logic:equal value="true" name="task" property="now">
<span class="glyphicon glyphicon glyphicon-random"></span>
</logic:equal>
<logic:equal value="false" name="task" property="now">
<logic:notEmpty name="task" property="lastJobServiceTask">
${task.lastJobServiceTask.progress} %
</logic:notEmpty>
</logic:equal>
</td>
<td class="icons" align="right">
<logic:notEmpty name="task" property="lastJobServiceTask">
<a id="log${task.id}" href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=loadLog&id=${task.lastJobServiceTask.id}" class="btn btn-default">
<span class="glyphicon glyphicon-list-alt"></span>
</a>
</logic:notEmpty>
<logic:equal value="true" name="task" property="active">
<a alt="Desactivar" class="btn btn-success" href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=toggleActive&id=${task.id}" >
<span class="glyphicon glyphicon-ok"></span>
</a>
</logic:equal>
<logic:equal value="false" name="task" property="active">
<a alt="Activar" class="btn btn-warning" href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=toggleActive&id=${task.id}" >
<span class="glyphicon glyphicon-ban-circle"></span>
</a>
</logic:equal>
<a alt="Apagar" class="btn btn-danger" onclick="return confirm('Tem a certeza que deseja apagar esta tarefa? <bean:message key="targetService.${task.targetService}"/>')" href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=delete&id=${task.id}">
<span class="glyphicon glyphicon-remove"></span>
</a>
<a alt="Editar" class="btn btn-warning" href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=load&id=${task.id}">
<span class="glyphicon glyphicon-pencil"></span>
</a>
</td>
</tr>
</logic:iterate>
</tbody>
</table>
</div>
</div>
</div>
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
Generated by GNU Enscript 1.6.5.2.