Rev 1527 | Rev 1530 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnitGrade" %>
<%@ page import="pt.estgp.estgweb.domain.Student" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitGradeView" %>
<%@ page import="pt.estgp.estgweb.web.utils.DatesUtils" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="CourseUnitEvaluationForm" type="pt.estgp.estgweb.web.form.courseunits.CourseUnitEvaluationForm" scope="request"/>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<baco:initCourseUnitEvaluationClearances name="CourseUnitView"/>
<script>
//Manter a sessão activa para os docentes não perderem os dados
ping();
</script>
<%
IServiceManager sm = ServiceManager.getInstance();
%>
<%
long lastUpdate = 0;
Map<Student,CourseUnitGrade> approvedStudents = new HashMap<Student,CourseUnitGrade>();
Map<String,List<CourseUnitGrade>> epocaGrades = new HashMap<String, List<CourseUnitGrade>>();
Map<Student,CourseUnitGrade> finalGrades = new HashMap<Student, CourseUnitGrade>();
AbstractDao.getCurrentSession().beginTransaction();
CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(CourseUnitView.getId());
for(CourseUnitGrade grade: cu.getCourseUnitGrades())
{
if(grade.getUpdateDate().getTime() > lastUpdate)
lastUpdate = grade.getUpdateDate().getTime();
CourseUnitGrade gradeA = approvedStudents.get(grade.getStudent());
if(gradeA == null || gradeA.getGrade() < grade.getGrade())
{
if(grade.getGrade() >= 10)
approvedStudents.put(grade.getStudent(),grade);
}
CourseUnitGrade gradeF = finalGrades.get(grade.getStudent());
if(gradeF == null || gradeF.getGrade() < grade.getGrade())
{
finalGrades.put(grade.getStudent(),grade);
}
List<CourseUnitGrade> eg = epocaGrades.get(grade.getDescEpoca());
if(eg == null)
{
eg = new ArrayList<CourseUnitGrade>();
epocaGrades.put(grade.getDescEpoca(),eg);
}
eg.add(grade);
}
%>
<div class="modal fade" id="modalNotas" role="dialog" >
<div class="modal-dialog" data-width="90%" style="display: block; width: 90%; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title">
Notas da Unidade Curricular de <%=CourseUnitView.getName()%> / <%=CourseUnitView.getImportYear()%>
<button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove"> </span> </button>
</h1>
</div>
<div class="modal-body">
<div class="alert alert-info">
Esta informação foi sincronizada a partir do sistema central do IPP poderá não estar atualizada.
Última atualização a (<%=DatesUtils.getStringFromDate(new Date(lastUpdate))%>)
</div>
<%
int aprovadosNormal20 = 0;
int aprovadosRecurso36 = 0;
int aprovadosEspecial38 = 0;
int aprovados1013 = 0;
int aprovados1416 = 0;
int aprovados1720 = 0;
%>
<div class="panel panel-success">
<div class="panel-heading">
Pauta Final (Pauta construida com as melhores notas de todos os alunos)
</div>
<div class="panel-body">
<%
int reprovados = 0;
int semElementos = 0;
int aprovados = 0;
for(CourseUnitGrade grade: finalGrades.values())
{
if(grade.getGrade() >= 10)
{
aprovados++;
if(grade.getCodigoEpoca().equals("20"))
aprovadosNormal20++;
else if(grade.getCodigoEpoca().equals("36"))
aprovadosRecurso36++;
else if(grade.getCodigoEpoca().equals("38"))
aprovadosEspecial38++;
if(grade.getGrade() <= 13)
aprovados1013++;
else if(grade.getGrade() <= 16)
aprovados1416++;
else
aprovados1720++;
}
else if(grade.getGrade() > 0)
{
reprovados++;
}
else
semElementos ++;
}
int aprovados1013Per = (int) (((float)aprovados1013)/((float)aprovados)*100.0);
int aprovados1416Per = (int) (((float)aprovados1416)/((float)aprovados)*100.0);
int aprovados1720Per = (int) (((float)aprovados1720)/((float)aprovados)*100.0);
%>
<div class="col-md-4">
<p><strong>Inscritos:</strong> <%=finalGrades.values().size()%> </p>
<p><strong>Aprovados:</strong> <%=aprovados%> </p>
<p><strong>Reprovados:</strong> <%=reprovados%></p>
<p><strong>Sem Elementos de Avaliação:</strong> <%=semElementos%></p>
</div>
<div class="col-md-4">
<p><strong>Aprovados em Época Normal:</strong> <%=aprovadosNormal20%> </p>
<p><strong>Aprovados em Época Recurso:</strong> <%=aprovadosRecurso36%> </p>
<p><strong>Aprovados em Época Especial:</strong> <%=aprovadosEspecial38%> </p>
</div>
<div class="col-md-4">
<p><strong>Aprovados entre 10 e 13:</strong> <%=aprovados1013%> (<%=aprovados1013Per%>%) </p>
<p><strong>Aprovados entre 14 e 16:</strong> <%=aprovados1416%> (<%=aprovados1416Per%>%) </p>
<p><strong>Aprovados entre 17 e 20:</strong> <%=aprovados1720%> (<%=aprovados1720Per%>%) </p>
</div>
<table class="tablesorterfiltered" id="pautaFinal">
<thead>
<tr>
<th>
<bean:message key="code"/>
</th>
<th>
<bean:message key="student"/>
</th>
<th>
<bean:message key="grade"/>
</th>
<th>
<bean:message key="date"/>
</th>
<th>
Epoca de Avaliação
</th>
<th>
Status de Época
</th>
</tr>
</thead>
<tbody>
<%
for(CourseUnitGrade grade: finalGrades.values())
{
request.setAttribute("grade",new CourseUnitGradeView(grade));
%>
<tr>
<td>
${grade.student.code}
</td>
<td>
${grade.student.name}
</td>
<td>
<logic:greaterThan value="0" name="grade" property="grade">
${grade.grade}
</logic:greaterThan>
<logic:lessThan value="0" name="grade" property="grade">
S/N
</logic:lessThan>
</td>
<td>
${grade.formatedDate}
</td>
<td>
${grade.descEpoca}
</td>
<td>
${grade.descStatusEpoca}
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
<%
for(Map.Entry<String,List<CourseUnitGrade>> grades: epocaGrades.entrySet())
{
int reprovadosEp = 0;
int semElementosEp = 0;
int aprovadosEp = 0;
for(CourseUnitGrade grade: grades.getValue())
{
if(grade.getGrade() >= 10)
{
aprovadosEp++;
}
else if(grade.getGrade() > 0)
{
reprovadosEp++;
}
else
semElementosEp ++;
}
%>
<div class="panel panel-default">
<div class="panel-heading">
<%=grades.getKey()%>
</div>
<div class="panel-body">
<p><strong>Aprovados nesta época:</strong> <%=aprovadosEp%> </p>
<p><strong>Reprovados nesta época:</strong> <%=reprovadosEp%></p>
<p><strong>Sem Elementos de Avaliação nesta época:</strong> <%=semElementosEp%></p>
<table class="tablesorterfiltered">
<thead>
<tr>
<th>
<bean:message key="code"/>
</th>
<th>
<bean:message key="student"/>
</th>
<th>
<bean:message key="grade"/>
</th>
<th>
<bean:message key="date"/>
</th>
<th>
Epoca de Avaliação
</th>
<th>
Status de Época
</th>
</tr>
</thead>
<tbody>
<%
for(CourseUnitGrade grade: grades.getValue())
{
request.setAttribute("grade",new CourseUnitGradeView(grade));
%>
<tr>
<td>
${grade.student.code}
</td>
<td>
${grade.student.name}
</td>
<td>
<logic:greaterThan value="0" name="grade" property="grade">
${grade.grade}
</logic:greaterThan>
<logic:lessThan value="0" name="grade" property="grade">
S/N
</logic:lessThan>
</td>
<td>
${grade.formatedDate}
</td>
<td>
${grade.descEpoca}
</td>
<td>
${grade.descStatusEpoca}
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</div>
<%
}
%>
</div>
</div>
</div>
</div>
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
<div class="panel panel-primary">
<div class="panel-heading">
<span class="icon icon-flag"></span> <bean:message key="courseunit.evaluation"/> - <%=CourseUnitView.getName()%> / <%=CourseUnitView.getImportYear()%>
<%
if( CourseUnitView.getEvaluationStreamId() !=null ){
%>
<span class="badge icon">
<a href="javascript:invoqueDataVersionForm(${CourseUnitView.evaluationStreamId})"><span class="icon icon-history icon-large"></span></a>
</span>
<span class="badge icon">
<a href="<%=request.getContextPath()%>/repositoryStream/<%=CourseUnitView.getEvaluationStreamId()%>">
<span class="icon icon-file-pdf icon-large"/>
</a>
</span>
<%
}
%>
</div>
<div class="panel-body">
<html:errors/>
<jomm:messages/>
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_ACTIVE">
<div class="alert alert-info">
<bean:message key="courseunit.evaluation.period.inactive"/>
</div>
</baco:notClearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_ACTIVE_SPECIAL_ADMIN">
<div class="alert alert-warning">
<bean:message key="courseunit.evaluation.period.admin.active"/>
</div>
</baco:clearOperation>
<logic:equal value="true" name="CourseUnitEvaluationForm" property="courseUnitEvaluationView.fechar">
<div class="alert alert-success"><bean:message key="courseunit.evaluation.dtp.info"/></div>
</logic:equal>
<!-- ESTADOS -->
<div class="row-centered clearfix">
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_STATE_EDIT">
<div class="alert alert-warning col-md-3 col-sm-3">
<span class="glyphicon glyphicon-edit"></span> Em edição (Qualquer docente da unidade pode editar e entregar)
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-disabled col-md-3 col-sm-3">
<span class="glyphicon glyphicon-education"></span> Comissão aguarda entrega do docente
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-disabled col-md-3 col-sm-3">
<span class="glyphicon glyphicon-flag"></span> <bean:message key="courseunit.evaluation.state.closed"/>
</div>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_STATE_COMPLETE">
<div class="alert alert-success col-md-3 col-sm-3">
<span class="glyphicon glyphicon-edit"></span> Entregue pelo Docente
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-warning col-md-3 col-sm-3">
<span class="glyphicon glyphicon-education"></span> Em <bean:message key="courseunit.evaluation.state.complete"/> pela comissão
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-disabled col-md-3 col-sm-3">
<span class="glyphicon glyphicon-flag"></span> <bean:message key="courseunit.evaluation.state.closed"/>
</div>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_STATE_CLOSED">
<div class="alert alert-success col-md-3 col-sm-3">
<span class="glyphicon glyphicon-edit"></span> Entregue pelo Docente
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-success col-md-3 col-sm-3">
<span class="glyphicon glyphicon-education"></span> Validado pela Comissão
</div>
<div class="col-md-1 col-sm-1 vcenter alert"><span class="glyphicon glyphicon-chevron-right"/></div>
<div class="alert alert-success col-md-3 col-sm-3">
<span class="glyphicon glyphicon-flag"></span> <bean:message key="courseunit.evaluation.state.closed"/>
</div>
</baco:clearOperation>
</div>
<div class="row-centered clearfix">
<div class="col-md-3 col-sm-3">
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_TRANSITATE_TO_EDIT">
<html:form action="/user/courseUnitEvaluationController">
<input type="hidden" name="dispatch" value="openEvaluation">
<html:hidden property="courseUnitView.id"/>
<button type="submit" class="btn btn-default">
<bean:message key="courseunit.evaluation.transit.to.edition"/>
</button>
</html:form>
</baco:clearOperation>
</div>
<div class="col-md-1 col-sm-1"></div>
<div class="col-md-3 col-sm-3">
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_TRANSITATE_TO_COMPLETE">
<button type="button" class="btn btn-default" onclick="$('#buttonTeacherCompleteEvaluation').click()">
<bean:message key="courseunit.evaluation.transit.to.complete"/>
</button>
</baco:clearOperation>
</div>
<div class="col-md-1 col-sm-1"></div>
<div class="col-md-3 col-sm-3">
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_TRANSITATE_TO_CLOSE">
<button type="button" class="btn btn-default" onclick="$('#buttonPublishEvaluation').click()"><bean:message key="courseunit.evaluation.transit.to.closed"/></button>
</baco:clearOperation>
</div>
</div>
</div>
<div class="panel-body">
<html:form styleId="formEval" styleClass="form-horizontal" action="/user/courseUnitEvaluationController">
<input type="hidden" id="dispatch" name="dispatch" value="saveEvaluation">
<html:hidden property="id"/>
<html:hidden property="courseUnitView.id"/>
<div class="panel panel-default">
<div class="panel-heading">
Dados alterados pelo Docente da Unidade
</div>
<div class="panel-body">
<div id="autosave"></div>
<h3>Dados para confirmar pelo Docente da Unidade
<button type="button" data-toggle="modal" data-target="#modalNotas" class="btn btn-info" href="">
Consultar Notas
<span class="icon icon-table2"> </span> </button>
</h3>
<table class="tablesorter-blue" width="100%">
<tr>
<th rowspan="2">
Nº Alunos Inscritos
</th>
<th rowspan="2">
Nº de alunos sem elementos de avaliação
</th>
<th colspan="5">
Nº de alunos aprovados em
</th>
<th rowspan="2">
Aprovados com a classificação entre 10 e 13 valores (%)
</th>
<th rowspan="2">
Aprovados com a classificação entre 14 e 16 valores (%)
</th>
<th rowspan="2">
Aprovados com a classificação entre 17 e 20 valores (%)
</th>
</tr>
<tr>
<th>Avaliação de frequência</th>
<th>Exame Época Normal</th>
<th>Exame Época Recurso</th>
<th>Exame Época Especial</th>
<th>Total</th>
</tr>
<tr>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosInscritos"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosSemElementosAvaliacao"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovFrequencia"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovNormal"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovRecurso"/>
</td>
<td style="text-align: center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovEspecial"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprovTotal"/>
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1013"/>%
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1416"/>%
</td>
<td class="text-center">
<html:text styleClass="form-control" style="margin:auto; width: 50px" size="4" property="courseUnitEvaluationView.courseUnitEvaluation.numAlunosAprov1720"/>%
</td>
</tr>
<tr>
<th colspan="10">
Os dados abaixo são obtidos da sincronização de notas (servem apenas como consulta para confirmação pelo docente)
</th>
</tr>
<tr>
<td class="text-center">
<%=finalGrades.size()%>
</td>
<td class="text-center">
<%=semElementos%>
</td>
<td class="text-center">
?
</td>
<td class="text-center">
<%=aprovadosNormal20%>
</td>
<td class="text-center">
<%=aprovadosRecurso36%>
</td>
<td class="text-center">
<%=aprovadosEspecial38%>
</td>
<td class="text-center">
<%=aprovados%>
</td>
<td class="text-center">
<%=aprovados1013Per%> %
</td>
<td class="text-center">
<%=aprovados1416Per%> %
</td>
<td class="text-center">
<%=aprovados1720Per%> %
</td>
</tr>
</table>
<h3>Auto-avaliação</h3>
<table class="tablesorter-blue" width="100%">
<tr>
<th>Apreciação dos resultados quantitativos obtidos pelos estudantes</th>
<td width="80%">
<html:textarea styleClass="form-control" style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoQuantitivos"/>
</td>
</tr>
<tr>
<th>Apreciação do funcionamento da UC<br/>
(Condições de funcionamento da UC; problemas detetados; identificação de práticas pedagógicas de mérito ou deficientes; etc.)</th>
<td width="80%">
<html:textarea styleClass="form-control" style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoUC"/>
</td>
</tr>
<tr>
<th>Apreciação do cumprimento do programa da UC<br/>
(Adequação das metodologias de ensino/aprendizagem utilizadas; competências efetivamente adquiridas e cumprimento dos conteúdos planificados)
</th>
<td width="80%">
<html:textarea styleClass="form-control" style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma"/>
</td>
</tr>
<tr>
<th>
Conclusões<br/>
(Pontos fortes e fracos; sugestões de melhoria e respetivo plano de ação para a sua concretização)
</th>
<td width="80%">
<html:textarea styleClass="form-control" style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualConclusoes"/>
</td>
</tr>
</table>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_EDITSAVE">
<button type="button" class="btn btn-default" onclick="set(form,'saveEvaluation');submitFormWaitAutoSave(form);"><bean:message key="save"/></button>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_TRANSITATE_TO_COMPLETE">
<button type="button" id="buttonTeacherCompleteEvaluation" class="btn btn-default" onclick="set(form,'teacherCompleteEvaluation');submitFormWaitAutoSave(form);"><bean:message key="courseunit.evaluation.transit.to.complete"/></button>
</baco:clearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_TRANSITATE_TO_CLOSE">
<button type="button" id="buttonPublishEvaluation" class="btn btn-default" onclick="set(form,'publishEvaluation');submitFormWaitAutoSave(form);"><bean:message key="courseunit.evaluation.transit.to.closed"/></button>
</baco:clearOperation>
</div>
</div>
</html:form>
</div>
</div>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_EDITSAVE">
<!-- Modal SAVE -->
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog" >
<div class="modal-dialog" data-width="760" style="display: block; width: 760px; margin-top: 50px;" aria-hidden="false">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title"><bean:message key="courseunit.evaluation.sending.report.title"/></h1>
</div>
<div class="modal-body">
<p>
<bean:message key="courseunit.evaluation.sending.report.text"/> <img src="<%=request.getContextPath()%>/imgs/wait.gif"/>
</p>
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<script>
function submitFormWaitAutoSave()
{
stopAutoSave = true;
$('#myModal').modal({
show: 'true'
});
//esperar se houver algum update a executar 1500 segundos é o maximo de espera
//se a pagina não recarregar e porque a thread parou
setTimeout("submitForm()",40000);
}
function submitForm()
{
$("#formEdit").submit();
}
$( document ).ready(function() {
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_ACTIVE">
$("#formEdit :input").attr("disabled", true);
</baco:notClearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_INFO_STATE_CLOSED">
$("#formEdit :input").attr("disabled", true);
</baco:clearOperation>
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_PERSIST_TEACHER_PART">
<baco:notClearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_PERSIST_COMISSION_PART">
$("#formEdit :input").attr("disabled", true);
</baco:notClearOperation>
</baco:notClearOperation>
<baco:clearOperation name="CourseUnitView" property="courseUnit" op="EVALUATION_EDITSAVE">
setTimeout("serData()",5000);
</baco:clearOperation>
});
var stopAutoSave = false;
function serData()
{
if(stopAutoSave)
{
$("#formEval").submit();
return;
}
else
{
$("#dispatch").val("saveEvaluation");
var data = $("#formEval").serialize().replace(/%0D%0A/g, '%0A').replace(/\r?\n/g, "\r\n");
//alert(data);
//alert($("#dispatch").val())
$("#autosave").html('<div class="alert alert-info">Enviando ...</div>');
$.ajax({
url: "<%=request.getContextPath()%>/user/courseUnitEvaluationController.do",
type: "POST",
data: data + "&json=true",
dataType: "json",
success: function(resposta) {
if(resposta.service && resposta.service == "ok")
$("#autosave").html('<div class="alert alert-success">Salvo Automaticamente (Apenas Dados, não gerou PDF, para gerar PDF terá de salvar o docente)</div>');
else
$("#autosave").html('<div class="alert alert-warning">Deve salvar o seu relatório periodicamente</div>');
setTimeout("serData()",5000);
},
error: function() {
$("#autosave").html('<div class="alert alert-danger">Erro de comunicação, tentando novamente em 5 segundos</div>');
setTimeout("serData()",5000);
}
});
}
}
</script>
</baco:clearOperation>