/branches/v3/impl/src/web/admin/profile/profilePersonalData.jsp |
---|
469,7 → 469,12 |
</baco:isNotAdmin> |
<label class="control-label col-sm-2" ><bean:message key="email.institucion2"/></label> |
<div class="col-sm-10"> |
<html:text styleClass="form-control" property="userView.email" maxlength="250" readonly="true"/> |
<baco:hasRole role="all,admin"> |
<html:text styleClass="form-control" property="userView.email" maxlength="250"/> |
</baco:hasRole> |
<baco:hasNotRole role="all,admin"> |
<html:text styleClass="form-control" property="userView.email" maxlength="250" readonly="true"/> |
</baco:hasNotRole> |
</div> |
</div> |
<div class="form-group"> |
/branches/v3/impl/src/web/admin/configuration/userRoles.jsp |
---|
99,6 → 99,8 |
<button style="float: right" class="btn btn-success" onclick="this.form.op.value='addNew';set(this.form,'addNew');this.form.submit()">Adicionar Novo</button> |
<button style="float: right" class="btn btn-default" onclick="this.form.op.value='checkNewRoles';set(this.form,'checkNewRoles');this.form.submit()">Carregar Novos Pepeis</button> |
<button type="button" class="btn btn-info" onclick="$('.transl').toggle();toogleFiltersTransl();">Mostrar Traduções</button> |
</div> |
<div class="panel-body"> |
/branches/v3/impl/src/web/js/logtailer/logtail.js |
---|
87,8 → 87,8 |
self.repaint(); |
} |
if (o.l){ |
self.idx = o.l; |
if (o.lines){ |
self.idx = o.lines.length; |
} |
if (!self.paused){ |
/branches/v3/impl/src/web/user/home/teacherPae.jsp |
---|
130,6 → 130,17 |
</div> |
<div class="col-md-6 col-sm-12 col-xs-12"> |
<baco:hasRole role="admin,all,services,questionarios.admin,questionarios.tipologias.admin,questionarios.atribuicoes.admin"> |
<div class="panel panel-primary"> |
<div class="panel-heading">Questionários Pedagógicos</div> |
<div class="panel-body"> |
<div class="list-group"> |
<div class="list-group-item"><html:link action="/user/listQuestionarios">Administração de Questionários</html:link></div> |
<div class="list-group-item"><html:link action="/user/configurationSchedulleTasks.do">Consulta de Resultados</html:link></div> |
</div> |
</div> |
</div> |
</baco:hasRole> |
<div class="panel panel-primary"> |
<div class="panel-heading"><bean:message key="intranet.home.curricular"/></div> |
/branches/v3/impl/src/web/user/home/userPae.jsp |
---|
31,7 → 31,7 |
<div class="panel-heading">Questionários Pedagógicos</div> |
<div class="panel-body"> |
<div class="list-group"> |
<div class="list-group-item"><html:link action="/admin/listQuestionarios">Administração de Questionários</html:link></div> |
<div class="list-group-item"><html:link action="/user/listQuestionarios">Administração de Questionários</html:link></div> |
<div class="list-group-item"><html:link action="/user/configurationSchedulleTasks.do">Consulta de Resultados</html:link></div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/questionarios/questionarioStateASSIGNATION_DETAILS.jsp |
---|
New file |
0,0 → 1,24 |
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" %> |
<%@ 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="Questionario" type="pt.estgp.estgweb.domain.QuestionarioImpl" scope="request"/> |
<jsp:include page="${Questionario.iAnswersProcessorClass.afetacoesManagementForward}"/> |
/branches/v3/impl/src/web/user/questionarios/topnavQuestionarioNewEdit.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace("/user/listQuestionarios.do", "surveys"); |
topNav.addNavPlace(null, "survey.newEdit.survey"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/questionarios/questionarioAdmin.jsp |
---|
New file |
0,0 → 1,276 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ 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" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
long questionarioId = Long.parseLong(qId); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
request.setAttribute("Questionario", questionario); |
%> |
<div class="container-fluid"> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
Questionário (Número Controlo - ${Questionario.id}) |
<a class="pull-right" href="javascript:$('#diagrama').animate({height:'toggle'},200);">Ver Diagrama de Estados dos Questionários</a> |
</div> |
<div class="panel-body" id="diagrama" style="display: none"> |
<html:errors/> |
<jomm:messages/> |
<div class="panel panel-default"> |
<div class="panel-body"> |
<div class="row-centered"> |
<!--<div class="alert alert-warning"> |
ATENÇÃO: A alteração dos códigos dos grupos vai afetar os resultados históricos e o processamento de resultados. Não altere os códigos dos grupos |
já existentes sem coordenação com a equipa de desenvolvimento. |
</div>--> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionarioState.bmp"/> |
</div> |
</div> |
</div> |
</div> |
<div class="panel-body"> |
<div class="panel panel-default"> |
<div class="panel-heading">Dados Administrativos</div> |
<div class="panel-body"> |
<p><strong>Descrição:</strong> ${Questionario.description}</p> |
<p><strong>Categoria Histórica:</strong> <span class="bg-info"> ${Questionario.questionarioHistoryDrive.description}</span></p> |
<p><strong>Processador de Respostas:</strong> <span class="bg-primary">${Questionario.iAnswersProcessorClass.title}</span></p> |
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioLogState.jsp?questionarioId=${Questionario.id}" data-title="Registo de mudanças de estado do questionario ${Questionario.id}" data-toggle="modal" data-target="#modalAjaxRequest"> |
Registo de Mudanças de Estado |
</a> |
</div> |
</div> |
</div> |
<div class="panel-body"> |
<div class="container"> |
<div class="panel panel-success"> |
<div class="panel-heading">Tarefas Realizadas</div> |
<div class="panel-body"> |
<% |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.CREATED.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.CREATED"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.ASSIGNATION_DETAILS.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNATION_DETAILS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.ASSIGNING_ANSWERS_PROCESSEMENT.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNING_ANSWERS_PROCESSEMENT"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.ASSIGNED_ANSWERS.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNED_ANSWERS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.PROCESSING.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.PROCESSING_WITH_ANSWERS.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING_WITH_ANSWERS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.CLOSED.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.CLOSED"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.PROCESSING_OLAP.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING_OLAP"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() > QuestionarioImpl.State.OLAP.getPosition()) |
{ |
%> |
<div class="alert alert-success col-md-2 col-sm-2"> |
<bean:message key="questionario.state.OLAP"/> |
</div> |
<% |
} |
%> |
</div> |
</div> |
<% |
String alert = "alert-warning"; |
if(questionario.getStateEnum() == QuestionarioImpl.State.STOPED_WITH_ANSWERS) |
{ |
alert = "alert-danger"; |
} |
%> |
<a name="NOWTASK"> </a> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
Tarefas Disponiveis |
<label class="alert <%=alert%> alert-small"> |
<bean:message key="questionario.state.${Questionario.state}"/> |
</label> |
</div> |
<div class="panel-body"> |
<html:errors/> |
<jomm:messages/> |
<jsp:include page="questionarioState${Questionario.state}.jsp"/> |
</div> |
</div> |
<div class="panel panel-default"> |
<div class="panel-heading">Tarefas por Realizar</div> |
<div class="panel-body"> |
<% |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.CREATED.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.CREATED"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.ASSIGNATION_DETAILS.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNATION_DETAILS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.ASSIGNING_ANSWERS_PROCESSEMENT.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNING_ANSWERS_PROCESSEMENT"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.ASSIGNED_ANSWERS.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.ASSIGNED_ANSWERS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.PROCESSING.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.PROCESSING_WITH_ANSWERS.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING_WITH_ANSWERS"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.CLOSED.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.CLOSED"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.PROCESSING_OLAP.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.PROCESSING_OLAP"/> |
</div> |
<div class="col-md-1 col-sm-1 vcenter alert hidden-xs"><span class="glyphicon glyphicon-chevron-right"/></div> |
<% |
} |
if( questionario.getStateEnum().getPosition() < QuestionarioImpl.State.OLAP.getPosition()) |
{ |
%> |
<div class="alert alert-disabled col-md-2 col-sm-2"> |
<bean:message key="questionario.state.OLAP"/> |
</div> |
<% |
} |
%> |
</div> |
</div> |
</div> |
<html:link styleClass="btn btn-danger" action="/user/listQuestionarios">Voltar</html:link> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/questionarios/questionarioStatePROCESSING_OLAP.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado processando OLAP disponiveis |
/branches/v3/impl/src/web/user/questionarios/questionarioStateOLAP.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Cubos OLAP terminados |
/branches/v3/impl/src/web/user/questionarios/questionarioStateSTOPED_WITH_ANSWERS.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Parado para responder com Respostas |
/branches/v3/impl/src/web/user/questionarios/questionariosList.jsp |
---|
New file |
0,0 → 1,121 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.Questionario" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<div class="container-fluid" style="margin-top: 10px"> |
<div class="panel panel-primary"> |
<div class="panel-heading clearfix"> |
Questionários |
<baco:hasRole role="questionarios.admin,all,admin"> |
<html:link styleClass="btn btn-default btn-sm pull-right" action="/user/startNewQuestionario">Criar Novo <span class="glyphicon glyphicon-plus"> </span></html:link> |
</baco:hasRole> |
</div> |
<div class="panel-body"> |
<html:errors/> |
<jomm:messages/> |
<table class="tablesortersimple"> |
<thead> |
<tr> |
<th>Num. Control</th> |
<th>Ano</th> |
<th>Semestre</th> |
<th>Administrar</th> |
<th>Formulário</th> |
<th>Estado</th> |
<th>Alterado a</th> |
<th>Apagar</th> |
</tr> |
</thead> |
<tbody> |
<% |
AbstractDao.getCurrentSession().beginTransaction(); |
List<QuestionarioImpl> questionarios = DaoFactory.getQuestionarioDaoImpl().findSortedBy(0, 10, "id"); |
//As transacoes tem de estar fechadas para se chamar a tag initClearances |
for(QuestionarioImpl q: questionarios) |
{ |
request.setAttribute("q",q); |
%> |
<baco:initClearances name="q"/> |
<tr> |
<td>${q.id}</td> |
<td>${q.year}</td> |
<td>${q.semestre}</td> |
<td> |
<baco:clearOperation name="q" op="QUESTIONARIO_SEE_ADMIN"> |
<html:link styleClass="btn btn-default" action="/user/adminQuestionario?questionario.id=${q.id}">Admin</html:link></td> |
</baco:clearOperation> |
<td> |
<baco:clearOperation name="q" op="QUESTIONARIO_SEE_FORM"> |
<% |
if(q.getStateEnum().getPosition() < QuestionarioImpl.State.PROCESSING.getPosition()) |
{ |
%> |
<html:link action="/user/formQuestionariosPae?questionario.id=${q.id}" styleClass="btn btn-default">Editar</html:link> |
<% |
} |
else if (q.getStateEnum().getPosition() < QuestionarioImpl.State.OLAP.getPosition()) |
{ |
%> |
<html:link action="/user/formQuestionariosPae?questionario.id=${q.id}" styleClass="btn btn-warning">Trancado</html:link> |
<% |
} |
else |
{ |
%> |
<html:link action="/user/formQuestionariosPae?questionario.id=${q.id}" styleClass="btn btn-success">Terminado</html:link> |
<% |
} |
%> |
</baco:clearOperation> |
</td> |
<td> |
<logic:equal name="q" property="state" value="OLAP"> |
<div class="alert alert-success alert-small" > |
<bean:message key="questionario.state.${q.state}"/> |
</div> |
</logic:equal> |
<logic:notEqual name="q" property="state" value="OLAP"> |
<div class="alert alert-warning alert-small"> |
<bean:message key="questionario.state.${q.state}"/> |
</div> |
</logic:notEqual> |
</td> |
<td><%=pt.estgp.estgweb.web.utils.DatesUtils.getStringFromDate(q.getUpdateDate())%></td> |
<td> |
<baco:clearOperation name="q" op="QUESTIONARIO_DELETE"> |
<button class="btn btn-danger" data-href="<%=request.getContextPath()%>/user/deleteQuestionario.do?questionario.id=${q.id}" data-message="Tem a certeza que deseja eliminar o questionário ${q.id}?" data-toggle="modal" data-target="#confirm-ModalGeneric"> |
<span class="glyphicon glyphicon-remove small"> </span> |
</button> |
</baco:clearOperation> |
</td> |
</tr> |
<% |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</tbody> |
</table> |
</div> |
</div> |
</div> |
/branches/v3/impl/src/web/user/questionarios/questionarioNewEdit.jsp |
---|
New file |
0,0 → 1,482 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.IAnswersProcessor" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioHistoryDrive" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<html:form styleClass="form-horizontal" action="/user/questionariosPae" enctype="multipart/form-data" onsubmit="updateIntroHtml()"> |
<input type="hidden" name="dispatch" value="save"> |
<html:hidden property="questionario.id"/> |
<jsp:useBean id="QuestionarioForm" type="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" scope="request"/> |
<script> |
function submitQuestionarioForm(form) |
{ |
updateIntroHtml(); |
form.submit(); |
} |
function updateIntroHtml() |
{ |
$('#introHtml').val($('#editor').html()); |
} |
$(document).ready( |
function(){ |
setText(); |
$(".perguntaGroup").each( |
function(){ |
if($(this).val() == "") |
{ |
$(this).css({ |
"background-color":"orange" |
}); |
} |
} |
); |
} |
); |
function setText() |
{ |
$("#editor").html('<bean:write name="QuestionarioForm" property="questionario.introHtml" filter="false"/>'); |
} |
</script> |
<style> |
.dropable |
{ |
border: 1px dashed blue; |
} |
.dropable .toDrop |
{ |
border: 2px solid blue !important; |
} |
</style> |
<div class="panel panel-default"> |
<div class="panel-heading"> |
<logic:lessEqual name="QuestionarioForm" property="questionario.id" value="0"> |
Novo Questionário |
</logic:lessEqual> |
<logic:notEqual name="QuestionarioForm" property="questionario.id" value="0"> |
Questionário (Número Controlo - ${QuestionarioForm.questionario.id}) |
</logic:notEqual> |
<a class="pull-right" href="javascript:$('#diagrama').animate({height:'toggle'},200);">Ver Diagrama de Estados dos Questionários</a> |
</div> |
<div class="panel-body"> |
<%--##################################################--%> |
<%--################ INPUT START #############--%> |
<%--##################################################--%> |
<div id="allInputs"> |
<html:errors/> |
<jomm:messages/> |
<div id="diagrama" style="display: none" class="panel panel-default"> |
<div class="panel-body"> |
<div class="row-centered"> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionarioState.bmp"/> |
</div> |
</div> |
</div> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
Dados Administrativos |
</div> |
<div class="panel-body"> |
<baco:notClearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_FORM"> |
<div class="alert alert-warning"> |
Formulário Trancado - Estado do Questionário ${QuestionarioForm.questionario.state} |
</div> |
</baco:notClearOperation> |
<% |
List<IAnswersProcessor> answersProcessors = QuestionarioImpl.getIAnswerProcessors(); |
request.setAttribute("answersProcessors",answersProcessors); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<QuestionarioHistoryDrive> historyDrives = DaoFactory.getQuestionarioHistoryDriveDaoImpl().getHistoryDrivesList(); |
request.setAttribute("historyDrives",historyDrives); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
<script> |
$(document).ready( function() |
{ |
<logic:lessEqual value="0" name="QuestionarioForm" property="questionario.id"> |
$("#answProc").val("pt.estgp.estgweb.services.questionarios.PedagogicoAlunosProcessor"); |
</logic:lessEqual> |
<baco:notClearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_ANSWER_PROCESSOR"> |
$("#histDrives").prop( "disabled", true ); |
$("#histDrivesHidden").prop( "disabled", false ); |
$("#answProc").prop( "disabled", true ); |
$("#answProcHidden").prop( "disabled", false ); |
</baco:notClearOperation> |
//set history allays after answerproc defined |
setHistoryDrive($("#answProc").val()); |
<baco:notClearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_FORM"> |
$('#allInputs').find('input, textarea, button, select, #editor').attr('disabled','disabled'); |
</baco:notClearOperation> |
} |
); |
//Metodo para alterar a History dado o AnswerProcessor |
//Usa o Answer Processor Contraint |
function setHistoryDrive(answerProcessor) |
{ |
<baco:clearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_ANSWER_PROCESSOR"> |
$("#histDrivesHidden").prop( "disabled", true ); |
$("#histDrives").removeAttr( "disabled"); |
$("#histDrives").val(""); |
<% |
for(IAnswersProcessor iAnswersProcessor: answersProcessors) |
{ |
if(iAnswersProcessor.getHistoryDriveConstraint() != null) |
{ |
for(QuestionarioHistoryDrive hD: historyDrives) |
{ |
if(hD.getCodeName().equals(iAnswersProcessor.getHistoryDriveConstraint())) |
{ |
%> |
if(answerProcessor == '<%=iAnswersProcessor.getClass().getName()%>') |
{ |
$("#histDrives").val('<%=hD.getId()%>'); |
$("#histDrivesHidden").val('<%=hD.getId()%>'); |
$("#histDrives").prop("disabled",true); |
$("#histDrivesHidden").prop( "disabled", false ); |
} |
<% |
break; |
} |
} |
} |
} |
%> |
</baco:clearOperation> |
} |
</script> |
<baco:notClearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_ANSWER_PROCESSOR"> |
<p> |
Estado: <label class="alert alert-warning alert-small"> |
<bean:message key="questionario.state.${QuestionarioForm.questionario.state}"/> |
</label> |
</p> |
<div class="alert alert-danger alert-small">A alteração do processador de respostas está trancado devido ao estado em que o questionário se encontra</div> |
</baco:notClearOperation> |
<div class="form-group"> |
<label class="control-label col-sm-2">Processador de Respostas</label> |
<div class="col-sm-10"> |
<html:hidden styleId="answProcHidden" styleClass="form-control" property="questionario.iAnswersProcessor" disabled="true"/> |
<html:select styleId="answProc" styleClass="form-control" property="questionario.iAnswersProcessor" onchange="setHistoryDrive($(this).val());"> |
<option value=""></option> |
<html:optionsCollection name="answersProcessors" label="title" value="class.name"/> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2">Categoria Histórica de Análise de Dados</label> |
<div class="col-sm-10"> |
<html:hidden styleId="histDrivesHidden" styleClass="form-control" property="questionario.questionarioHistoryDrive.id" disabled="true"/> |
<html:select styleId="histDrives" styleClass="form-control" property="questionario.questionarioHistoryDrive.id"> |
<option value=""></option> |
<html:optionsCollection name="historyDrives" label="codeName" value="id"/> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2">Descrição Administrativa</label> |
<div class="col-sm-10"> |
<html:textarea styleClass="form-control" property="questionario.description"/> |
</div> |
</div> |
<h3><a href="javascript:$('#groupAdmin').animate({height:'toggle'},200);">Administração de Grupos</a></h3> |
<div id="groupAdmin" style="display: none" class="panel panel-default"> |
<div class="panel-body"> |
<div class="alert alert-warning"> |
ATENÇÃO: A alteração dos códigos dos grupos vai afetar os resultados históricos e o processamento de resultados. Não altere os códigos dos grupos |
já existentes sem coordenação com a equipa de desenvolvimento. |
</div> |
<button type="button" class="btn btn-warning" onclick="$('.textGroupDisab').removeAttr('disabled');$(this).hide()">Ativar edição de códigos</button> |
<% |
for(int g = 1; g <= 10; g ++) |
{ |
request.setAttribute("g",g); |
%> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="g${g}">Grupo ${g}:</label> |
<div class="col-sm-10"> |
<html:text styleClass="form-control" property="questionario.group${g}Title" styleId="g${p}" onchange="set(this.form,'refresh');submitQuestionarioForm(form);"/> |
</div> |
<label class="control-label col-sm-2" for="g${g}">Código do Grupo ${g}:</label> |
<div class="col-sm-4"> |
<html:text styleClass="form-control textGroupDisab" disabled="true" property="questionario.group${g}Code" onchange="set(this.form,'refresh');submitQuestionarioForm(form);"/> |
</div> |
</div> |
<% |
} |
%> |
</div> |
</div> |
</div> |
</div> |
<div class="form-group row"> |
<div class="col-sm-12"> |
<h3>Texto Introdutório do Questionário</h3> |
<baco:notClearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_FORM"> |
<div style="border:1px solid gray"> |
${QuestionarioForm.questionario.introHtml} |
</div> |
</baco:notClearOperation> |
<baco:clearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_FORM"> |
<div class="btn-toolbar" data-role="editor-toolbar" data-target="#editor"> |
<!-- <div class="btn-group"> |
<a class="btn dropdown-toggle" data-toggle="dropdown" title="Font"><i class="aweicon-font"></i><b class="caret"></b></a> |
<ul class="dropdown-menu"> |
</ul> |
</div>--> |
<div class="btn-group"> |
<a class="btn btn-default" data-toggle="dropdown" title="Font Size"><i class="aweicon-text-height"></i> <b class="caret"></b></a> |
<ul class="dropdown-menu"> |
<li><a data-edit="fontSize 5"><font size="5">Grande</font></a></li> |
<li><a data-edit="fontSize 4"><font size="4">Maior</font></a></li> |
<li><a data-edit="fontSize 3"><font size="3">Normal</font></a></li> |
<li><a data-edit="fontSize 2"><font size="2">Menor</font></a></li> |
<li><a data-edit="fontSize 1"><font size="1">Pequeno</font></a></li> |
</ul> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default" data-edit="bold" title="Bold (Ctrl/Cmd+B)"><i class="aweicon-bold"></i></a> |
<a class="btn btn-default" data-edit="italic" title="Italic (Ctrl/Cmd+I)"><i class="aweicon-italic"></i></a> |
<a class="btn btn-default" data-edit="strikethrough" title="Strikethrough"><i class="aweicon-strikethrough"></i></a> |
<a class="btn btn-default" data-edit="underline" title="Underline (Ctrl/Cmd+U)"><i class="aweicon-underline"></i></a> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default" data-edit="insertunorderedlist" title="Bullet list"><i class="aweicon-list-ul"></i></a> |
<a class="btn btn-default" data-edit="insertorderedlist" title="Number list"><i class="aweicon-list-ol"></i></a> |
<a class="btn btn-default" data-edit="outdent" title="Reduce indent (Shift+Tab)"><i class="aweicon-indent-left"></i></a> |
<a class="btn btn-default" data-edit="indent" title="Indent (Tab)"><i class="aweicon-indent-right"></i></a> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default" data-edit="justifyleft" title="Align Left (Ctrl/Cmd+L)"><i class="aweicon-align-left"></i></a> |
<a class="btn btn-default" data-edit="justifycenter" title="Center (Ctrl/Cmd+E)"><i class="aweicon-align-center"></i></a> |
<a class="btn btn-default" data-edit="justifyright" title="Align Right (Ctrl/Cmd+R)"><i class="aweicon-align-right"></i></a> |
<a class="btn btn-default" data-edit="justifyfull" title="Justify (Ctrl/Cmd+J)"><i class="aweicon-align-justify"></i></a> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown" title="Hyperlink"><i class="aweicon-link"></i></a> |
<div class="dropdown-menu input-append"> |
<input class="span2" placeholder="URL" type="text" data-edit="createLink"/> |
<button class="btn" type="button">Add</button> |
</div> |
<a class="btn btn-default" data-edit="unlink" title="Remove Hyperlink"><i class="aweicon-cut"></i></a> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default" title="Insert picture (or just drag & drop)" id="pictureBtn"><i class="aweicon-picture"></i></a> |
<input type="file" data-role="magic-overlay" data-target="#pictureBtn" data-edit="insertImage" /> |
</div> |
<div class="btn-group"> |
<a class="btn btn-default" data-edit="undo" title="Undo (Ctrl/Cmd+Z)"><i class="aweicon-undo"></i></a> |
<a class="btn btn-default" data-edit="redo" title="Redo (Ctrl/Cmd+Y)"><i class="aweicon-repeat"></i></a> |
</div> |
<!-- |
<div class="btn-group"> |
<img style="width:20px" draggable="true" src="<%=request.getContextPath()%>/imgs/grafico.gif" class="bacoTemplate" template-target="template1"/> |
<img style="width:20px" draggable="true" src="<%=request.getContextPath()%>/imgs/grafico.gif" class="bacoTemplate" template-target="template2"/> |
<img style="width:20px" draggable="true" src="<%=request.getContextPath()%>/imgs/grafico.gif" class="bacoTemplate" template-target="template3"/> |
<img style="width:20px" draggable="true" src="<%=request.getContextPath()%>/imgs/grafico.gif" class="bacoTemplate" template-target="template4"/> |
</div>--> |
<!-- <script> |
var emEdicao; |
function setupPalete() |
{ |
$(".meupanel").click( |
function(){ |
emEdicao = this; |
$(emEdicao).css({border:"3px solid yellow"}); |
} |
); |
} |
$(document).ready(function(){ |
$(".bacoTemplate").on("dragstart", |
function(e){ |
e.originalEvent.dataTransfer.setData("template", $(e.target).attr("template-target")); |
} |
); |
}); |
</script>--> |
</div> |
<div id="editor" class="dropable"> |
</div> |
</baco:clearOperation> |
</div> |
</div> |
<html:hidden styleId="introHtml" property="questionario.introHtml"/> |
<hr/> |
<% |
for(int i = 1; i <= 40; i ++) |
{ |
request.setAttribute("p",i); |
request.setAttribute("pBefore",i-1); |
%> |
<logic:present name="QuestionarioForm" property="questionario.p${p}Group"> |
<logic:equal value="1" name="p"> |
<h3> |
<logic:equal value="1" name="QuestionarioForm" property="questionario.p${p}Group"> |
1 - ${QuestionarioForm.questionario.group1Title} |
</logic:equal> |
<logic:equal value="2" name="QuestionarioForm" property="questionario.p${p}Group"> |
2 - ${QuestionarioForm.questionario.group2Title} |
</logic:equal> |
<logic:equal value="3" name="QuestionarioForm" property="questionario.p${p}Group"> |
3 - ${QuestionarioForm.questionario.group3Title} |
</logic:equal> |
<logic:equal value="4" name="QuestionarioForm" property="questionario.p${p}Group"> |
4 - ${QuestionarioForm.questionario.group4Title} |
</logic:equal> |
<logic:equal value="5" name="QuestionarioForm" property="questionario.p${p}Group"> |
5 - ${QuestionarioForm.questionario.group5Title} |
</logic:equal> |
<logic:equal value="6" name="QuestionarioForm" property="questionario.p${p}Group"> |
6 - ${QuestionarioForm.questionario.group6Title} |
</logic:equal> |
<logic:equal value="7" name="QuestionarioForm" property="questionario.p${p}Group"> |
7 - ${QuestionarioForm.questionario.group7Title} |
</logic:equal> |
<logic:equal value="8" name="QuestionarioForm" property="questionario.p${p}Group"> |
8 - ${QuestionarioForm.questionario.group8Title} |
</logic:equal> |
<logic:equal value="9" name="QuestionarioForm" property="questionario.p${p}Group"> |
9 - ${QuestionarioForm.questionario.group9Title} |
</logic:equal> |
<logic:equal value="10" name="QuestionarioForm" property="questionario.p${p}Group"> |
10 - ${QuestionarioForm.questionario.group10Title} |
</logic:equal> |
</h3> |
</logic:equal> |
<logic:greaterThan value="1" name="p"> |
<jomm:notEqualBeans name1="QuestionarioForm" property1="questionario.p${p}Group" name2="QuestionarioForm" property2="questionario.p${pBefore}Group"> |
<hr/> |
<h3> |
<logic:equal value="1" name="QuestionarioForm" property="questionario.p${p}Group"> |
1 - ${QuestionarioForm.questionario.group1Title} |
</logic:equal> |
<logic:equal value="2" name="QuestionarioForm" property="questionario.p${p}Group"> |
2 - ${QuestionarioForm.questionario.group2Title} |
</logic:equal> |
<logic:equal value="3" name="QuestionarioForm" property="questionario.p${p}Group"> |
3 - ${QuestionarioForm.questionario.group3Title} |
</logic:equal> |
<logic:equal value="4" name="QuestionarioForm" property="questionario.p${p}Group"> |
4 - ${QuestionarioForm.questionario.group4Title} |
</logic:equal> |
<logic:equal value="5" name="QuestionarioForm" property="questionario.p${p}Group"> |
5 - ${QuestionarioForm.questionario.group5Title} |
</logic:equal> |
<logic:equal value="6" name="QuestionarioForm" property="questionario.p${p}Group"> |
6 - ${QuestionarioForm.questionario.group6Title} |
</logic:equal> |
<logic:equal value="7" name="QuestionarioForm" property="questionario.p${p}Group"> |
7 - ${QuestionarioForm.questionario.group7Title} |
</logic:equal> |
<logic:equal value="8" name="QuestionarioForm" property="questionario.p${p}Group"> |
8 - ${QuestionarioForm.questionario.group8Title} |
</logic:equal> |
<logic:equal value="9" name="QuestionarioForm" property="questionario.p${p}Group"> |
9 - ${QuestionarioForm.questionario.group9Title} |
</logic:equal> |
<logic:equal value="10" name="QuestionarioForm" property="questionario.p${p}Group"> |
10 - ${QuestionarioForm.questionario.group10Title} |
</logic:equal> |
</h3> |
</jomm:notEqualBeans> |
</logic:greaterThan> |
</logic:present> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="p${p}">Pergunta ${p}:</label> |
<div class="col-sm-8"> |
<html:textarea styleClass="form-control" property="questionario.p${p}" styleId="p${p}"/> |
</div> |
<div class="col-sm-2"> |
<html:select styleClass="form-control perguntaGroup" property="questionario.p${p}Group" onchange="set(this.form,'refresh');submitQuestionarioForm(form);"> |
<html:option value="">Nenhum</html:option> |
<% |
for(int a = 1;a<10;a++) |
{ |
request.setAttribute("a",a); |
%> |
<logic:notEmpty name="QuestionarioForm" property="questionario.group${a}Title"> |
<html:option value="${a}"><bean:write name="QuestionarioForm" property="questionario.group${a}Title"/></html:option> |
</logic:notEmpty> |
<% |
} |
%> |
</html:select> |
</div> |
</div> |
<% |
} |
%> |
</div> |
<baco:clearOperation name="QuestionarioForm" property="questionario" op="QUESTIONARIO_SAVE_FORM"> |
<button type="button" class="btn btn-success" onclick="submitQuestionarioForm(form);"><bean:message key="confirm"/></button> |
</baco:clearOperation> |
<html:link action="/user/listQuestionarios" styleClass="btn btn-danger"><bean:message key="cancel"/></html:link> |
</div> |
</div> |
</html:form> |
/branches/v3/impl/src/web/user/questionarios/questionarioStateASSIGNED_ANSWERS.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Respostas Atribuidas Tarefas disponiveis |
/branches/v3/impl/src/web/user/questionarios/QuestionarioState.bmp |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/branches/v3/impl/src/web/user/questionarios/topnavQuestionarioList.jsp |
---|
New file |
0,0 → 1,11 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace(null, "surveys"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/questionarios/questionarioPedagodigoDetails.jsp |
---|
New file |
0,0 → 1,90 |
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %> |
<%@ page import="java.util.List" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<html:form styleClass="form-horizontal" action="/user/questionariosPae" enctype="multipart/form-data"> |
<input type="hidden" name="dispatch" value="saveDetails"> |
<html:hidden property="questionario.id"/> |
<jsp:useBean id="QuestionarioForm" type="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" scope="request"/> |
<html:errors/> |
<jomm:messages/> |
<h3>Questionário (Número Controlo - ${QuestionarioForm.questionario.id})</h3> |
<!-- Modal content--> |
<h3><a href="javascript:$('#diagrama').animate({height:'toggle'},200);">Ver Diagrama de Estados dos Questionários</a></h3> |
<div id="diagrama" style="display: none" class="panel panel-default"> |
<div class="panel-body"> |
<!--<div class="alert alert-warning"> |
ATENÇÃO: A alteração dos códigos dos grupos vai afetar os resultados históricos e o processamento de resultados. Não altere os códigos dos grupos |
já existentes sem coordenação com a equipa de desenvolvimento. |
</div>--> |
<img src="<%=request.getContextPath()%>/user/questionarios/QuestionarioState.bmp"/> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="year">Categoria Histórica</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" styleId="year" property="questionarioHistoryDriveId"> |
<html:optionsCollection name="historyDrives" label="codeName" value="id"/> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="year">Processador de Respostas</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" styleId="year" property="questionarioHistoryDriveId"> |
<html:optionsCollection name="historyDrives" label="codeName" value="id"/> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="year"><bean:message key="course.importYear"/></label> |
<div class="col-sm-10"> |
<% |
List<String> years = DatesUtils.getImportYears(10); |
%> |
<html:select styleClass="form-control" styleId="year" property="questionario.year"> |
<html:option value="">Escolha Ano</html:option> |
<% |
for(String year:years) |
{ |
request.setAttribute("year",year); |
%> |
<html:option value="${year}">${year}</html:option> |
<% |
} |
%> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="semestre">Semestre:</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" styleId="semestre" property="questionario.semestre"> |
<html:option value="">Escolha semestre</html:option> |
<html:option value="A">Anual</html:option> |
<html:option value="S1">Semestre 1</html:option> |
<html:option value="S2">Semestre 2</html:option> |
<html:option value="T1">Trimestre 1</html:option> |
<html:option value="T2">Trimestre 2</html:option> |
<html:option value="T3">Trimestre 3</html:option> |
<html:option value="T4">Trimestre 4</html:option> |
</html:select> |
</div> |
</div> |
</html:form> |
/branches/v3/impl/src/web/user/questionarios/questionarioStateCREATED.jsp |
---|
New file |
0,0 → 1,18 |
<%@ 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="Questionario" type="pt.estgp.estgweb.domain.QuestionarioImpl" scope="request"/> |
<p>${Questionario.iAnswersProcessorClass.title}:</p> |
<p> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SET_STATE_ASSIGNATION_DETAILS"> |
<html:link styleClass="btn btn-default" action="/user/questionariosPaeStartAfectacoes?questionario.id=${Questionario.id}"> |
Iniciar Afectações Especificas <span class="glyphicon glyphicon-wrench"/> |
</html:link> |
</baco:clearOperation> |
</p> |
/branches/v3/impl/src/web/user/questionarios/questionarioStateCLOSED.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Fechado |
/branches/v3/impl/src/web/user/questionarios/questionarioStatePROCESSING_WITH_ANSWERS.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Aberto para Responder com Respostas |
/branches/v3/impl/src/web/user/questionarios/questionarioStateASSIGNING_ANSWERS_PROCESSEMENT.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Atribuindo Respostas Tarefas disponiveis |
/branches/v3/impl/src/web/user/questionarios/questionarioStatePROCESSING.jsp |
---|
New file |
0,0 → 1,9 |
<%@ 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" %> |
Estado Aberto para Responder |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/cursosJobInfo.jsp |
---|
New file |
0,0 → 1,50 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.Course" %> |
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.services.jobs.ServiceJob" %> |
<%@ page import="pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService" %> |
<%@ 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-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" %> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th class="filter-name filter-select">Instituição</th> |
<th class="filter-true">Código</th> |
<th class="filter-true">Nome</th> |
<th class="filter-name filter-select">Tipo</th> |
</tr> |
</thead> |
<tbody> |
<% |
long jobId = Long.parseLong(request.getParameter("jobId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
JobServiceTaskImpl job = (JobServiceTaskImpl) DaoFactory.getJobServiceTaskDaoImpl().load(jobId); |
String coursesList = job.getParameter(ServiceJob.JOB_questionario_courseList_KEY).getObject(); |
List<Course> courses = new UpdateCoursesAndUnitsJobService().getCoursesList(coursesList); |
for(Course c: courses) |
{ |
request.setAttribute("c",c); |
%> |
<tr> |
<td><%=ConfigProperties.getProperty("institution.code." + c.getInstitutionalCode())%></td> |
<td>${c.code}</td> |
<td>${c.name}</td> |
<td><bean:message key="course.${c.degree}"/></td> |
</tr> |
<% |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</tbody> |
</table> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioLogState.jsp |
---|
New file |
0,0 → 1,23 |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ 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" %> |
<% |
long questionarioId = Long.parseLong(request.getParameter("questionarioId")); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
request.setAttribute("Questionario", questionario); |
%> |
<pre> |
${Questionario.logStates} |
</pre> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesSelection.jsp |
---|
New file |
0,0 → 1,309 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %> |
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.web.form.configuration.SchedulleTasksForm" %> |
<%@ page import="pt.estgp.estgweb.domain.*" %> |
<%@ page import="pt.estgp.estgweb.services.jobs.ServiceJob" %> |
<%@ page import="pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService" %> |
<%@ page import="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" %> |
<%@ 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" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
Long questionarioId = Long.parseLong(qId); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
request.setAttribute("Questionario", questionario); |
AbstractDao.getCurrentSession().beginTransaction(); |
JobServiceTaskImpl job = questionario.getCourseSelectionTaskId() > 0 ? |
(JobServiceTaskImpl) DaoFactory.getJobServiceTaskDaoImpl().load(questionario.getCourseSelectionTaskId()) : |
null; |
request.setAttribute("Job", job); |
List<String> institutionCodes = ConfigProperties.getListValues("questionario.instituition."); |
%> |
<html:form action="/user/questionariosPaeSelectCourses"> |
<jsp:useBean id="QuestionarioForm" type="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" scope="request"/> |
<% |
//Variavel iniciada no serviço de load por chamada do IAnswerProcessor respectivo para inicializar |
//as variaveis especificas |
QuestionarioForm.setCoursesSelectedIds(questionario.getAfetacoesVarCoursesSelectionForJob()); |
%> |
<div class="container-fluid"> |
<script> |
$(document).ready( |
function() |
{ |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES"> |
$(".courseCheck").attr("data-toogle","toggle"); |
$('.courseCheck').bootstrapToggle({ |
on: 'Sim', |
off: 'Não' |
}); |
$('.checkAll').bootstrapToggle({ |
on: 'Sim', |
off: 'Não' |
}); |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES"> |
$('.courseCheck').bootstrapToggle('disable'); |
$('.checkAll').bootstrapToggle('disable'); |
</baco:notClearOperation> |
} |
); |
function selectAll(code,source) |
{ |
$('#institution' + code).find('.courseCheck').each( |
function() |
{ |
if($(source).prop("checked")) |
$(this).bootstrapToggle('on'); |
else |
$(this).bootstrapToggle('off'); |
}); |
} |
</script> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
Selecção de Cursos para o Questionário ${Questionario.id} - Periodo: ${Questionario.semestre} de ${Questionario.year} |
</div> |
<div class="panel-body"> |
<html:errors/> |
<jomm:messages/> |
<div class="baco-please-wait"> |
</div> |
<div class="baco-please-wait-target"> |
<ul class="nav nav-tabs"> |
<li id="institutionsSeparatorsGerarFinal"><a href="javascript:showInstitutionCode('GerarFinal')"><strong><u>Operações</u></strong></a></li> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
%> |
<li id="institutionsSeparators<%=institutionCode%>"><a href="javascript:showInstitutionCode('<%=institutionCode%>')"><%=institutionName%></a></li> |
<% |
} |
%> |
</ul> |
<script> |
$(document).ready( |
function(){ |
showInstitutionCode('GerarFinal'); |
} |
); |
function showInstitutionCode(institutionCode) |
{ |
<% |
for(String institutionCode: institutionCodes) |
{ |
%> |
if(institutionCode == '<%=institutionCode%>') |
{ |
$("#institution<%=institutionCode%>").show(); |
$("#institutionsSeparators<%=institutionCode%>").addClass("active"); |
} |
else |
{ |
$("#institution<%=institutionCode%>").hide(); |
$("#institutionsSeparators<%=institutionCode%>").removeClass("active"); |
} |
<% |
} |
%> |
if(institutionCode == 'GerarFinal') |
{ |
$("#institutionGerarFinal").show(); |
$("#institutionsSeparatorsGerarFinal").addClass("active"); |
} |
else |
{ |
$("#institutionGerarFinal").hide(); |
$("#institutionsSeparatorsGerarFinal").removeClass("active"); |
} |
} |
</script> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findCoursesWithUnitsIn(questionario.getYear(),institutionCode,questionario.getSemestre()); |
%> |
<div class="panel panel-default" id="institution<%=institutionCode%>" style="display: none"> |
<div class="panel-heading"> |
Cursos da <%=institutionName%> |
</div> |
<div class="panel-body"> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Codigo</th> |
<th>Tipo de Curso</th> |
<th>Curso</th> |
<th>Papel Comissão Curso</th> |
<th>Unidades</th> |
<th>Turmas</th> |
<th class="filter-false" data-sorter="false"> |
<input class="checkAll" type="checkbox" onchange="selectAll('<%=institutionCode%>',this)"> |
</th> |
</tr> |
</thead> |
<tbody> |
<% |
for(Course course: courses) |
{ |
int unitsSize=DaoFactory.getCourseDaoImpl().countCoursesUnits(questionario.getYear(), course.getId()); |
int turmasSize = DaoFactory.getCourseDaoImpl().countCoursesUnitsTurmas(questionario.getYear(), course.getId()); |
CourseView cv = new CourseView(course); |
request.setAttribute("CourseView",cv); |
%> |
<tr> |
<td>${CourseView.code}</td> |
<td><bean:message key="course.${CourseView.degreeCleanCode}"/></td> |
<td>${CourseView.name}</td> |
<td> |
<logic:notEmpty name="CourseView" property="validationRole"> |
<bean:message key="user.role.${CourseView.validationRole}"/> |
</logic:notEmpty> |
<logic:empty name="CourseView" property="validationRole"> |
Papel não atribuido (Corrigir Situação) |
</logic:empty> |
</td> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCourseUnits.jsp?importYear=${CourseView.importYear}&courseId=${CourseView.id}" data-title="Unidades do Curso de ${CourseView.name} (${CourseView.code})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=unitsSize%> |
</a> |
</td> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCourseUnitsTurmas.jsp?importYear=${CourseView.importYear}&courseId=${CourseView.id}" data-title="Turmas do Curso de ${CourseView.name} (${CourseView.code})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=turmasSize%> |
</a> |
</td> |
<td> |
<html:multibox property="coursesSelectedIds" value="${CourseView.id}" styleClass="courseCheck"/> |
</td> |
</tr> |
<% |
} |
%> |
</tbody> |
</table> |
</div> |
</div> |
<% |
} |
%> |
<div class="panel panel-primary" id="institutionGerarFinal"> |
<div class="panel-heading"> |
Atribuição de Cursos e Unidades ao Questionário |
</div> |
<div class="panel-body"> |
<div class="col-sm-6"> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES"> |
<div class="alert alert-warning">Esta operação vai associar todos os cursos seleccionados e respectivas unidades curriculares |
ao questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}</div> |
<div class="alert alert-info alert-small">Esta operação poderá ser revertida ou então repetida para atualizar os cursos alvo do questionário</div> |
<div class="alert alert-info alert-small">Esta operação poderá demorar alguns instantes</div> |
<html:hidden property="questionario.id" value="${Questionario.id}"/> |
<input type="hidden" name="questionarioId" value="${Questionario.id}"/> |
<input type="hidden" name="dispatch" value="selectCourses"/> |
</baco:clearOperation> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES"> |
<button class="btn btn-warning" type="button" onclick="this.form.submit()">Associar Cursos e Unidades Curriculares</button> |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES"> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SEE_SELECT_COURSES"> |
<div class="alert alert-warning">O sistema agendou a atribuição de cursos e unidades ao questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}. Veja o progresso em baixo, caso não termine no final de 30 minutos esta tarefa ficará de novo disponivel</div> |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SEE_SELECT_COURSES"> |
<div class="alert alert-warning">Não têm autorização para ver esta secção</div> |
</baco:notClearOperation> |
</baco:notClearOperation> |
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioLogState.jsp?questionarioId=${Questionario.id}" data-title="Registo de mudanças de estado do questionario ${Questionario.id}" data-toggle="modal" data-target="#modalAjaxRequest"> |
Registo de Mudanças de Estado |
</a> |
</div> |
<div class="col-sm-6"> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SEE_SELECT_COURSES"> |
<% |
if(job != null) |
{ |
SchedulleTasksForm schedulleTasksForm = new SchedulleTasksForm(); |
schedulleTasksForm.setJobServiceTask(job); |
schedulleTasksForm.setId(job.getId()); |
request.setAttribute("SchedulleTasksForm",schedulleTasksForm); |
%> |
<div class="task-log task-log-xs" data-href="<%=request.getContextPath()%>/user/questionarioPedagogicoStartChooseCourses.do?questionarioId=${Questionario.id}"> |
<jsp:include page="/admin/configuration/taskLog.jsp"/> |
</div> |
<% |
} |
else |
{ |
%> |
<div class="alert alert-danger">O sistema não conseguiu encontrar a tarefa de atribuição nas tarefas agendadas, por favor verifique em todos os logs de tarefas <html:link action="/user/configurationJobTasks">Aqui</html:link> </div> |
<% |
} |
%> |
</baco:clearOperation> |
</div> |
</div> |
</div> |
<div class="col-sm-12"> |
<html:link action="/user/adminQuestionario?questionario.id=${Questionario.id}#NOWTASK" styleClass="btn btn-danger">Voltar à administração</html:link> |
</div> |
</div> |
</div> |
</div> |
</div> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</html:form> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioObsEdit.jsp |
---|
New file |
0,0 → 1,54 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.Course" %> |
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.services.jobs.ServiceJob" %> |
<%@ page import="pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfeta" %> |
<%@ 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" %> |
<% |
long unidadeAfetaId = Long.parseLong(request.getParameter("unidadeAfetaId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
QuestionarioPedagogicoUnidadeCurricularAfeta unidadeAfeta = DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().load(unidadeAfetaId); |
String targetSetVarId = request.getParameter("targetSetVarId"); |
long cursoAfetoId=unidadeAfeta.getCursoAfeto().getId(); |
%> |
<script> |
$(document).ready( |
function(){ |
$("#setObsUnidade<%=unidadeAfetaId%>").on("click",function(){ |
var val = $('#setObsUnidade<%=unidadeAfetaId%>Val').val(); |
if($.trim(val) != "") |
$('#<%=targetSetVarId%>').addClass("obsContent"); |
else |
$('#<%=targetSetVarId%>').removeClass("obsContent"); |
setUnidadeAfetaVar('<%=cursoAfetoId%>','<%=unidadeAfetaId%>','observacoes',val,$('#<%=targetSetVarId%>')); |
}); |
} |
); |
</script> |
<form role="form"> |
<div class="form-group"> |
<label class="control-label col-sm-2">Observações</label> |
<div class="col-sm-10"> |
<textarea class="form-control" rows="10" name="val" id="setObsUnidade<%=unidadeAfetaId%>Val"><%=unidadeAfeta.getObs()%></textarea> |
</div> |
</div> |
<button type="button" id="setObsUnidade<%=unidadeAfetaId%>" class="btn btn-success pull-right" data-dismiss="modal">Salvar</button> |
<button style="margin-right:10px" type="button" onclick="$(this.form).find('textarea').html('')" class="btn btn-warning pull-right">Clear</button> |
</form> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoCoursesCheck.jsp |
---|
New file |
0,0 → 1,27 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
Long questionarioId = Long.parseLong(qId); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace("/user/listQuestionarios.do", "surveys"); |
topNav.addNavPlace("/user/adminQuestionario.do?questionario.id=" + questionarioId, "survey.admin",""+questionarioId); |
topNav.addNavPlace(null, "questionarios.check.courses",questionario.getSemestre(),questionario.getYear()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/setUnidadeAfetaVar.jsp |
---|
New file |
0,0 → 1,34 |
<%@ page import="org.json.JSONObject"%><%@ page import="pt.estgp.estgweb.web.utils.RequestUtils"%><%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager"%><%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager"%><%@ page contentType="application/json;charset=UTF-8" language="java" %> |
<% |
try{ |
String questionarioId = request.getParameter("questionarioId"); |
String unidadeAfetaId = request.getParameter("unidadeAfetaId"); |
String op = request.getParameter("op"); |
String val = request.getParameter("val"); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId","cursosAfetos"}; |
Object[] args = {Long.parseLong(questionarioId),Long.parseLong(unidadeAfetaId),op,val}; |
sm.execute(RequestUtils.getRequester(request, response),"QuestionarioUpdateCheckVarPedagogico",args,names); |
JSONObject json = new JSONObject(); |
json.put("ok","ok"); |
out.print(json.toString()); |
}catch(Throwable e) |
{ |
JSONObject json = new JSONObject(); |
if(e.getCause() != null) |
json.put("error",e.toString() + " - causa: " + e.getCause().toString()); |
else |
json.put("error",e.toString()); |
out.print(json.toString()); |
} |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/courseInfoJson.jsp |
---|
New file |
0,0 → 1,20 |
<%@ page import="jomm.dao.impl.AbstractDao"%><%@ page import="org.hibernate.Query"%><%@ page import="org.json.JSONObject"%><%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto"%><%@ page import="java.util.List"%><%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory"%><%@ page import="pt.estgp.estgweb.domain.dao.impl.QuestionarioPedagogicoCursoAfetoDaoImpl"%><%@ page contentType="application/json;charset=UTF-8" language="java" %> |
<% |
long cursoAfetoId = Long.parseLong(request.getParameter("cursoAfetoId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
QuestionarioPedagogicoCursoAfetoDaoImpl.CourseStatsVars stats = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().loadStats(cursoAfetoId); |
JSONObject json = new JSONObject(); |
json.put("porVer",stats.porVer); |
json.put("naoUsadas",stats.naoUsadas); |
json.put("marcadas",stats.marcadas); |
json.put("observadas",stats.observadas); |
json.put("unidades",stats.unidades); |
out.print(json.toString()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoCoursesAdmin.jsp |
---|
New file |
0,0 → 1,27 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
Long questionarioId = Long.parseLong(qId); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace("/user/listQuestionarios.do", "surveys"); |
topNav.addNavPlace("/user/adminQuestionario.do?questionario.id=" + questionarioId, "survey.admin",""+questionarioId); |
topNav.addNavPlace(null, "questionarios.choose.courses",questionario.getSemestre(),questionario.getYear()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/listCunitTurmas.jsp |
---|
New file |
0,0 → 1,69 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnitTurma" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<% |
Long courseUnitId = Long.parseLong(request.getParameter("courseUnitId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<Object[]> turmas = DaoFactory.getCourseUnitTurmaDaoImpl().loadByCourseUnit(courseUnitId); |
/** |
* .add(Projections.groupProperty("turma")) |
.add(Projections.groupProperty("courseUnit.importYear")) |
.add(Projections.groupProperty("courseUnit.name")) |
.add(Projections.groupProperty("courseUnit.courseName")) |
.add(Projections.groupProperty("courseUnit.courseCode")) |
.add(Projections.countDistinct("student.id")) |
.add(Projections.countDistinct("courseUnit.course.id"))) |
*/ |
%> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Turma</th> |
<th>Ano</th> |
<th>Students</th> |
</tr> |
</thead> |
<tbody> |
<% |
for(Object[] cturma : turmas) |
{ |
String turma = (String) cturma[0]; |
String importYear = (String) cturma[1]; |
String unidade = (String) cturma[2]; |
String courseName = (String) cturma[3]; |
String courseCode = (String) cturma[4]; |
Integer students = (Integer) cturma[5]; |
Long courseId = (Long) cturma[6]; |
%> |
<tr> |
<td> |
<a href="#" class="reloadAjaxRequestModal" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listTurmasCourseUnits.jsp?importYear=<%=importYear%>&courseId=<%=courseId%>&turma=<%=turma%>" data-title="Unidades com a turma <%=turma%> do Curso de <%=courseName%> (<%=courseCode%>)"> |
<%=turma%> |
</a> |
</td> |
<td><%=importYear%></td> |
<td><%=students%></td> |
</tr> |
<% |
} |
%> |
</tbody> |
</table> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/listCourseUnitsTurmas.jsp |
---|
New file |
0,0 → 1,57 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.Course" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<% |
long courseId = Long.parseLong(request.getParameter("courseId")); |
String importYear = request.getParameter("importYear"); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<Object[]> courseUnitTurmas = DaoFactory.getCourseUnitTurmaDaoImpl().loadByCourse(courseId, importYear); |
Course course = DaoFactory.getCourseDaoImpl().load(courseId); |
%> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Ano</th> |
<th>Turma</th> |
<th>Unidades</th> |
<th>Estudantes</th> |
</tr> |
</thead> |
<tbody> |
<% |
for(Object[] pair : courseUnitTurmas) |
{ |
String turma = (String) pair[0]; |
Integer count = (Integer) pair[1]; |
Integer students = (Integer) pair[2]; |
%> |
<tr> |
<td><%=importYear%></td> |
<td><%=turma%></td> |
<td> |
<a href="#" class="reloadAjaxRequestModal" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listTurmasCourseUnits.jsp?importYear=<%=importYear%>&courseId=<%=courseId%>&turma=<%=turma%>" data-title="Unidades com a turma <%=turma%> do Curso de <%=course.getName()%> (<%=course.getCode()%>)"> |
<%=count%> |
</a> |
</td> |
<td><%=students%></td> |
</tr> |
<% |
} |
%> |
</tbody> |
</table> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/listTurmasCourseUnits.jsp |
---|
New file |
0,0 → 1,59 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnitTurma" %> |
<%@ 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" %> |
<% |
long courseId = Long.parseLong(request.getParameter("courseId")); |
String importYear = request.getParameter("importYear"); |
String turma = request.getParameter("turma"); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<CourseUnit> courseUnits = DaoFactory.getCourseUnitDaoImpl().loadByCourseTurma(courseId, importYear,turma); |
request.setAttribute("courseUnits",courseUnits); |
%> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Codigo</th> |
<th>Nome</th> |
<th>Semestre</th> |
<th>Curso</th> |
<th>Codigo Curso</th> |
<th>Turmas</th> |
</tr> |
</thead> |
<tbody> |
<logic:iterate id="courseUnit" name="courseUnits" type="pt.estgp.estgweb.domain.CourseUnit"> |
<tr> |
<td>${courseUnit.code}</td> |
<td> |
<a target="_blank" href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=${courseUnit.id}">${courseUnit.name}</a> |
</td> |
<td>${courseUnit.semestre}</td> |
<td> |
<a class="reloadAjaxRequestModal" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCourseUnitsTurmas.jsp?importYear=${courseUnit.importYear}&courseId=<%=courseId%>" data-title="Turmas do Curso de ${courseUnit.courseName} (${courseUnit.courseCode})"> |
${courseUnit.courseName} |
</a> |
</td> |
<td>${courseUnit.courseCode}</td> |
<td> |
<a class="reloadAjaxRequestModal" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCunitTurmas.jsp?courseUnitId=${courseUnit.id}" data-title="Turmas da Unidade ${courseUnit.name} (${courseUnit.code}) do curso de ${courseUnit.courseName} (${courseUnit.courseCode})"> |
<%=courseUnit.getTurmas().size()%> |
</a> |
</td> |
</tr> |
</logic:iterate> |
</tbody> |
</table> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckCursoAfeto.jsp |
---|
New file |
0,0 → 1,243 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
<%@ page import="pt.estgp.estgweb.domain.*" %> |
<%@ 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" %> |
<% |
long cursoAfetoId = Long.parseLong(request.getParameter("cursoAfetoId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
QuestionarioPedagogicoCursoAfeto cursoAfeto = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().load(cursoAfetoId); |
cursoAfeto = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().narrow(cursoAfeto); |
request.setAttribute("CursoAfeto",cursoAfeto); |
Questionario q = cursoAfeto.getQuestionario(); |
q = DaoFactory.getQuestionarioDaoImpl().narrow(q); |
((QuestionarioImpl)q).initClearances((UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest(request),false); |
request.setAttribute("Questionario",q); |
%> |
<jsp:useBean id="Questionario" type="pt.estgp.estgweb.domain.QuestionarioImpl" scope="request"/> |
<script> |
$(document).ready( |
function() |
{ |
$("#cursoAfetoTable${CursoAfeto.id} .usarCheck").each(function() |
{ |
if($(this).prop("checked")) |
{ |
$(this).closest("td").addClass("usarChecked"); |
$(this).closest("td").removeClass("usarNotChecked"); |
} |
else |
{ |
$(this).closest("td").removeClass("usarChecked"); |
$(this).closest("td").addClass("usarNotChecked"); |
} |
} |
); |
$("#cursoAfetoTable${CursoAfeto.id} .vistaCheck").each(function() |
{ |
if($(this).prop("checked")) |
{ |
$(this).closest("td").addClass("vistaChecked"); |
$(this).closest("td").removeClass("vistaNotChecked"); |
} |
else |
{ |
$(this).closest("td").removeClass("vistaChecked"); |
$(this).closest("td").addClass("vistaNotChecked"); |
} |
}); |
$("#cursoAfetoTable${CursoAfeto.id} .usarCheck").on("change",function() |
{ |
if($(this).prop("checked")) |
{ |
$(this).closest("td").addClass("usarChecked"); |
$(this).closest("td").removeClass("usarNotChecked"); |
} |
else |
{ |
$(this).closest("td").removeClass("usarChecked"); |
$(this).closest("td").addClass("usarNotChecked"); |
} |
}); |
$("#cursoAfetoTable${CursoAfeto.id} .vistaCheck").on("change",function() |
{ |
if($(this).prop("checked")) |
{ |
$(this).closest("td").addClass("vistaChecked"); |
$(this).closest("td").removeClass("vistaNotChecked"); |
} |
else |
{ |
$(this).closest("td").removeClass("vistaChecked"); |
$(this).closest("td").addClass("vistaNotChecked"); |
} |
}); |
} |
); |
</script> |
<table id="cursoAfetoTable${CursoAfeto.id}" class="tablesorter-blue"> |
<thead> |
<tr> |
<th></th> |
<th>Codigo</th> |
<th>Nome</th> |
<%--<th>Tipologias Manuais</th>--%> |
<th>Turmas</th> |
<th>Docentes</th> |
<th>Estudantes</th> |
<th>Alertas</th> |
<th>Docentes s/ sumario</th> |
<th>Turmas s/ sumario</th> |
<th>Usar</th> |
<th>Vista</th> |
<th>Obs.</th> |
</tr> |
</thead> |
<tbody> |
<logic:iterate id="unidade" name="CursoAfeto" property="unidadesAfetas" type="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfetaImpl"> |
<tr id="unidadeAfetaRow${unidade.id}"> |
<td> |
<script> |
$(document).ready( |
function() |
{ |
$('#tipologias${unidade.id}').on('shown.bs.collapse', function () { |
$("#tipologias${unidade.id}Button .glyphicon").removeClass("glyphicon-zoom-in").addClass("glyphicon-zoom-out"); |
}); |
$('#tipologias${unidade.id}').on('hidden.bs.collapse', function () { |
$("#tipologias${unidade.id}Button .glyphicon").removeClass("glyphicon-zoom-out").addClass("glyphicon-zoom-in"); |
}); |
$("#unidadeAfetaRow${unidade.id} .usarCheck").on("change",function(){ |
var val =$(this).prop("checked") ? "true" : "false"; |
var op = "usar"; |
setUnidadeAfetaVar('${CursoAfeto.id}','${unidade.id}',op,val,$(this).closest("td")); |
}); |
$("#unidadeAfetaRow${unidade.id} .vistaCheck").on("change",function() |
{ |
var val =$(this).prop("checked") ? "true" : "false"; |
var op = "vista"; |
setUnidadeAfetaVar('${CursoAfeto.id}','${unidade.id}',op,val,$(this).closest("td")); |
}); |
} |
); |
</script> |
<button id="tipologias${unidade.id}Button" class="btn btn-default btn-small" type="button" data-toggle="collapse" data-target="#tipologias${unidade.id}"><span class="glyphicon glyphicon-zoom-in"></span></button> |
<script> |
$(document).ready( |
function(){ |
$.post("<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckUnidadeAfeta.jsp?unidadeAfetaId=${unidade.id}", function(data) { |
$("#tipologias${unidade.id} .tipologias") |
.html(data); |
evaluateTableSortersInside("#tipologias${unidade.id} .tipologias"); |
}); |
} |
); |
</script> |
</td> |
<td>${unidade.codigoUnidade}</td> |
<td> |
<html:link target="_blank" action="/user/startLoadCourseUnitFromHome.do?id=${unidade.courseUnit.id}"> |
${unidade.nome} |
</html:link> |
</td> |
<%-- <td>${unidade.addedTipologias}</td>--%> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCunitTurmas.jsp?courseUnitId=${unidade.courseUnit.id}" data-title="Turmas da Unidade ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
${unidade.turmas} |
</a> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/courseunits/teachersInfo.jsp?courseUnitId=${unidade.courseUnit.id}" data-title="Docentes da unidade de ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
${unidade.profs} |
</a> |
</td> |
<td> |
<% |
CourseUnitImpl courseUnitImpl = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().narrow(unidade.getCourseUnit()); |
int students = courseUnitImpl.studentsSize(); |
int studentsTurmasSize = courseUnitImpl.studentsTurmaSize(); |
if(students != studentsTurmasSize) |
{ |
unidade.setMarked(true); |
if(unidade.getObs() != null && unidade.getObs().indexOf("Nº Estudantes")< 0) |
unidade.setObs("Nº Estudantes diferente Somatorio Estudantes das turmas"); |
%> |
<a href="#" data-href="<%=request.getContextPath()%>/user/courseunits/listStudentsService.jsp?courseUnitView.id=${unidade.courseUnit.id}" data-title="Alunos da unidade de ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=students%> |
</a> |
!= |
<a href="#" data-href="<%=request.getContextPath()%>/user/courseunits/listStudentsService.jsp?courseUnitView.id=${unidade.courseUnit.id}" data-title="Alunos da unidade de ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=studentsTurmasSize%> |
</a> |
<span class="glyphicon glyphicon-alert"></span> |
<% |
} |
else |
{ |
%> |
<a href="#" data-href="<%=request.getContextPath()%>/user/courseunits/listStudentsService.jsp?courseUnitView.id=${unidade.courseUnit.id}" data-title="Alunos da unidade de ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=students%> |
</a> |
<% |
} |
%> |
</td> |
<td> |
<logic:equal value="true" name="unidade" property="marked"> |
<span class="glyphicon glyphicon-alert"></span> |
</logic:equal> |
</td> |
<td>${unidade.profsWithoutTurma}</td> |
<td>${unidade.turmaWithoutProf}</td> |
<td> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_CHANGE_ASSIGNEMENTS"> |
<html:checkbox styleClass="usarCheck" name="unidade" property="usar"/> |
</baco:clearOperation> |
</td> |
<td> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_CHANGE_ASSIGNEMENTS"> |
<html:checkbox styleClass="vistaCheck" name="unidade" property="vista"/> |
</baco:clearOperation> |
</td> |
<td id="editObsTd${unidade.id}" <%=unidade.getObs() != null && unidade.getObs().trim().length() > 0 ? "class=\"obsContent\"":""%>> |
<button class="btn btn-warning btn-small" type="button" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioObsEdit.jsp?unidadeAfetaId=${unidade.id}&targetSetVarId=editObsTd${unidade.id}" data-title="Observações para a unidade ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${CursoAfeto.nome} (${CursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"><span class="glyphicon glyphicon-pencil"></span></button> |
</td> |
</tr> |
<tr class="collapse" id="tipologias${unidade.id}"> |
<td></td> |
<td colspan="10" class="tipologias" style="padding-left: 25px"> |
<div class="panel panel-default"> |
<div class="panel-body"> |
<p>Por favor aguarde um momento, o sistema está a carregar as tipologias <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p> |
</div> |
</div> |
</td> |
</tr> |
<% |
//DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().evict(unidade); |
%> |
</logic:iterate> |
</tbody> |
</table> |
<% |
DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().evict(cursoAfeto); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckUnidadeAfeta.jsp |
---|
New file |
0,0 → 1,154 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnitImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfeta" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfetaImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<% |
long unidadeAfetaId = Long.parseLong(request.getParameter("unidadeAfetaId")); |
AbstractDao.getCurrentSession().beginTransaction(); |
QuestionarioPedagogicoUnidadeCurricularAfeta unidade = DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().load(unidadeAfetaId); |
unidade = DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().narrow(unidade); |
request.setAttribute("unidade",unidade); |
%> |
<% |
CourseUnitImpl courseUnit = (CourseUnitImpl) DaoFactory.getCourseUnitDaoImpl().narrow(unidade.getCourseUnit()); |
List<CourseUnitImpl.Tipologia> tipologias; |
if(unidade.getCursoAfeto().isUsarTipologias()) |
{ |
tipologias = courseUnit.getTipologiasClass().obtainMergeTipologias(); |
} |
else |
{ |
tipologias = courseUnit.getTipologiasClass().obtainTipologiasSimples(courseUnit); |
} |
request.setAttribute("tipologias",tipologias); |
%> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th class="filter-name filter-select">Código Docente</th> |
<th class="filter-name filter-select">Docente</th> |
<th class="filter-name filter-select">Tipologia</th> |
<th>Sumariadas</th> |
<th class="filter-name filter-select">Turma</th> |
<th>Estudantes</th> |
<th>Tip. Manual</th> |
<th>Tip. Horário Ref.</th> |
<th>Tip. Sumário</th> |
<th>Usar</th> |
</tr> |
</thead> |
<tbody> |
<logic:iterate id="tipologia" name="tipologias" type="pt.estgp.estgweb.domain.CourseUnitImpl.Tipologia"> |
<% |
CourseUnitImpl.TipologiaPersistent tipoPersistente = courseUnit.loadPersistent(tipologia); |
if(tipoPersistente == null) |
{ |
unidade.setMarked(true); |
if(unidade.getObs() != null && unidade.getObs().indexOf("Tipologia inexistente")<0) |
((QuestionarioPedagogicoUnidadeCurricularAfetaImpl)unidade).addObs( |
"Tipologia inexistente nesta unidade, possivelmente foi devida a sumários de uma turma paralela noutro curso Verificar: " + tipologia.getCdTurma() + " verificar se esta turma ou par sua têm curso associado. " |
+ tipologia.getCdDocente() + " " + tipologia.getDsTipologia()); |
%> |
<script> |
$(document).ready( |
function(){ |
$("#editObsTd${unidade.id}").removeClass("obsContent"); |
$("#editObsTd${unidade.id}").addClass("obsContent"); |
} |
); |
</script> |
<%--<tr> |
<td>${tipologia.cdDocente}</td> |
<td>ERRO PROFESSOR NAO SINCRONIZADO</td> |
<td>${tipologia.dsTipologia}</td> |
<td>${tipologia.ocorrencias}</td> |
<td>${tipologia.cdTurma}</td> |
<td>ERRO TURMA NAO SINCRONIZADA TENTE CORRER AS IMPORTACOES ALUNOS E DOCENTES</td> |
<td> |
<logic:equal value="true" name="tipologia" property="extra"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="horRef"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="sumario"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="sumario"> |
<span class="glyphicon glyphicon-ok"></span> |
</logic:equal> |
</td> |
</tr>--%> |
<% |
} |
else |
{ |
request.setAttribute("tipoPersistente",tipoPersistente); |
%> |
<tr> |
<td>${tipologia.cdDocente}</td> |
<td>${tipoPersistente.teacher.name}</td> |
<td>${tipologia.dsTipologia}</td> |
<td>${tipologia.ocorrencias}</td> |
<td>${tipologia.cdTurma}</td> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/courseunits/listStudentsService.jsp?courseUnitView.id=${unidade.courseUnit.id}&filterTurma=${tipologia.cdTurma}" data-title="Alunos da turma ${tipologia.cdTurma} da unidade de ${unidade.nome} (${unidade.codigoUnidade}) do curso de ${unidade.cursoAfeto.nome} (${unidade.cursoAfeto.codigoCurso})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=tipoPersistente.getCourseUnitTurma().getStudents().size()%> |
</a> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="extra"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="horRef"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="sumario"> |
<span class="glyphicon glyphicon-asterisk"></span> |
</logic:equal> |
</td> |
<td> |
<logic:equal value="true" name="tipologia" property="sumario"> |
<span class="glyphicon glyphicon-ok"></span> |
</logic:equal> |
</td> |
</tr> |
<% |
} |
DaoFactory.getCourseUnitDaoImpl().evict(unidade.getCourseUnit()); |
%> |
</logic:iterate> |
</tbody> |
</table> |
<% |
//DaoFactory.getQuestionarioPedagogicoUnidadeCurricularAfetaDaoImpl().evict(unidade); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/questionarioAdminPanel.jsp |
---|
New file |
0,0 → 1,174 |
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ 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="Questionario" type="pt.estgp.estgweb.domain.QuestionarioImpl" scope="request"/> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_ASSIGNATION_OPERATIONS"> |
sdfsadfasdf |
<div class="row"> |
<logic:empty name="Questionario" property="year"> |
<script> |
$(document).ready( |
function(){ |
$("#yearSemestreForm").show(); |
} |
); |
</script> |
</logic:empty> |
<logic:notEmpty name="Questionario" property="year"> |
<div class="col-md-3 col-sm-3" id="yearSemestreInfo"> |
<div class="list-group"> |
<div class="list-group-item"> |
<bean:message key="survey.list.form.year"/>: ${Questionario.year} |
</div> |
<div class="list-group-item"> |
Semestre: ${Questionario.semestre} |
</div> |
</div> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SET_ANO_SEMESTRE"> |
<button class="btn btn-default" type="button" onclick="$('#yearSemestreForm').show();$('#yearSemestreInfo').hide()">Modificar</button> |
</baco:clearOperation> |
</div> |
</logic:notEmpty> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SET_ANO_SEMESTRE"> |
<div class="col-md-6" style="display: none" id="yearSemestreForm"> |
<div class="panel panel-default"> |
<div class="panel-body"> |
<html:form styleClass="form-horizontal" action="/user/questionariosPaeYearSemestre"> |
<% |
QuestionarioForm qFr = (QuestionarioForm) request.getAttribute("QuestionarioForm"); |
if(qFr.getQuestionario().getId() <= 0) |
qFr.setQuestionario(Questionario); |
%> |
<input type="hidden" name="dispatch" value="setYearSemestre"/> |
<html:hidden property="questionario.id"/> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="year"><bean:message key="survey.list.form.year"/></label> |
<div class="col-sm-10"> |
<% |
List<String> years = DatesUtils.getImportYears(10); |
%> |
<html:select styleClass="form-control" styleId="year" property="questionario.year"> |
<html:option value="">Escolha Ano</html:option> |
<% |
for(String year:years) |
{ |
request.setAttribute("year",year); |
%> |
<html:option value="${year}">${year}</html:option> |
<% |
} |
%> |
</html:select> |
</div> |
</div> |
<div class="form-group"> |
<label class="control-label col-sm-2" for="semestre">Semestre:</label> |
<div class="col-sm-10"> |
<html:select styleClass="form-control" styleId="semestre" property="questionario.semestre"> |
<html:option value="">Escolha semestre</html:option> |
<html:option value="A">Anual</html:option> |
<html:option value="S1">Semestre 1</html:option> |
<html:option value="S2">Semestre 2</html:option> |
<html:option value="T1">Trimestre 1</html:option> |
<html:option value="T2">Trimestre 2</html:option> |
<html:option value="T3">Trimestre 3</html:option> |
<html:option value="T4">Trimestre 4</html:option> |
</html:select> |
</div> |
</div> |
<button class="btn btn-default" type="button" onclick="this.form.action = this.form.action + '#NOWTASK';this.form.submit();"><bean:message key="confirm"/></button> |
</html:form> |
</div> |
</div> |
</div> |
</baco:clearOperation> |
<hr class="visible-xs"/> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SEE_SELECT_COURSES"> |
<div class="col-md-3 col-sm-3"> |
<div class="list-group"> |
<% |
if(Questionario.getSubStatePedagodigoEnum().getPosition() >= QuestionarioImpl.SubStatePedagogico.COURSES_ASSIGNED.getPosition()) |
request.setAttribute("classAssignCourses","btn-success"); |
else |
request.setAttribute("classAssignCourses","btn-warning"); |
%> |
<div class="list-group-item"> |
<html:link styleClass="btn ${classAssignCourses}" action="/user/questionarioPedagogicoStartChooseCourses?questionarioId=${Questionario.id}"> |
Selecção de Cursos |
</html:link> |
</div> |
<logic:equal value="ASSIGNING_COURSES" name="Questionario" property="substate"> |
<div class="list-group-item"> |
<div class="alert alert-warning alert-small"> |
Os cursos estão em atribuição |
</div> |
</div> |
</logic:equal> |
<% |
if(Questionario.getSubStatePedagodigoEnum().getPosition() >= QuestionarioImpl.SubStatePedagogico.COURSES_ASSIGNED.getPosition()) |
{ |
%> |
<div class="list-group-item"> |
<a href="#" class="btn btn-info btn-sm" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/cursosJobInfo.jsp?jobId=${Questionario.courseSelectionTaskId}" data-title="Listagem de Cursos da Tarefa de Atribuição" data-toggle="modal" data-target="#modalAjaxRequest"> |
Cursos Atribuidos <span class="glyphicon glyphicon-list-alt"> </span> |
</a> |
</div> |
<% |
} |
%> |
</div> |
</div> |
</baco:clearOperation> |
<hr class="visible-xs"/> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES,QUESTIONARIO_CHANGE_ASSIGNEMENTS"> |
<div class="col-md-3 col-sm-3"> |
<div class="list-group"> |
<div class="list-group-item"> |
<html:link styleClass="btn btn-warning" action="/user/questionarioPedagogicoStartCheckCourses?questionarioId=${Questionario.id}"> |
Verificar Atribuições |
</html:link> |
</div> |
</div> |
</div> |
</baco:clearOperation> |
<hr class="visible-xs"/> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_START_ASSIGN_ANSWERS"> |
<div class="col-md-3 col-sm-3"> |
<div class="list-group"> |
<div class="list-group-item"> |
<html:link styleClass="btn btn-warning" action="/user/questionarioPedagogicoStartChooseCourses?questionarioId=${Questionario.id}"> |
Iniciar Atribuição de Respostas |
</html:link> |
</div> |
</div> |
</div> |
</baco:clearOperation> |
</div> |
<hr/> |
<div class="row"> |
<div class="col-md-12 col-sm-12"> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_REVERT_ALL_ASSIGNEMENTS"> |
<button class="btn btn-danger" type="button" data-toggle="modal" data-target="#confirm-ModalGeneric" data-message="Esta operação irá anular os cursos e unidades atribuidos anteriormente!! Tem a certeza que deseja prosseguir?" data-href="<%=request.getContextPath()%>/user/questionariosPaeSelectCourses.do?dispatch=revertAssignements&questionario.id=${Questionario.id}#NOWTASK">Anular Atribuições</button> |
</baco:clearOperation> |
</div> |
</div> |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_ASSIGNATION_OPERATIONS"> |
Não pode aceder a esta area, não está autorizado a efetuar operações de atribuição. |
</baco:notClearOperation> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/listCourseUnits.jsp |
---|
New file |
0,0 → 1,51 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<% |
long courseId = Long.parseLong(request.getParameter("courseId")); |
String importYear = request.getParameter("importYear"); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<CourseUnit> courseUnits = DaoFactory.getCourseUnitDaoImpl().loadByCourse(courseId,importYear); |
request.setAttribute("courseUnits",courseUnits); |
%> |
<table class="tablesorterfiltered"> |
<thead> |
<tr> |
<th>Codigo</th> |
<th>Nome</th> |
<th class="filter-name filter-select">Semestre</th> |
<th>Curso</th> |
<th>Codigo Curso</th> |
<th>Turmas</th> |
</tr> |
</thead> |
<tbody> |
<logic:iterate id="courseUnit" name="courseUnits" type="pt.estgp.estgweb.domain.CourseUnit"> |
<tr> |
<td>${courseUnit.code}</td> |
<td><a target="_blank" href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=${courseUnit.id}">${courseUnit.name}</a></td> |
<td>${courseUnit.semestre}</td> |
<td>${courseUnit.courseName}</td> |
<td>${courseUnit.courseCode}</td> |
<td> |
<a class="reloadAjaxRequestModal" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCunitTurmas.jsp?courseUnitId=${courseUnit.id}" data-title="Turmas da Unidade ${courseUnit.name} (${courseUnit.code}) do curso de ${courseUnit.courseName} (${courseUnit.courseCode})"> |
<%=courseUnit.getTurmas().size()%> |
</a> |
</td> |
</tr> |
</logic:iterate> |
</tbody> |
</table> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
/branches/v3/impl/src/web/user/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesCheck.jsp |
---|
New file |
0,0 → 1,467 |
<%@ page import="jomm.dao.impl.AbstractDao" %> |
<%@ page import="pt.estgp.estgweb.domain.CourseUnitImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %> |
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %> |
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %> |
<%@ page import="pt.estgp.estgweb.utils.ConfigProperties" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.utils.DynamicArrayList" %> |
<%@ 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" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
Long questionarioId = Long.parseLong(qId); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = {"questionarioId"}; |
Object[] args = {questionarioId}; |
QuestionarioImpl questionario = (QuestionarioImpl) sm.execute(RequestUtils.getRequester(request, response),"loadQuestionarioAdmin",args,names); |
request.setAttribute("Questionario", questionario); |
List<String> institutionCodes = ConfigProperties.getListValues("questionario.instituition."); |
AbstractDao.getCurrentSession().beginTransaction(); |
%> |
<jsp:useBean id="Questionario" type="pt.estgp.estgweb.domain.QuestionarioImpl" scope="request"/> |
<jsp:include page="/layout/pleaseWait.jsp"/> |
<html:form action="/user/questionariosPaeSelectCourses"> |
<html:hidden property="questionario.id" value="${Questionario.id}"/> |
<input type="hidden" name="dispatch" value="updateTipologias"/> |
<jsp:useBean id="QuestionarioForm" type="pt.estgp.estgweb.web.form.questionarios.QuestionarioForm" scope="request"/> |
<% |
//Variavel iniciada no serviço de load por chamada do IAnswerProcessor respectivo para inicializar |
//as variaveis especificas |
List<QuestionarioPedagogicoCursoAfeto> cursosAfetados = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().find(questionario.getId()); |
QuestionarioForm.setCursosAfetos(cursosAfetados); |
%> |
<div class="container-fluid"> |
<style> |
td.unidades |
{ |
background-color: dimgray !important; |
} |
td.tipologias |
{ |
background-color: #baffdc !important; |
} |
td.obsContent |
{ |
background-color: #ffda48 !important; |
} |
td.vistaChecked |
{ |
background-color: #20ff05 !important; |
} |
td.vistaNotChecked |
{ |
background-color: gray !important; |
} |
td.usarNotChecked |
{ |
background-color: red !important; |
} |
td.usarChecked |
{ |
} |
@keyframes waitPost { |
from { opacity: 1; } |
to { opacity: 0; } |
} |
td.waitPost |
{ |
background-color: yellow !important; |
animation: waitPost 0.5s cubic-bezier(.2, 0, 1, 1) infinite alternate; |
/* |
-webkit-animation-name: waitPost !important; |
-webkit-animation-iteration-count: infinite !important; |
-webkit-animation-timing-function: cubic-bezier(.5, 0, 1, 1) !important; |
-webkit-animation-duration: 1.7s !important;*/ |
} |
</style> |
<div class="panel panel-primary"> |
<div class="panel-heading"> |
Selecção de Cursos para o Questionário ${Questionario.id} - Periodo: ${Questionario.semestre} de ${Questionario.year} |
</div> |
<div class="panel-body"> |
<html:errors/> |
<jomm:messages/> |
<div class="baco-please-wait-target"> |
<ul class="nav nav-tabs"> |
<li id="institutionsSeparatorsGerarFinal"><a href="javascript:showInstitutionCode('GerarFinal')"><strong><u>Operações</u></strong></a></li> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
%> |
<li id="institutionsSeparators<%=institutionCode%>"><a href="javascript:showInstitutionCode('<%=institutionCode%>')"><%=institutionName%></a></li> |
<% |
} |
%> |
</ul> |
<script> |
$(document).ready( |
function(){ |
showInstitutionCode('GerarFinal'); |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES"> |
$(".checkAll").remove(); |
</baco:notClearOperation> |
$(".courseCheck").attr("data-toogle","toggle"); |
$('.courseCheck').bootstrapToggle({ |
on: 'Tipologias', |
off: 'Simples' |
}); |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES"> |
$('.checkAll').bootstrapToggle({ |
on: 'Tipologias', |
off: 'Simples' |
}); |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES"> |
$(".courseCheck").prop("disabled",true); |
$("#updateTipologiasButton").prop("disabled",true); |
</baco:notClearOperation> |
} |
); |
function selectAll(code,source) |
{ |
$('#institution' + code).find('.courseCheck').each( |
function() |
{ |
if($(source).prop("checked")) |
$(this).bootstrapToggle('on'); |
else |
$(this).bootstrapToggle('off'); |
}); |
} |
function showInstitutionCode(institutionCode) |
{ |
<% |
for(String institutionCode: institutionCodes) |
{ |
%> |
if(institutionCode == '<%=institutionCode%>') |
{ |
$("#institution<%=institutionCode%>").show(); |
$("#institutionsSeparators<%=institutionCode%>").addClass("active"); |
} |
else |
{ |
$("#institution<%=institutionCode%>").hide(); |
$("#institutionsSeparators<%=institutionCode%>").removeClass("active"); |
} |
<% |
} |
%> |
if(institutionCode == 'GerarFinal') |
{ |
$("#institutionGerarFinal").show(); |
$("#institutionsSeparatorsGerarFinal").addClass("active"); |
} |
else |
{ |
$("#institutionGerarFinal").hide(); |
$("#institutionsSeparatorsGerarFinal").removeClass("active"); |
} |
} |
function setUnidadeAfetaVar(cursoAfetoId,unidadeAfetaId,op,val,targetObject) |
{ |
$(targetObject).addClass("waitPost"); |
$.post("<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/setUnidadeAfetaVar.jsp", |
{ |
"questionarioId" : ${Questionario.id}, |
"unidadeAfetaId":unidadeAfetaId, |
"op":op, |
"val": val |
}, |
function(data, textStatus) |
{ |
if(data.error) |
{ |
alert(data.error); |
} |
else if(data.ok == "ok") |
{ |
$(targetObject).removeClass("waitPost"); |
reloadCursoStats(cursoAfetoId); |
} |
}, |
"json"); |
} |
function reloadCursoStats(cursoAfetoId) |
{ |
$.getJSON("<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/courseInfoJson.jsp?cursoAfetoId="+cursoAfetoId, |
function(dataJson) |
{ |
var porVer = dataJson.porVer + " "; |
if(dataJson.porVer > 0) |
{ |
porVer += "<span class=\"glyphicon glyphicon-alert\"></span>"; |
} |
$("#cursoAfetoRow" + cursoAfetoId + " .porVerCount").html(porVer); |
var marcadas = dataJson.marcadas + " "; |
if(dataJson.marcadas > 0) |
{ |
marcadas += "<span class=\"glyphicon glyphicon-alert\"></span>"; |
} |
$("#cursoAfetoRow" + cursoAfetoId + " .marcadasCount").html(marcadas); |
var observadas = dataJson.observadas + " "; |
if(dataJson.observadas > 0) |
{ |
observadas += "<span class=\"glyphicon glyphicon-alert\"></span>"; |
} |
$("#cursoAfetoRow" + cursoAfetoId + " .observadasCount").html(observadas); |
var naoUsadas = dataJson.naoUsadas + " "; |
if(dataJson.naoUsadas > 0) |
{ |
naoUsadas += "<span class=\"glyphicon glyphicon-alert\"></span>"; |
} |
$("#cursoAfetoRow" + cursoAfetoId + " .naoUsadasCount").html(naoUsadas) |
$("#cursoAfetoRow" + cursoAfetoId + " .unidadesCount").html(dataJson.unidades); |
} |
); |
} |
</script> |
<% |
for(String institutionCode: institutionCodes) |
{ |
String institutionName = ConfigProperties.getProperty("institution.code." + institutionCode); |
%> |
<div class="panel panel-default" id="institution<%=institutionCode%>" style="display: none"> |
<div class="panel-heading"> |
Cursos da <%=institutionName%> |
</div> |
<div class="panel-body"> |
<table class="tablesorter-blue"> |
<thead> |
<tr> |
<th></th> |
<th>Codigo</th> |
<th>Tipo de Curso</th> |
<th>Curso</th> |
<th>Papel Comissão Curso</th> |
<th>Unidades</th> |
<th>Alertas </th> |
<th>Por Ver</th> |
<th>Não Usadas</th> |
<th>Observadas</th> |
<th>Turmas</th> |
<th class="filter-false" data-sorter="false"> |
<input class="checkAll" type="checkbox" onchange="selectAll('<%=institutionCode%>',this)"> |
</th> |
</tr> |
</thead> |
<tbody> |
<nested:iterate id="cursoAfeto" name="QuestionarioForm" property="cursosAfetos" type="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfetoImpl" scope="request"> |
<% |
if(cursoAfeto.getCodigoInstituicao().equals(institutionCode)) |
{ |
int turmasSize = DaoFactory.getCourseDaoImpl().countCoursesUnitsTurmas(questionario.getYear(), cursoAfeto.getCourse().getId()); |
CourseView cv = new CourseView(cursoAfeto.getCourse()); |
request.setAttribute("CourseView",cv); |
request.setAttribute("CursoAfeto",cursoAfeto); |
%> |
<tr id="cursoAfetoRow${cursoAfeto.id}"> |
<td> |
<script> |
$(document).ready( |
function(){ |
reloadCursoStats("${cursoAfeto.id}"); |
$('#${CursoAfeto.codigoCurso}unidades').on('shown.bs.collapse', function (e) { |
if ($(this).is(e.target)) { |
$("#${CursoAfeto.codigoCurso}unidadesButton .glyphicon").removeClass("glyphicon-folder-close").addClass("glyphicon-folder-open"); |
} |
}); |
$('#${CursoAfeto.codigoCurso}unidades').on('hidden.bs.collapse', function (e) { |
if ($(this).is(e.target)) { |
$("#${CursoAfeto.codigoCurso}unidadesButton .glyphicon").removeClass("glyphicon-folder-open").addClass("glyphicon-folder-close"); |
} |
}); |
} |
); |
</script> |
<button id="${CursoAfeto.codigoCurso}unidadesButton" class="btn btn-default btn-small" type="button" data-toggle="collapse" data-target="#${CursoAfeto.codigoCurso}unidades"><span class="glyphicon glyphicon-folder-close"></span></button> |
<script> |
$(document).ready( |
function(){ |
$.post("<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/pedagogicoCourseCheckCursoAfeto.jsp?cursoAfetoId=${CursoAfeto.id}", function(data) { |
$("#${CursoAfeto.codigoCurso}unidades .unidades") |
.html(data); |
evaluateTableSortersInside("#${CursoAfeto.codigoCurso}unidades .unidades"); |
}); |
} |
); |
</script> |
</td> |
<td> |
<nested:hidden property="id"/> |
${CourseView.code} |
</td> |
<td><bean:message key="course.${CourseView.degreeCleanCode}"/></td> |
<td>${CourseView.name}</td> |
<td> |
<logic:notEmpty name="CourseView" property="validationRole"> |
<bean:message key="user.role.${CourseView.validationRole}"/> |
</logic:notEmpty> |
<logic:empty name="CourseView" property="validationRole"> |
Papel não atribuido (Corrigir Situação) |
</logic:empty> |
</td> |
<td class="unidadesCount"> |
<a href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCourseUnits.jsp?importYear=${CourseView.importYear}&courseId=${CourseView.id}" data-title="Unidades do Curso de ${CourseView.name} (${CourseView.code})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=cursoAfeto.getUnidadesAfetas().size()%> |
</a> |
</td> |
<td class="marcadasCount"> |
${CursoAfeto.marcadas} |
<logic:greaterThan value="0" name="CursoAfeto" property="marcadas"> |
<span class="glyphicon glyphicon-alert"></span> |
</logic:greaterThan> |
</td> |
<td class="porVerCount"> ... </td> |
<td class="naoUsadasCount"> ... </td> |
<td class="observadasCount"> ... </td> |
<td> |
<a href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/listCourseUnitsTurmas.jsp?importYear=${CourseView.importYear}&courseId=${CourseView.id}" data-title="Turmas do Curso de ${CourseView.name} (${CourseView.code})" data-toggle="modal" data-target="#modalAjaxRequest"> |
<%=turmasSize%> |
</a> |
</td> |
<td> |
<nested:checkbox property="usarTipologias" styleClass="courseCheck"/> |
</td> |
</tr> |
<tr id="${CursoAfeto.codigoCurso}unidades" class="collapse"> |
<td></td> |
<td colspan="11" class="unidades" style="padding-left: 25px"> |
<div class="panel panel-default"> |
<div class="panel-body"> |
<p>Por favor aguarde um momento, o sistema está a carregar as unidades curriculares <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p> |
</div> |
</div> |
</td> |
</tr> |
<% |
} |
//DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().evict(cursoAfeto); |
%> |
</nested:iterate> |
</tbody> |
</table> |
</div> |
</div> |
<% |
} |
%> |
<div class="panel panel-primary" id="institutionGerarFinal"> |
<div class="panel-heading"> |
Verificação de Atribuições |
</div> |
<div class="panel-body"> |
<div class="col-sm-6"> |
<baco:clearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES"> |
<div class="alert alert-warning">Está neste momento no painel de verificações do questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}</div> |
</baco:clearOperation> |
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_CHANGE_TIPOLOGIES"> |
<div class="alert alert-warning">Não tem permissão para verificar atribuições no questionário ${Questionario.id} criado para o periodo ${Questionario.semestre} de ${Questionario.year}</div> |
</baco:notClearOperation> |
<a class="btn btn-default" href="#" data-href="<%=request.getContextPath()%>/user/questionarios/pedagogicoEstudante/questionarioLogState.jsp?questionarioId=${Questionario.id}" data-title="Registo de mudanças de estado do questionario ${Questionario.id}" data-toggle="modal" data-target="#modalAjaxRequest"> |
Registo de Mudanças de Estado |
</a> |
</div> |
<div class="col-sm-6"> |
</div> |
</div> |
</div> |
<div class="col-sm-12"> |
<button id="updateTipologiasButton" class="btn btn-success">Atualizar Tipologias</button> |
<html:link action="/user/adminQuestionario?questionario.id=${Questionario.id}#NOWTASK" styleClass="btn btn-danger">Voltar à administração</html:link> |
</div> |
</div> |
</div> |
</div> |
</div> |
<% |
AbstractDao.getCurrentSession().getTransaction().commit(); |
%> |
</html:form> |
/branches/v3/impl/src/web/user/questionarios/topnavQuestionarioAdmin.jsp |
---|
New file |
0,0 → 1,17 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
String qId = request.getParameter("questionarioId"); |
if(qId == null) |
qId = request.getParameter("questionario.id"); |
Long questionarioId = Long.parseLong(qId); |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/user/homePae.do", "intranet.separator.home.back"); |
topNav.addNavPlace("/user/listQuestionarios.do", "surveys"); |
topNav.addNavPlace(null, "survey.admin",""+questionarioId); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |