Subversion Repositories bacoAlunos

Rev

Rev 1388 | Rev 1538 | 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/>


<div class="modal fade" id="modalHelpQuestionario" role="dialog" >
    <div class="modal-dialog" data-width="960" style="display: block; width: 960px; margin-top: 50px;" aria-hidden="false">

        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                <h1 class="modal-title">Ajuda sobre as Importações</h1>
            </div>
            <div class="modal-body">

                <div class="panel panel-default">

                        <h3>Questões relativas a importações</h3>
                        <ul>
                            <li>A ordem de importação deve ser: Cursos, Professores, Alunos</li>
                            <li>De forma a que as tipologias de aulas sejam bem atribuidas é necessária uma segunda importação de Cursos após a importação de Professores,
                            uma vez que só após termos professores associados é que as tipologias podem ser associadas aos mesmos</li>
                        </ul>
                </div>

                <button type="button" class="btn btn-success" data-dismiss="modal">Voltar</button>
            </div>
        </div>

    </div>
</div>

<%
    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 class="btn btn-default" href="#" data-toggle="modal" data-target="#modalHelpImports">
                <span class="glyphicon glyphicon-question-sign"></span> Ajuda sobre Importações
            </a>
            <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.