Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1336 → Rev 1337

/branches/v3/impl/conf/language/MessageResources.properties
1778,8 → 1778,11
 
questionario.year.semestre.ok=Ano e Semestre alterados com sucesso
questionarios.choose.courses=Selecção de Cursos para o Periodo {0} de {1}
questionarios.check.courses=Verificação de Questionarios/Tipologias de Cursos para o Periodo {0} de {1}
questionarios.courses.start=Atribuição de Cursos Iniciada
questionario.tipologias.update.success=Tipologias atualizadas com sucesso
 
 
################################################################################
#
# REMINDERS MESSAGE RESOURCES
/branches/v3/impl/conf/WEB-INF/struts/tiles-pae-questionarios.xml
32,5 → 32,10
<put name="topnav" value="/admin/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoCoursesAdmin.jsp"/>
<put name="body" value="/admin/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesSelection.jsp"/>
</definition>
<definition name="page.pae.questionario.courses.check" extends="page.pae.separators.home">
<put name="separator" value="1" type="string"/>
<put name="topnav" value="/admin/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoCoursesCheck.jsp"/>
<put name="body" value="/admin/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesCheck.jsp"/>
</definition>
 
</tiles-definitions>
/branches/v3/impl/conf/WEB-INF/struts/struts-pae-questionarios.xml
76,6 → 76,7
 
<!--%%%%%%%%%%%%%%%% Pedagogico Alunos Modulo %%%%%%%%%%%%%%%%%%%-->
<action path="/admin/questionarioPedagogicoStartChooseCourses" forward="page.pae.questionario.courses.selection"/>
<action path="/admin/questionarioPedagogicoStartCheckCourses" forward="page.pae.questionario.courses.check"/>
 
<action path="/admin/questionariosPaeSelectCourses"
type="pt.estgp.estgweb.web.controllers.questionarios.QuestionarioCourseSelectionController"
85,6 → 86,7
validate="false"
input="page.pae.questionario.courses.selection">
<forward name="coursesSelection" path="page.pae.questionario.courses.selection"/>
<forward name="coursesCheck" path="page.pae.questionario.courses.check"/>
<forward name="admin" path="page.pae.questionario.admin"/>
</action>
 
/branches/v3/impl/conf/app.properties
129,7 → 129,7
#####################################################
##
## Job Deamon seconds
job.deamon.sleep.seconds=30
job.deamon.sleep.seconds=10
 
 
//seconds
653,7 → 653,10
netpa.code.ocup.21.tipo.aula=6
netpa.code.ocup.20.tipo.aula=3
 
baco.tipologia.simples=9999
netpa.tipo.aula.9999=Aulas
 
 
#################
#ORACLE IPP
#################
/branches/v3/impl/conf/berserk/sd.xml
2603,8 → 2603,23
</filterChains>
</service>
 
revertAllAssignments
<service>
<name>QuestionarioUpdateTipologiasPedagogico</name>
<implementationClass>pt.estgp.estgweb.services.questionarios.pedagogico.UpdateCoursesAndUnitsJobService</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>updateTipologiasPedagogico</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="AuthenticatedUsers"/>
<chain name="AdminsOrQuestionarioAdmins"/>
<chain name="QuestionarioClearancesPre"/>
</filterChains>
</service>
 
 
 
 
 
</serviceDefinitions>
/branches/v3/impl/src/java/pt/estgp/estgweb/Globals.java
430,4 → 430,9
 
 
public final static int CERTIFICATES_EXPIRTATION_IN_DAYS = ConfigProperties.getIntProperty("certificates.expire.in.days");
 
 
public static final String BACO_TIPOLOGIA_SIMPLES_VIRTUAL_CODE = ConfigProperties.getProperty("baco.tipologia.simples");
public static final String BACO_TIPOLOGIA_SIMPLES_DS = ConfigProperties.getProperty("netpa.tipo.aula." + BACO_TIPOLOGIA_SIMPLES_VIRTUAL_CODE);
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/questionarios/pedagogico/UpdateCoursesAndUnitsJobService.java
602,4 → 602,35
}
}
}
 
 
/**
* SERVIÇO
* @param questionarioId
* @param cursosAfetos
* @param session
* @param questionarioCleared
* @throws IOException
* @throws TransformationException
* @throws NotAuthorizedException
*/
public void updateTipologiasPedagogico(long questionarioId, List<QuestionarioPedagogicoCursoAfeto> cursosAfetos, UserSession session,QuestionarioImpl questionarioCleared) throws IOException, TransformationException, NotAuthorizedException {
 
if(!questionarioCleared.isClear((UserSessionImpl) session,QuestionarioImpl.QuestionarioClearancesOperation.QUESTIONARIO_CHANGE_TIPOLOGIES.name()))
{
throw new NotAuthorizedException("Nao tem autorização para alterar as tipologias");
}
for(QuestionarioPedagogicoCursoAfeto cursoAfeto: cursosAfetos)
{
QuestionarioPedagogicoCursoAfeto cuAfetoPersistent = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().load(cursoAfeto.getId());
if(cuAfetoPersistent.getQuestionario().getId() == questionarioId)
{
cuAfetoPersistent.setUsarTipologias(cursoAfeto.isUsarTipologias());
}
else
logger.warn("Curso pedido no serviço não faz parte do questionario requisitado: " + cursoAfeto.getId() + " " + cursoAfeto.getQuestionario().getId() + " != " + questionarioId);
 
}
 
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java
13,9 → 13,7
 
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.*;
 
/**
* Created by IntelliJ IDEA.
848,6 → 846,7
{
return serializeMergedList(obtainMergeTipologias());
}
 
public ArrayList<Tipologia> obtainMergeTipologias()
{
ArrayList<Tipologia> merge = new ArrayList<Tipologia>();
913,6 → 912,83
}
 
 
public ArrayList<Tipologia> obtainTipologiasSimples(CourseUnit courseUnit)
{
ArrayList<Tipologia> merge = new ArrayList<Tipologia>();
 
Map<String,Map<String,Tipologia>> docenteTurmas = new HashMap<String,Map<String,Tipologia>>();
 
fullfillTipologiasSimples(getTipologiasSumarios(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasExtraAdicionadas(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasHorarioReferencia(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasMarcadas(), docenteTurmas);
fullfillTipologiasSimples(getTipologiasUsadas(), docenteTurmas);
 
 
if(docenteTurmas.size() == 0)
{
//NAO Há sumários vamos associar todos os docentes a todas as turmas
if(courseUnit.getTurmas() != null && courseUnit.getTeachers() != null)
{
for(CourseUnitTurma turma: courseUnit.getTurmas())
{
for(Teacher t : courseUnit.getTeachers())
{
Tipologia simples = new Tipologia();
simples.setMarkWarning(true);
simples.setCdDocente(""+t.getSigesCode());
simples.setCdTurma(turma.getTurma());
simples.setCdTipologia(Globals.BACO_TIPOLOGIA_SIMPLES_VIRTUAL_CODE);
simples.setDsTipologia(Globals.BACO_TIPOLOGIA_SIMPLES_DS);
merge.add(simples);
}
}
}
}
else
{
for(Map.Entry<String,Map<String,Tipologia>> docentes: docenteTurmas.entrySet())
{
for(Tipologia tipologia: docentes.getValue().values())
{
merge.add(tipologia);
}
}
}
return merge;
}
 
private void fullfillTipologiasSimples(ArrayList<Tipologia> tipologias, Map<String, Map<String, Tipologia>> docenteTurmas) {
if(tipologias != null)
for(Tipologia tipo: tipologias)
{
Map<String,Tipologia> turmasDocente = docenteTurmas.get(tipo.getCdDocente());
if(turmasDocente == null)
turmasDocente = new HashMap<String,Tipologia>();
docenteTurmas.put(tipo.getCdDocente(),turmasDocente);
Tipologia simples = turmasDocente.get(tipo.getCdTurma());
if(simples==null)
{
simples = new Tipologia();
simples.setCdDocente(tipo.getCdDocente());
simples.setCdTurma(tipo.getCdTurma());
simples.setCdTipologia(Globals.BACO_TIPOLOGIA_SIMPLES_VIRTUAL_CODE);
simples.setDsTipologia(Globals.BACO_TIPOLOGIA_SIMPLES_DS);
if(tipo.getOcorrencias() > 0)
{
simples.setOcorrencias(tipo.getOcorrencias());
}
turmasDocente.put(tipo.getCdTurma(),simples);
}
if(tipo.getOcorrencias() > 0)
{
simples.setOcorrencias(simples.getOcorrencias()+tipo.getOcorrencias());
}
 
}
}
 
 
}
 
 
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/questionarios/QuestionarioForm.java
5,9 → 5,13
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.QuestionarioImpl;
import pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto;
import pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfetoImpl;
import pt.estgp.estgweb.utils.DynamicArrayList;
import pt.estgp.estgweb.web.form.ApplicationForm;
 
import javax.servlet.http.HttpServletRequest;
import java.util.List;
 
 
/**
45,6 → 49,17
this.showQuestionarioForm = showQuestionarioForm;
}
 
public List<QuestionarioPedagogicoCursoAfeto> cursosAfetos = new DynamicArrayList<QuestionarioPedagogicoCursoAfeto>(QuestionarioPedagogicoCursoAfetoImpl.class);
 
public List<QuestionarioPedagogicoCursoAfeto> getCursosAfetos()
{
return cursosAfetos;
}
 
public void setCursosAfetos(List<QuestionarioPedagogicoCursoAfeto> cursosAfetos) {
this.cursosAfetos = cursosAfetos;
}
 
public QuestionarioForm()
{
 
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/questionarios/QuestionarioCourseSelectionController.java
69,12 → 69,29
for(ILogMessage log: logMessages.getLogMessages())
{
if(log.getType() == LogMessageTypeEnum.ERROR || log.getType() == LogMessageTypeEnum.WARNING || log.getType() == LogMessageTypeEnum.FATAL)
addError(request,log.getMsg());
addErrorAssString(request,log.getMsg());
else
addMessage(request,log.getMsg());
addMessageAsString(request,log.getMsg());
}
return mapping.findForward("coursesSelection");
return mapping.findForward("admin");
}
 
public ActionForward updateTipologias(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable
{
QuestionarioForm frm = (QuestionarioForm) form;
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = {"questionarioId","cursosAfetos"};
Object[] args = {frm.getQuestionario().getId(),frm.getCursosAfetos()};
 
sm.execute(RequestUtils.getRequester(request, response),"QuestionarioUpdateTipologiasPedagogico",args,names);
 
addMessage(request,"questionario.tipologias.update.success");
return mapping.findForward("coursesCheck");
}
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/ApplicationDispatchController.java
1,24 → 1,13
package pt.estgp.estgweb.web.controllers;
 
import jomm.utils.MessageResources;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.*;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.web.controllers.announcements.AnnouncementsController;
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.UserSessionImpl;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
 
import jomm.utils.MessageResources;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
54,6 → 43,13
saveMessages(request,actionMessages);
}
 
public void addMessageAsString(HttpServletRequest request, String message)
{
ActionMessages actionMessages = getMessages(request);
actionMessages.add(ActionMessages.GLOBAL_MESSAGE,new StringMessage(message));
saveMessages(request,actionMessages);
}
 
public void addMessage(HttpServletRequest request, String message, String arg0)
{
ActionMessages actionMessages = getMessages(request);
139,6 → 135,13
saveErrors(request,actionMessages);
}
 
public void addErrorAssString(HttpServletRequest request, String message)
{
ActionMessages actionMessages = getErrors(request);
actionMessages.add(ActionMessages.GLOBAL_MESSAGE,new StringMessage(message));
saveErrors(request,actionMessages);
}
 
public void addError(HttpServletRequest request, String message, String arg0)
{
ActionMessages actionMessages = getErrors(request);
213,5 → 216,24
saveErrors(request,actionMessages);
}
 
public static class StringMessage extends ActionMessage
{
String message;
public StringMessage(String message)
{
super(message);
this.message = message;
}
 
@Override
public boolean isResource() {
return false;
}
 
@Override
public String toString() {
return message;
}
}
 
}
/branches/v3/impl/src/doc/estgweb.eap
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3/impl/src/hbm/pt/estgp/estgweb/domain/Questionarios.hbm.xml
187,6 → 187,10
</property>
<property name="substate" type="string"/>
 
<property name="answerGenerationTaskId" type="long">
<column name="answer_generation_task_id" default="0"/>
</property>
 
<!--Modulo de Pedagogico-->
<property name="courseSelectionTaskId" type="long">
<column name="course_selection_task_id" default="0"/>
460,6 → 464,9
<property name="nome" type="string"/>
<property name="marcadas" type="int"/>
<property name="obs" type="string"/>
<property name="usarTipologias" type="boolean">
<column name="usarTipologias" default="false"/>
</property>
<many-to-one name="questionario" class="pt.estgp.estgweb.domain.Questionario" lazy="proxy" outer-join="false"/>
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="proxy" outer-join="false"/>
<set name="unidadesAfetas" lazy="true">
/branches/v3/impl/src/web/admin/questionarios/questionarioAdmin.jsp
15,7 → 15,10
 
 
<%
long questionarioId = Long.parseLong(request.getParameter("questionario.id"));
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};
/branches/v3/impl/src/web/admin/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesSelection.jsp
20,7 → 20,11
<%@ 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"));
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};
55,15 → 59,14
function()
{
<baco:clearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES">
$(".courseCheck").attr("data-toogle","toggle")
 
$(".courseCheck").attr("data-toogle","toggle");
$('.courseCheck').bootstrapToggle({
on: 'Sim',
off: 'Não'
on: 'Sim',
off: 'Não'
});
$('.checkAll').bootstrapToggle({
on: 'Sim',
off: 'Não'
on: 'Sim',
off: 'Não'
});
</baco:clearOperation>
<baco:notClearOperation name="Questionario" op="QUESTIONARIO_SCHEDULLE_SELECT_COURSES">
/branches/v3/impl/src/web/admin/questionarios/pedagogicoEstudante/topnavQuestionarioPedagogicoCoursesAdmin.jsp
7,7 → 7,11
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%
Long questionarioId = Long.parseLong(request.getParameter("questionarioId"));
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};
/branches/v3/impl/src/web/admin/questionarios/pedagogicoEstudante/pedagogicoCourseCheckCursoAfeto.jsp
New file
0,0 → 1,109
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnitImpl" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %>
<%@ 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 cursoAfetoId = Long.parseLong(request.getParameter("cursoAfetoId"));
AbstractDao.getCurrentSession().beginTransaction();
QuestionarioPedagogicoCursoAfeto cursoAfeto = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().load(cursoAfetoId);
cursoAfeto = DaoFactory.getQuestionarioPedagogicoCursoAfetoDaoImpl().narrow(cursoAfeto);
request.setAttribute("CursoAfeto",cursoAfeto);
%>
<table class="tablesorter-blue">
<thead>
<tr>
<th>Codigo</th>
<th>Nome</th>
<th>Tipologias Manuais</th>
<th>Turmas</th>
<th>Docentes</th>
<th>Marcada</th>
<th>Docentes s/ turma</th>
<th>Turmas s/ docente</th>
<th></th>
</tr>
</thead>
<tbody>
<logic:iterate id="unidade" name="CursoAfeto" property="unidadesAfetas" type="pt.estgp.estgweb.domain.QuestionarioPedagogicoUnidadeCurricularAfetaImpl">
<tr>
<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()%>/admin/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>
<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>
<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");
});
}
);
</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()%>/admin/questionarios/pedagogicoEstudante/pedagogicoCourseCheckUnidadeAfeta.jsp?unidadeAfetaId=${unidade.id}", function(data) {
$("#tipologias${unidade.id} .tipologias")
.html(data);
evaluateTableSortersInside("#tipologias${unidade.id} .tipologias");
});
}
);
</script>
</td>
</tr>
<tr class="collapse" id="tipologias${unidade.id}">
<td colspan="9" 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/admin/questionarios/pedagogicoEstudante/pedagogicoCourseCheckUnidadeAfeta.jsp
New file
0,0 → 1,99
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnitImpl" %>
<%@ page import="pt.estgp.estgweb.domain.QuestionarioPedagogicoCursoAfeto" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="java.util.List" %>
<%@ 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 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);
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><%=tipoPersistente.getCourseUnitTurma().getStudents().size()%></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/admin/questionarios/pedagogicoEstudante/questionarioAdminPanel.jsp
139,8 → 139,7
<div class="col-md-3 col-sm-3">
<div class="list-group">
<div class="list-group-item">
<html:link styleClass="btn btn-warning" action="/admin/questionarioPedagogicoStartChooseCourses?questionarioId=${Questionario.id}">
 
<html:link styleClass="btn btn-warning" action="/admin/questionarioPedagogicoStartCheckCourses?questionarioId=${Questionario.id}">
Verificar Atribuições
</html:link>
</div>
163,9 → 162,9
<hr/>
<div class="row">
<div class="col-md-12 col-sm-12">
<%--<baco:notClearOperation 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()%>/admin/questionariosPaeSelectCourses.do?dispatch=revertAssignements&questionario.id=${Questionario.id}">Anular Atribuições</button>
<%--</baco:notClearOperation>--%>
<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()%>/admin/questionariosPaeSelectCourses.do?dispatch=revertAssignements&questionario.id=${Questionario.id}#NOWTASK">Anular Atribuições</button>
</baco:clearOperation>
</div>
</div>
</baco:clearOperation>
/branches/v3/impl/src/web/admin/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("/admin/listQuestionarios.do", "surveys");
topNav.addNavPlace("/admin/adminQuestionario.do?questionario.id=" + questionarioId, "survey.admin",""+questionario.getId());
topNav.addNavPlace(null, "questionarios.check.courses",questionario.getSemestre(),questionario.getYear());
%>
<jsp:include page="/layout/topnav.jsp"/>
/branches/v3/impl/src/web/admin/questionarios/pedagogicoEstudante/pedagogicoEstudanteCoursesCheck.jsp
New file
0,0 → 1,350
<%@ 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="/admin/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;
}
 
</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');
 
 
$(".courseCheck").attr("data-toogle","toggle");
$('.courseCheck').bootstrapToggle({
on: 'Tipologias',
off: 'Simples'
});
$('.checkAll').bootstrapToggle({
on: 'Tipologias',
off: 'Simples'
});
}
 
);
 
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");
}
}
 
 
</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>Codigo</th>
<th>Tipo de Curso</th>
<th>Curso</th>
<th>Papel Comissão Curso</th>
<th>Unidades</th>
<th>Marcadas </th>
<th>Turmas</th>
<th></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>
<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>
<a href="#" data-href="<%=request.getContextPath()%>/admin/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>
${CursoAfeto.marcadas}
<logic:greaterThan value="0" name="CursoAfeto" property="marcadas">
<span class="glyphicon glyphicon-alert"></span>
</logic:greaterThan>
</td>
<td>
<a href="#" data-href="<%=request.getContextPath()%>/admin/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>
<script>
$(document).ready(
function(){
$('#${CursoAfeto.codigoCurso}unidades').on('shown.bs.collapse', function () {
$("#${CursoAfeto.codigoCurso}unidadesButton .glyphicon").removeClass("glyphicon-folder-close").addClass("glyphicon-folder-open");
});
$('#${CursoAfeto.codigoCurso}unidades').on('hidden.bs.collapse', function () {
$("#${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()%>/admin/questionarios/pedagogicoEstudante/pedagogicoCourseCheckCursoAfeto.jsp?cursoAfetoId=${CursoAfeto.id}", function(data) {
$("#${CursoAfeto.codigoCurso}unidades .unidades")
.html(data);
evaluateTableSortersInside("#${CursoAfeto.codigoCurso}unidades .unidades");
});
}
);
</script>
</td>
<td>
<nested:checkbox property="usarTipologias" styleClass="courseCheck"/>
</td>
</tr>
<tr id="${CursoAfeto.codigoCurso}unidades" class="collapse">
<td colspan="9" 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">
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()%>/admin/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 class="btn btn-success">Atualizar Tipologias</button>
<html:link action="/admin/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/layout/themes/scripts-default.jsp
77,7 → 77,7
"<p>Por favor aguarde um momento, o sistema está a carregar <img src=\"<%=request.getContextPath()%>/imgs/wait.gif\"/></p>" +
"</div>" +
"</div>");
setTimeout("removeBacoWait()", 2000);
setTimeout("removeBacoWait()", 500);
 
}
);
/branches/v3/impl/src/web/layout/headerTools.jsp
154,7 → 154,7
 
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<div class="modal-header clearfix">
<h3 class="modal-title">
<label class="title-wrap"></label>
<button type="button" class="btn btn-danger btn-xs pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove small"></span></button>
/branches/v3/impl/src/web/layout/errorLayout.jsp
18,26 → 18,20
<jsp:include page="/layout/scripts.jsp"/>
</head>
<body>
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page" width="100%">
<tr>
<td id="content" class="errorPage">
<tiles:insert attribute="body"/>
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
<tiles:insert attribute="header"/>
<!-- SHORTCUTS MENU -->
 
<div class="container" style="padding-left: 0;padding-right: 0; padding-top: 20px; border-top: 1px solid #323431">
<!-- BODY -->
<div class="panel panel-default">
<div class="panel-body">
<tiles:insert attribute="body"/>
</div>
</td>
</tr>
</table>
</div>
</div>
<!-- FOOTER -->
 
<tiles:insert attribute="footer"/>
 
</body>
</html:html>
/branches/v3/impl/src/web/layout/layout0.jsp
12,19 → 12,19
</head>
<body id="public" onload="horizontal();" >
<!-- HEADER -->
<tiles:insert attribute="header"/>
<!-- SHORTCUTS MENU -->
<tiles:insert attribute="navigationTop"/>
<tiles:insert attribute="header"/>
<!-- SHORTCUTS MENU -->
<tiles:insert attribute="navigationTop"/>
 
<div class="container" style="padding-left: 0;padding-right: 0; padding-top: 20px; border-top: 1px solid #323431">
<!-- TOP NAV -->
<tiles:insert attribute="topnav"/>
<!-- BODY -->
<tiles:insert attribute="body"/>
<div class="container" style="padding-left: 0;padding-right: 0; padding-top: 20px; border-top: 1px solid #323431">
<!-- TOP NAV -->
<tiles:insert attribute="topnav"/>
<!-- BODY -->
<tiles:insert attribute="body"/>
 
</div>
<!-- FOOTER -->
<tiles:insert attribute="footer"/>
</div>
<!-- FOOTER -->
<tiles:insert attribute="footer"/>
 
</body>
</html:html>
/branches/v3/impl/src/web/layout/pleaseWait.jsp
New file
0,0 → 1,8
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div class="baco-please-wait">
<div class="panel panel-info">
<div class="panel-body">
<p>Por favor aguarde um momento, o sistema está a carregar <img src="<%=request.getContextPath()%>/imgs/wait.gif"/></p>
</div>
</div>
</div>
/branches/v3/impl/src/web/user/courseunits/courseunit.jsp
244,8 → 244,11
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.teachers"/>
<a href="#" data-toggle="modal" data-target="#teachersInfo" class="pull-right">
Mais Info. <span class="glyphicon glyphicon-info-sign"> </span>
<!--<a href="#" data-toggle="modal" data-target="#teachersInfo" class="pull-right">
Mais Info. <span class="glyphicon glyphicon-info-sign"> </span>
</a>-->
<a href="javascript:return false;" class="pull-right" data-href="<%=request.getContextPath()%>/user/courseunits/teachersInfo.jsp?courseUnitId=${CourseUnitView.id}" data-title="<bean:message key="courseunit.teachers"/>" data-toggle="modal" data-target="#modalAjaxRequest">
Mais Info. <span class="glyphicon glyphicon-info-sign small"> </span>
</a>
</div>
<div class="panel-body">
/branches/v3/impl/src/web/user/courseunits/teachersInfo.jsp
New file
0,0 → 1,69
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitView" %>
<%@ 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="java.util.Map" %>
<%@ 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 unitId = Long.parseLong(request.getParameter("courseUnitId"));
 
IServiceManager sm = ServiceManager.getInstance();
 
 
String[] names = new String[]{};
Object[] args = new Object[]{unitId, true,false,false};//teachers,students,blog
 
CourseUnitView courseUnitView = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnit", args, names);
request.setAttribute("CourseUnitView",courseUnitView);
%>
 
<div>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<div class="well well-sm"><bean:message key="courseunit.responsable"/></div>
 
<logic:lessEqual value="0" name="CourseUnitView" property="responsableTeacher.id">
<p> Não existe informação disponivel.</p>
</logic:lessEqual>
<logic:greaterThan value="0" name="CourseUnitView" property="responsableTeacher.id">
<p class="lead"><strong><bean:message key="name"/></strong>: ${CourseUnitView.responsableTeacher.name}</p>
<p><strong><bean:message key="profile.siges.code.public"/></strong>: ${CourseUnitView.responsableTeacher.code}</p>
<p><label class=""><bean:message key="email"/></label>: ${CourseUnitView.responsableTeacher.email}</p>
</logic:greaterThan>
 
<div class="well well-sm"><bean:message key="courseunit.teachers.teaching"/></div>
<logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
 
<p class="lead"><strong><bean:message key="name"/></strong>: ${teacher.name}</p>
<p><strong><bean:message key="profile.siges.code.public"/></strong>: ${teacher.code}</p>
<p><label class=""><bean:message key="email"/></label>: ${teacher.email}</p>
<logic:present name="CourseUnitView" property="tipologias">
<%
Map<String,List<String>> mapa = CourseUnitView.getTipologiasTurmas(""+teacher.getCode());
for(Map.Entry<String,List<String>> entry: mapa.entrySet())
{
String tipologia = entry.getKey();
List<String> turmas = entry.getValue();
request.setAttribute("turmas", turmas);
request.setAttribute("tipologia", tipologia);
%>
<p>${tipologia}:
<logic:iterate id="turma" name="turmas" type="java.lang.String" scope="request">
${turma}
</logic:iterate>
</p>
<%
}
%>
 
</logic:present>
</logic:iterate>
</div>
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
23,6 → 23,7
private String nome;
private int marcadas;
private String obs;
private boolean usarTipologias;
private Questionario questionario;
private Course course;
private Set<QuestionarioPedagogicoUnidadeCurricularAfeta> unidadesAfetas = new HashSet<QuestionarioPedagogicoUnidadeCurricularAfeta>(0);
108,6 → 109,13
public void setObs(String obs) {
this.obs = obs;
}
public boolean isUsarTipologias() {
return this.usarTipologias;
}
public void setUsarTipologias(boolean usarTipologias) {
this.usarTipologias = usarTipologias;
}
public Questionario getQuestionario() {
return this.questionario;
}
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
1266,6 → 1266,7
 
 
 
 
}
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Reminder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordEventOrganization.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordPaper.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Configuration.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageContent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStatsGraphic.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Student.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionCandidateAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioInstituicao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEventFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryFileVersion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Assessment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UserRoleConfig.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SruSource.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoUnidadeCurricularAfeta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifier.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitGrade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTurma.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta1_5.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoAlunoRequisitado.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
65,6 → 65,8
}
 
 
 
 
}
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Process.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
141,6 → 141,7
private String group10Code;
private String state;
private String substate;
private long answerGenerationTaskId;
private long courseSelectionTaskId;
private QuestionarioHistoryDrive questionarioHistoryDrive;
 
1065,6 → 1066,13
public void setSubstate(String substate) {
this.substate = substate;
}
public long getAnswerGenerationTaskId() {
return this.answerGenerationTaskId;
}
public void setAnswerGenerationTaskId(long answerGenerationTaskId) {
this.answerGenerationTaskId = answerGenerationTaskId;
}
public long getCourseSelectionTaskId() {
return this.courseSelectionTaskId;
}
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioDocente.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioHistoryDrive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioRespostaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
99,6 → 99,8
}
 
 
 
 
}
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPeriodo.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaGrupo.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskParameter.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordOther.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDelivery.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioCursoDegree.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitEvaluation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGrades.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 25/Mar/2016 8:58:36 by Hibernate Tools 3.2.0.b9
// Generated 27/Mar/2016 11:21:50 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/etc/bugs/resolved/resolved.txt
66,4 → 66,11
Resolu��o:
Filter Chain com nome diferente do especificado no servi�o
 
#########################################################################################################################################
#########################################################################################################################################
 
Classes que perderam a referência para outras
 
Possivel causa a mesma da situação do commit e clean da sessão
 
O evict pode retirar um objecto da sessão, quando este volta a ser readmitido, se entretanto já fizemos evict a alguns dos seus
componentes, esses podem passar a null porque sairam da sessão e as referênias perdem-se