Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1755 → Rev 1771

/branches/v3/impl/conf/language/MessageResources.properties
2186,6 → 2186,7
document.repository.metadata.publisher=Entidate
document.repository.metadata.subTitle=Sub Titulo
document.repository.metadata.description=Descrição
document.repository.metadata.subject=Assunto
 
 
config.separators.configuration=Configuração de Separadores do eEscola
/branches/v3/impl/conf/WEB-INF/tags/repositoryFile.tag
12,11 → 12,13
<%@attribute name="iconClasses" type="java.lang.String" required="false" %>
<%@attribute name="downloadIcon" type="java.lang.Boolean" required="false" %>
<%@attribute name="showHistory" type="java.lang.Boolean" required="false" %>
<%@attribute name="target" type="java.lang.String" required="false" %>
<%@attribute name="btnXs" type="java.lang.Boolean" required="false" %>
<%@attribute name="iconLeft" type="java.lang.Boolean" required="false" %>
 
<%
 
String targetStr = target == null ? "" : " target=\"" + target + "\" ";
boolean history = showHistory == null ? true: showHistory;
boolean iconLeftPos = iconLeft == null ? false: true;
String btnXsClass = btnXs != null && btnXs == true ? " btn-xs " : "";
33,7 → 35,7
<%
}
%>
<a data-toggle="tooltip" title="Descarregar" class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="glyphicon glyphicon-download-alt"></span></a>
<a data-toggle="tooltip" title="Descarregar" <%=targetStr%> class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="glyphicon glyphicon-download-alt"></span></a>
<%
if(history){%>
<a data-toggle="tooltip" title="Histórico" class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" target="_blank" href="<%=request.getContextPath()%>/user/data.jsp?id=${repositoryStream}"><span class="icon icon-history icon-large"></span></a>
88,12 → 90,13
%>
 
<span class="badge icon <%=iconClasses!= null?iconClasses:""%>">
<a data-toggle="tooltip" title="Descarregar" href="javascript:invoqueDataVersionForm(${repositoryStream})"><span class="icon icon-history icon-large"></span></a>
<a data-toggle="tooltip" <%=targetStr%> title="Descarregar" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="<%=iconFile%>"></span></a>
</span>
<%if(history){%>
<span class="badge icon <%=iconClasses!= null?iconClasses:""%>">
<a data-toggle="tooltip" title="Histórico" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="<%=iconFile%>"></span></a>
</span>
<span class="badge icon <%=iconClasses!= null?iconClasses:""%>">
<a data-toggle="tooltip" title="Histórico" href="javascript:invoqueDataVersionForm(${repositoryStream})"><span class="icon icon-history icon-large"></span></a>
</span>
 
<%}%>
<%
}
121,7 → 124,7
<%
}
%>
<a data-toggle="tooltip" title="Descarregar" class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="<%=iconFile%>"></span></a>
<a data-toggle="tooltip" title="Descarregar" <%=targetStr%> class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" href="<%=request.getContextPath()%>/repositoryStream/${repositoryStream}"><span class="<%=iconFile%>"></span></a>
<%if(history){%>
<a data-toggle="tooltip" title="Histórico" class="btn ${btnXsClass} btn-default <%=iconClasses!= null?iconClasses:""%>" href="javascript:invoqueDataVersionForm(${repositoryStream})"><span class="icon icon-history icon-large"></span></a>
<%}%>
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/xsd/CursoImpl.java
1,7 → 1,12
package pt.estgp.estgweb.services.courses.xsd;
 
import com.owlike.genson.Genson;
import com.owlike.genson.TransformationException;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.utils.DynamicArrayList;
 
import java.io.IOException;
import java.util.List;
 
/**
9,13 → 14,53
*/
public class CursoImpl extends Curso
{
public List<Semestre> getSemestre() {
public List<Semestre> getSemestre()
{
if (semestre == null) {
semestre = new DynamicArrayList<Semestre>(SemestreImpl.class);
}
return this.semestre;
}
 
//ESTE GENSON e apenas para propositos de interface. O JSON gerado para envio pelas API's e feito no servico
//CourseService.savePlanoEstudosEditado que usa o Genson obtido em CourseService.getGensonPlanoEstudos
 
static Genson genson;
 
static {
Genson.Builder gensonBuilder = new Genson.Builder()
.exclude(Object.class)
.include(Curso.class)
.include(UnidadeType.class)
.include(Semestre.Perfil.class)
.include(Semestre.class)
.include(UnidadeType.HorasContacto.class)
.include(String.class)
.include(Integer.class)
.include(List.class);
 
 
genson = gensonBuilder.create();
 
}
 
public static String toJson(Curso c) throws IOException, TransformationException
{
return genson.serialize(c);
}
 
public String toJson() throws IOException, TransformationException
{
return genson.serialize(this);
}
 
public static CursoImpl loadFromJson(String json) throws IOException, TransformationException {
return genson.deserialize(json, CursoImpl.class);
}
 
public JSONObject toJsonObject() throws IOException, TransformationException, JSONException {
return new JSONObject(toJson());
}
 
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/data/repositorydocuments/RepositoryDocumentService.java
219,6 → 219,7
persistent.setSubtitle(view.getSubtitle());
persistent.setPublisher(view.getPublisher());
persistent.setDescription(view.getDescription());
persistent.setSubject(view.getSubject());
persistent.setPublishDate(view.getPublishDate());
persistent.setCloseDate(view.getCloseDate());
persistent.setInternalIdentifier(view.getInternalIdentifier());
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/courses/CourseStudiesPlansAdminForm.java
19,6 → 19,8
private CourseStudiesPlanImpl courseStudiesPlan = DomainObjectFactory.createCourseStudiesPlanImpl();
//Plano de Estudos deserializado de XML para classe correspondente ao xsd em src/planoestudos.xsd
private Curso planoEstudos = new CursoImpl();
//Plano de estudos editado do angular JS
private String planoEstudosJsonInterface = null;
//curso em edição
private long courseId = 0;
//flag para indicar se o plano em edição é o ultimo plano criado
43,6 → 45,14
 
}
 
public String getPlanoEstudosJsonInterface() {
return planoEstudosJsonInterface;
}
 
public void setPlanoEstudosJsonInterface(String planoEstudosJsonInterface) {
this.planoEstudosJsonInterface = planoEstudosJsonInterface;
}
 
public long getSourcePlanId() {
return sourcePlanId;
}
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesController.java
11,10 → 11,7
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.courses.CoursesService;
import pt.estgp.estgweb.services.courses.StudiesPlanImporter;
import pt.estgp.estgweb.services.courses.xsd.Curso;
import pt.estgp.estgweb.services.courses.xsd.PerfilImpl;
import pt.estgp.estgweb.services.courses.xsd.SemestreImpl;
import pt.estgp.estgweb.services.courses.xsd.UnidadeImpl;
import pt.estgp.estgweb.services.courses.xsd.CursoImpl;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
39,7 → 36,6
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Iterator;
 
/**
* @author Jorge Machado
544,9 → 540,16
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
long courseId = frm.getCourseId();
 
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
CursoImpl c = CursoImpl.loadFromJson(frm.getPlanoEstudosJsonInterface());
frm.setPlanoEstudos(c);
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{courseId,frm.getCourseStudiesPlan().getId(),frm.getPlanoEstudos(),frm.getCourseStudiesPlan()};
 
 
sm.execute(RequestUtils.getRequester(request, response), "SavePlanoEstudos", args, names);
addMessage(request, "course.studies.plan.saved");
request.setAttribute("courseId",courseId);
567,302 → 570,8
}
}
 
public ActionForward addUnidadePerfil(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String perfilId = frm.getPerfilId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre()){
for(Curso.Semestre.Perfil perfil: semestre.getPerfil())
{
if(perfil.getPerfilId().equals(perfilId))
{
perfil.getUnidade().add(new UnidadeImpl());
break;
}
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
public ActionForward removePerfil(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String perfilId = frm.getPerfilId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre()){
Iterator<Curso.Semestre.Perfil> iterPerfil = semestre.getPerfil().iterator();
while(iterPerfil.hasNext())
{
Curso.Semestre.Perfil perfil = iterPerfil.next();
if(perfil.getPerfilId().equals(perfilId))
{
iterPerfil.remove();
break;
}
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
public ActionForward addUnidadeSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre())
{
if(semestre.getSemestreId().equals(semestreId))
{
semestre.getUnidade().add(new UnidadeImpl());
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward removeSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
Iterator<Curso.Semestre> iteSem = frm.getPlanoEstudos().getSemestre().iterator();
while(iteSem.hasNext())
{
Curso.Semestre semestre = iteSem.next();
if(semestre.getSemestreId().equals(semestreId))
{
iteSem.remove();
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward addNewSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
frm.getPlanoEstudos().getSemestre().add(new SemestreImpl());
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward addPerfilSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre())
{
if(semestre.getSemestreId().equals(semestreId))
{
semestre.getPerfil().add(new PerfilImpl());
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward sendUpSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
for(int i = 0; i < frm.getPlanoEstudos().getSemestre().size();i++)
{
Curso.Semestre semestre = frm.getPlanoEstudos().getSemestre().get(i);
if(semestre.getSemestreId().equals(semestreId))
{
int nextPos = i-1;
frm.getPlanoEstudos().getSemestre().remove(i);
if(nextPos < 0)
nextPos = 0;
frm.getPlanoEstudos().getSemestre().add(nextPos,semestre);
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
public ActionForward sendDownSemestre(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String semestreId = frm.getSemestreId();
for(int i = 0; i < frm.getPlanoEstudos().getSemestre().size();i++)
{
Curso.Semestre semestre = frm.getPlanoEstudos().getSemestre().get(i);
if(semestre.getSemestreId().equals(semestreId))
{
int nextPos = i+1;
frm.getPlanoEstudos().getSemestre().remove(i);
if(nextPos >= frm.getPlanoEstudos().getSemestre().size())
frm.getPlanoEstudos().getSemestre().add(semestre);
else
frm.getPlanoEstudos().getSemestre().add(nextPos,semestre);
break;
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward sendUpPerfil(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String perfilId = frm.getPerfilId();
 
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre())
{
for(int i = 0; i < semestre.getPerfil().size();i++)
{
Curso.Semestre.Perfil perfil = semestre.getPerfil().get(i);
if(perfil.getPerfilId().equals(perfilId))
{
int nextPos = i-1;
semestre.getPerfil().remove(i);
if(nextPos < 0)
nextPos = 0;
semestre.getPerfil().add(nextPos,perfil);
break;
}
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
public ActionForward sendDownPerfil(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try
{
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
String perfilId = frm.getPerfilId();
 
for(Curso.Semestre semestre: frm.getPlanoEstudos().getSemestre())
{
for(int i = 0; i < semestre.getPerfil().size();i++)
{
Curso.Semestre.Perfil perfil = semestre.getPerfil().get(i);
if(perfil.getPerfilId().equals(perfilId))
{
int nextPos = i+1;
semestre.getPerfil().remove(i);
if(nextPos >= semestre.getPerfil().size())
semestre.getPerfil().add(perfil);
else
semestre.getPerfil().add(nextPos,perfil);
break;
}
}
}
return mapping.findForward("editStudyPlan");
}
catch (Throwable e)
{
logger.error(e, e);
return mapping.findForward("error500");
}
}
 
public ActionForward clonarPlano(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
881,6 → 590,7
CourseStudiesPlanImpl novoPlano = (CourseStudiesPlanImpl) sm.execute(RequestUtils.getRequester(request, response), "CloneStudiesPlanVersionFrom", args, names);
frm.setCourseStudiesPlan(novoPlano);
frm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(novoPlano.getXml()));
 
addMessage(request, "course.studies.plan.cloned");
return mapping.findForward("editStudyPlan");
}
903,6 → 613,11
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
long planId = frm.getCourseStudiesPlan().getId();
 
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
//NAO E USADO MAS SE VIER A SER JA ESTAMOS A GARANTIR QUE O PLANO VEM CERTO
CursoImpl c = CursoImpl.loadFromJson(frm.getPlanoEstudosJsonInterface());
frm.setPlanoEstudos(c);
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
931,7 → 646,12
CourseStudiesPlansAdminForm frm = (CourseStudiesPlansAdminForm) form;
long planId = frm.getCourseStudiesPlan().getId();
 
//FEITO aqui neste ponto apanhar o plano Curso em JSON e criar a classe colocar a classe como argumento em vez de frm.getPlanoEstudos()
//FEITO criar um campo de texto para colocar o JSON do plano no form
CursoImpl c = CursoImpl.loadFromJson(frm.getPlanoEstudosJsonInterface());
frm.setPlanoEstudos(c);
 
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{frm.getFormFileImport2().getInputStream(),planId};
/branches/v3/impl/src/java/pt/estgp/estgweb/web/filters/UserFilter.java
16,7 → 16,7
 
public class UserFilter implements Filter {
 
private static Logger logger = Logger.getLogger(UserFilter.class);
private static final Logger logger = Logger.getLogger(UserFilter.class);
 
 
public UserFilter()
53,7 → 53,15
}
else
{
((HttpServletResponse)response).sendError(401);
try{
 
 
// ((HttpServletResponse)response).setStatus(401);
((HttpServletResponse)response).sendError(401);
}catch(Throwable e)
{
logger.error("Error don't sending error, probably already sent: " + e);
}
}
}
 
/branches/v3/impl/src/hbm/pt/estgp/estgweb/domain/RepositoryFile.hbm.xml
64,6 → 64,9
<property name="description" type="string">
<column name="description" sql-type="TEXT"/>
</property>
<property name="subject" type="string">
<column name="subject" sql-type="TEXT"/>
</property>
<property name="publisher" type="string"/>
<property name="authorsJson" type="pt.estgp.estgweb.services.data.repositorydocuments.EnhancedDocumentPersons">
<column name="authorsJson" sql-type="TEXT"/>
/branches/v3/impl/src/web/css/styleRepositoryDocs.css
1,3 → 1,11
.repository-interface
{
border-left: 1px solid rgba(178, 164, 24, 0.55);
}
.repository-interface .row
{
padding-left: 10px;
}
.repository-interface .repository-intro
{
margin-bottom: 10px;
2,2 → 10,6
}
.repository-interface .repository-interface-intro .repository-description
{
padding-left: 10px;
}
.repository-interface .repository-interface-intro .repository-title
11,9 → 23,18
{
font-size: 1.3em;
vertical-align: top;
border-bottom: 3px solid black;
border-bottom: 1px solid black;
text-transform: uppercase;
}
 
.repository-interface .row .repository-title
{
border: 0;
}
.repository-interface .repository-title .title-label
{
padding-top: 4px;
}
.repository-interface .repository-description
{
font-size: 1.1em;
62,15 → 83,20
color: #606060;
padding-left: 10px;
text-transform: none;
border-left: 1px dashed rgba(178, 164, 24, 0.55);
border-left: 2px dashed rgba(178, 164, 24, 0.55);
border-bottom: 2px dashed rgba(178, 164, 24, 0.55);
border-top-left-radius: 15px;
border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px;
-moz-border-radius-topleft: 15px;
-moz-border-radius-bottomleft: 15px;
-moz-border-radius-bottomright: 15px;
-webkit-border-top-left-radius: 15px;
-webkit-border-bottom-left-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
padding-top: 5px;
padding-bottom: 5px;
margin-bottom: 10px;
}
 
.repository-column .repository-block .repository-document .repository-document-files
142,18 → 168,20
.repository-column .repository-block .repository-document-file .repository-title
{
font-weight: normal;
background-color: rgba(207, 207, 207, 0.24);
border-top-left-radius: 15px;
border-top-right-radius: 15px;
-moz-border-radius-topleft: 15px;
-moz-border-radius-topright: 15px;
-webkit-border-top-left-radius: 15px;
-webkit-border-top-right-radius: 15px;
background-color: rgba(207, 207, 207, 0.10);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
margin:0;
padding-top:5px;
padding-left:10px;
padding-right:5px;
padding-bottom: 5px;
border:0;
font-size: 0.85em;
}
.repository-column .repository-block .repository-document-file .repository-title .repository-file-icon
{
/branches/v3/impl/src/web/auth/loginWidget.jsp
132,7 → 132,7
<div class="form-group clearfix">
<label class="col-md-12" style="margin-bottom: 10px"><jomm:messageConfigKey config="authentication.policy.password.msg.key"/></label>
<div class="col-md-6">
<input type="password" class="form-control" name="password"/>
<input type="password" class="form-control" name="password" onkeyup="if(event.keyCode == 13){event.preventDefault();authenticateWidget();}"/>
</div>
</div>
<div class="col-sm-2">
/branches/v3/impl/src/web/errors/401.jsp
7,7 → 7,7
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%
response.sendError(401);
// response.sendError(401);
%>
<div class="container-fluid errorContent">
 
/branches/v3/impl/src/web/js/functions.js
78,3 → 78,122
}
 
 
 
 
/*
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
var defaultDiacriticsRemovalMap = [
{'base':'A', 'letters':'\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'},
{'base':'AA','letters':'\uA732'},
{'base':'AE','letters':'\u00C6\u01FC\u01E2'},
{'base':'AO','letters':'\uA734'},
{'base':'AU','letters':'\uA736'},
{'base':'AV','letters':'\uA738\uA73A'},
{'base':'AY','letters':'\uA73C'},
{'base':'B', 'letters':'\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181'},
{'base':'C', 'letters':'\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E'},
{'base':'D', 'letters':'\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779\u00D0'},
{'base':'DZ','letters':'\u01F1\u01C4'},
{'base':'Dz','letters':'\u01F2\u01C5'},
{'base':'E', 'letters':'\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E'},
{'base':'F', 'letters':'\u0046\u24BB\uFF26\u1E1E\u0191\uA77B'},
{'base':'G', 'letters':'\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E'},
{'base':'H', 'letters':'\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D'},
{'base':'I', 'letters':'\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197'},
{'base':'J', 'letters':'\u004A\u24BF\uFF2A\u0134\u0248'},
{'base':'K', 'letters':'\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2'},
{'base':'L', 'letters':'\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780'},
{'base':'LJ','letters':'\u01C7'},
{'base':'Lj','letters':'\u01C8'},
{'base':'M', 'letters':'\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C'},
{'base':'N', 'letters':'\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4'},
{'base':'NJ','letters':'\u01CA'},
{'base':'Nj','letters':'\u01CB'},
{'base':'O', 'letters':'\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C'},
{'base':'OI','letters':'\u01A2'},
{'base':'OO','letters':'\uA74E'},
{'base':'OU','letters':'\u0222'},
{'base':'OE','letters':'\u008C\u0152'},
{'base':'oe','letters':'\u009C\u0153'},
{'base':'P', 'letters':'\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754'},
{'base':'Q', 'letters':'\u0051\u24C6\uFF31\uA756\uA758\u024A'},
{'base':'R', 'letters':'\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782'},
{'base':'S', 'letters':'\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784'},
{'base':'T', 'letters':'\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786'},
{'base':'TZ','letters':'\uA728'},
{'base':'U', 'letters':'\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244'},
{'base':'V', 'letters':'\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245'},
{'base':'VY','letters':'\uA760'},
{'base':'W', 'letters':'\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72'},
{'base':'X', 'letters':'\u0058\u24CD\uFF38\u1E8A\u1E8C'},
{'base':'Y', 'letters':'\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE'},
{'base':'Z', 'letters':'\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762'},
{'base':'a', 'letters':'\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250'},
{'base':'aa','letters':'\uA733'},
{'base':'ae','letters':'\u00E6\u01FD\u01E3'},
{'base':'ao','letters':'\uA735'},
{'base':'au','letters':'\uA737'},
{'base':'av','letters':'\uA739\uA73B'},
{'base':'ay','letters':'\uA73D'},
{'base':'b', 'letters':'\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253'},
{'base':'c', 'letters':'\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184'},
{'base':'d', 'letters':'\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A'},
{'base':'dz','letters':'\u01F3\u01C6'},
{'base':'e', 'letters':'\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD'},
{'base':'f', 'letters':'\u0066\u24D5\uFF46\u1E1F\u0192\uA77C'},
{'base':'g', 'letters':'\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F'},
{'base':'h', 'letters':'\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265'},
{'base':'hv','letters':'\u0195'},
{'base':'i', 'letters':'\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131'},
{'base':'j', 'letters':'\u006A\u24D9\uFF4A\u0135\u01F0\u0249'},
{'base':'k', 'letters':'\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3'},
{'base':'l', 'letters':'\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747'},
{'base':'lj','letters':'\u01C9'},
{'base':'m', 'letters':'\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F'},
{'base':'n', 'letters':'\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5'},
{'base':'nj','letters':'\u01CC'},
{'base':'o', 'letters':'\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275'},
{'base':'oi','letters':'\u01A3'},
{'base':'ou','letters':'\u0223'},
{'base':'oo','letters':'\uA74F'},
{'base':'p','letters':'\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755'},
{'base':'q','letters':'\u0071\u24E0\uFF51\u024B\uA757\uA759'},
{'base':'r','letters':'\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783'},
{'base':'s','letters':'\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B'},
{'base':'t','letters':'\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787'},
{'base':'tz','letters':'\uA729'},
{'base':'u','letters': '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289'},
{'base':'v','letters':'\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C'},
{'base':'vy','letters':'\uA761'},
{'base':'w','letters':'\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73'},
{'base':'x','letters':'\u0078\u24E7\uFF58\u1E8B\u1E8D'},
{'base':'y','letters':'\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF'},
{'base':'z','letters':'\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763'}
];
 
var diacriticsMap = {};
for (var i=0; i < defaultDiacriticsRemovalMap .length; i++){
var letters = defaultDiacriticsRemovalMap [i].letters;
for (var j=0; j < letters.length ; j++){
diacriticsMap[letters[j]] = defaultDiacriticsRemovalMap [i].base;
}
}
 
// "what?" version ... http://jsperf.com/diacritics/12
function removeDiacritics (str) {
return str.replace(/[^\u0000-\u007E]/g, function(a){
return diacriticsMap[a] || a;
});
}
 
/branches/v3/impl/src/web/layout/themes/estg/eSchoolSeparators.jsp
6,6 → 6,8
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="baco" uri="/WEB-INF/tlds/baco.tld" %>
<baco:isAuthenticated>
<%
AbstractDao.getCurrentSession().beginTransaction();
 
17,4 → 19,5
<jsp:include page="/layout/themes/eSchoolSeparators.jsp"/>
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
%>
</baco:isAuthenticated>
/branches/v3/impl/src/web/layout/themes/ipp/header.jsp
13,6 → 13,11
<img class="logo" src="<%=request.getContextPath()%>/layout/themes/ipp/logo.png"/>
 
<h1> Centro de Sistemas de Informação do IPP </h1>
<logic:present name="UserSession" property="user">
<logic:notEmpty name="UserSession" property="user">
<p>(<bean:write name="UserSession" property="user.name"/> online)</p>
</logic:notEmpty>
</logic:present>
 
 
<div class="pull-right" style="margin-right: 40px;">
/branches/v3/impl/src/web/layout/themes/ipp/eSchoolSeparators.jsp
6,6 → 6,8
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="baco" uri="/WEB-INF/tlds/baco.tld" %>
<baco:isAuthenticated>
<%
AbstractDao.getCurrentSession().beginTransaction();
 
17,4 → 19,5
<jsp:include page="/layout/themes/eSchoolSeparators.jsp"/>
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
%>
</baco:isAuthenticated>
/branches/v3/impl/src/web/layout/themes/eSchoolSeparators.jsp
5,29 → 5,34
<%@ page import="pt.estgp.estgweb.domain.UserSession" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib prefix="baco" uri="/WEB-INF/tlds/baco.tld" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
 
<baco:isAuthenticated>
<%
List<ConfigurationSeparatorImpl> configSeparators =
(List<ConfigurationSeparatorImpl>) request.getAttribute("configSeparators");
 
String separatorKey = request.getParameter("separatorKey");
 
 
for(ConfigurationSeparatorImpl configSeparator: configSeparators)
if(configSeparators != null && UserSession.getUser() != null)
{
if(UserSession.getUser().hasRole(configSeparator.getAllowedRoles()))
for(ConfigurationSeparatorImpl configSeparator: configSeparators)
{
String active = separatorKey != null && separatorKey.equals(configSeparator.getSeparatorKey()) ?
"class=\"active\"" : "";
if(UserSession.getUser().hasRole(configSeparator.getAllowedRoles()))
{
String active = separatorKey != null && separatorKey.equals(configSeparator.getSeparatorKey()) ?
"class=\"active\"" : "";
 
%>
<li <%=active%>>
<a href="<%=request.getContextPath()%>/user/configSeparatorsEescola.do?sepId=<%=configSeparator.getId()%>&separatorKey=<%=configSeparator.getSeparatorKey()%>">
<span class="glyphicon glyphicon-folder-open"></span> <%=configSeparator.getName()%>
</a>
</li>
<%
%>
<li <%=active%>>
<a href="<%=request.getContextPath()%>/user/configSeparatorsEescola.do?sepId=<%=configSeparator.getId()%>&separatorKey=<%=configSeparator.getSeparatorKey()%>">
<span class="glyphicon glyphicon-folder-open"></span> <%=configSeparator.getName()%>
</a>
</li>
<%
}
}
}
%>
%>
</baco:isAuthenticated>
/branches/v3/impl/src/web/layout/errorLayout.jsp
6,10 → 6,10
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<tiles:importAttribute name="error" scope="request" /><%
if(request.getAttribute("error") != null)
/*if(request.getAttribute("error") != null)
{
response.sendError(Integer.parseInt(request.getAttribute("error").toString()));
}
}*/
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
/branches/v3/impl/src/web/user/courses/studiesPlansAdministrationEdit.jsp
4,8 → 4,9
<%@ page import="pt.estgp.estgweb.domain.CourseStudiesPlanImpl" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.services.courses.CoursesService" %>
<%@ page import="pt.estgp.estgweb.services.courses.xsd.Curso" %>
<%@ page import="pt.estgp.estgweb.services.courses.xsd.CursoImpl" %>
<%@ page import="pt.estgp.estgweb.web.form.courses.CourseStudiesPlansAdminForm" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
15,6 → 16,12
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm"%>
<%
 
 
//TODO NOVO JSON
//O SALVAR TEM DE SER UMA FuncTION E DEIXAR DE SER UM SUBMIT PARA PODERMOS TRASNFERIR O JSON
//PARA UMA VAR DE TEXTO
 
//todo temos de ter aqui o id do curso para o carregar aqui mesmo
 
//se queremos barras de navegação então temos de ter ser acedidos de um
79,7 → 86,7
*/
 
%>
<div class="panel panel-default">
<div class="panel panel-default" id="planoApp" ng-app="planoApp" ng-controller="planoController">
<div class="panel-heading">
Edição do plano de estudos. Versão <%=versaoPlano%> <%=ultimaVersao? "(<u>é a versão em vigor</u>)":""%> do curso de <%=course.getName()%> (<%=course.getCode()%>)
</div>
213,7 → 220,7
<p>exemplo para a ESTG: http://www.estgp.pt/startLoadCourseUnitProgramSiges.do?unitCode={SIGES_UNIT}&courseCode={SIGES_CURSO}&semestre={UNIT_SEMESTRE}</p>
<p>Nenhum dos campos é obrigatório, o sistema substitui se existir no padrão, Na estg o Semestre é obrigatório para diferenciar unidades que são lecionadas em ambos os semestres</p>
<p>O semestre presente neste sistema e que vai ser preenchido vai de S1 a S6 e de T1 a T8 ou A, portanto se o semestre for usado à que ter isto em atenção</p>
<input type="text" class="form-control" id="urlPadraoFicha" placeholder="http://exemplo.com/exemplo/{SIGES_CURSO}/{SEMESTRE}/{SIGES_UNIT}.pdf">
<input type="text" class="form-control" id="urlPadraoFicha" placeholder="http://exemplo.com/exemplo/{SIGES_CURSO}/{UNIT_SEMESTRE}/{SIGES_UNIT}.pdf">
</div>
</div>
<div class="form-group">
236,14 → 243,21
 
<%
CourseStudiesPlansAdminForm courseStudiesPlansAdminForm = (CourseStudiesPlansAdminForm) request.getAttribute("CourseStudiesPlansAdminForm");
//Isto corre sempre que se entra no Editor a primeira vez e não apenas quando é um plano novo
//Form ainda não iniciado vai iniciar é a primeira vez
if(courseStudiesPlansAdminForm.getCourseStudiesPlan().getId() <= 0)
{
courseStudiesPlansAdminForm.setCourseStudiesPlan(planoEdicao);
courseStudiesPlansAdminForm.setCourseId(courseId);
courseStudiesPlansAdminForm.setVersaoVigor(ultimaVersao);
courseStudiesPlansAdminForm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml()));
Curso cPlanoDoXml2Json = new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml());
if(cPlanoDoXml2Json == null)
courseStudiesPlansAdminForm.setPlanoEstudos(new CursoImpl());
else
courseStudiesPlansAdminForm.setPlanoEstudos(new CoursesService().loadCursoPlanoFromXml(planoEdicao.getXml()));
}
//LINHA NOVA PARA JSON DE INTERFACE
courseStudiesPlansAdminForm.setPlanoEstudosJsonInterface(CursoImpl.toJson(courseStudiesPlansAdminForm.getPlanoEstudos()));
%>
<logic:notEmpty name="CourseStudiesPlansAdminForm" property="courseStudiesPlan.importLog">
<div class="panel panel-warning">
269,7 → 283,7
<html:file styleClass="form-control" property="formFileImport"/>
</div>
</div>
<button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="set($('#CourseStudiesPlansAdminForm').get(0),'importarPlano');$('#CourseStudiesPlansAdminForm').get(0).submit();">
<button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="angular.element($('#planoApp')).scope().fundirPlano();">
Importar o ficheiro sobrepondo esta versão do plano
</button>
</div>
284,7 → 298,7
<html:file styleClass="form-control" property="formFileImport2"/>
</div>
</div>
<button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="set($('#CourseStudiesPlansAdminForm').get(0),'mergePlano');$('#CourseStudiesPlansAdminForm').get(0).submit();">
<button class="btn btn-warning" type="button" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai sobrepor os dados do plano de estudos atual com os dados da versão escolhida!! Tem a certeza que deseja prosseguir?" data-script="angular.element($('#planoApp')).scope().fundirPlano();">
FUNDIR o ficheiro com esta versão do plano
</button>
</div>
297,12 → 311,7
 
 
<div class="panel panel-default">
<div class="panel-heading">Plano de Estudos
 
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" onclick="set(this.form,'addNewSemestre');this.form.submit()">
<span class="glyphicon glyphicon-plus"> </span> Semestre
</button>
</div>
<div class="panel-heading">Plano de Estudos</div>
<div class="panel-body">
 
 
312,6 → 321,7
<html:hidden property="courseStudiesPlan.id"/>
<html:hidden styleId="semestreId" property="semestreId"/>
<html:hidden styleId="perfilId" property="perfilId"/>
<html:hidden styleId="planoEstudosJsonInterface" property="planoEstudosJsonInterface"/>
 
<div class="form-group">
<label class="control-label col-sm-2">Versão</label>
329,582 → 339,499
 
 
 
<%
int dummyIndexIdUnidades = 0;
int dummyIndexPerfilId = 0;
int dummyIndexSemestreId = 0;
 
%>
<script>
 
function sendUpUnidadeCurricular(dummyIndexId)
{
sendFieldUp("removed",dummyIndexId);
sendFieldUp("siges",dummyIndexId);
sendFieldUp("nome",dummyIndexId);
sendFieldUp("nomeEn",dummyIndexId);
sendFieldUp("nomeEs",dummyIndexId);
sendFieldUp("nomeFr",dummyIndexId);
 
sendFieldUp("totalHoras",dummyIndexId);
sendFieldUp("horasContactoT",dummyIndexId);
sendFieldUp("horasContactoTP",dummyIndexId);
sendFieldUp("horasContactoP",dummyIndexId);
sendFieldUp("horasContactoPL",dummyIndexId);
sendFieldUp("horasContactoPD",dummyIndexId);
sendFieldUp("horasContactoOT",dummyIndexId);
sendFieldUp("horasContactoE",dummyIndexId);
sendFieldUp("horasContactoS",dummyIndexId);
sendFieldUp("horasContactoTC",dummyIndexId);
sendFieldUp("horasContactoO",dummyIndexId);
sendFieldUp("ECTS",dummyIndexId);
sendFieldUp("urlUnidadeCurricular",dummyIndexId);
sendFieldUp("urlFichaCurricular",dummyIndexId);
<div>
<script>
var planoApp = angular.module('planoApp', ['ui.tree']);
GLOBAL_BacoAngularAppDependencies.push('planoApp');
planoApp.controller('planoController', function ($scope) {
$scope.treeOptions = {
accept: function(sourceNodeScope, destNodesScope, destIndex) {
 
}
function sendDownUnidadeCurricular(dummyIndexId)
{
sendFieldDown("removed",dummyIndexId);
sendFieldDown("siges",dummyIndexId);
sendFieldDown("nome",dummyIndexId);
sendFieldDown("nomeEn",dummyIndexId);
sendFieldDown("nomeEs",dummyIndexId);
sendFieldDown("nomeFr",dummyIndexId);
//if(destNodesScope)
//console.log(destNodesScope);
//console.log(sourceNodeScope);
//console.log(destIndex);
//console.log(destNodesScope.$parent.$modelValue.title);
//console.log(destNodesScope.$modelValue[0].type);
if(sourceNodeScope.$modelValue.type == destNodesScope.$modelValue[0].type)
return true;
return false;
},
dropped: function(e) {
//console.log (e.source.nodeScope.$modelValue);
//alert ("Largado o nó com nome: " + e.source.nodeScope.$modelValue.name + " sobre " + e.dest.nodesScope.$parent.$modelValue.name);
}
};
$scope.json = <%=courseStudiesPlansAdminForm.getPlanoEstudosJsonInterface()%>
 
sendFieldDown("totalHoras",dummyIndexId);
sendFieldDown("horasContactoT",dummyIndexId);
sendFieldDown("horasContactoTP",dummyIndexId);
sendFieldDown("horasContactoP",dummyIndexId);
sendFieldDown("horasContactoPL",dummyIndexId);
sendFieldDown("horasContactoPD",dummyIndexId);
sendFieldDown("horasContactoOT",dummyIndexId);
sendFieldDown("horasContactoE",dummyIndexId);
sendFieldDown("horasContactoS",dummyIndexId);
sendFieldDown("horasContactoTC",dummyIndexId);
sendFieldDown("horasContactoO",dummyIndexId);
sendFieldDown("ECTS",dummyIndexId);
sendFieldDown("urlUnidadeCurricular",dummyIndexId);
sendFieldDown("urlFichaCurricular",dummyIndexId);
$scope.confView =
{
"SIGES" : true ,
"Nome" : true ,
"ECTS" : true,
"Total" : true ,
"T" : true ,
"TP" : true ,
"P" : true ,
"PL" : true ,
"PD" : true ,
"OT" : true ,
"E" : true ,
"S" : true ,
"TC" : true ,
"O" : true ,
"URL_UNIDADE" : true ,
"FICHA_URL" : true
}
 
}
function sendFieldUp(field,dummyIndexId){
nome = $("#" + field + "dummyIndex" + dummyIndexId).val();
$("#" + field + "dummyIndex" + (dummyIndexId)).val($("#" + field + "dummyIndex" + (dummyIndexId-1)).val());
$("#" + field + "dummyIndex" + (dummyIndexId-1)).val(nome);
}
function sendFieldDown(field,dummyIndexId){
nome = $("#" + field + "dummyIndex" + dummyIndexId).val();
$("#" + field + "dummyIndex" + (dummyIndexId)).val($("#" + field + "dummyIndex" + (dummyIndexId+1)).val());
$("#" + field + "dummyIndex" + (dummyIndexId+1)).val(nome);
}
function removeUnit(dummyIndexId)
{
$("#removed" + "dummyIndex" + dummyIndexId).val("true");
$("#removed" + "dummyIndex" + dummyIndexId).closest("tr").hide("slow");
$scope.submeterForm = function()
{
$("#planoEstudosJsonInterface").val(
JSON.stringify($scope.json)
);
$("#CourseStudiesPlansAdminForm").submit();
}
 
}
$scope.fundirPlano = function()
{
set($("#CourseStudiesPlansAdminForm").get(0),"mergePlano");
$scope.submeterForm();
}
 
function sendUpSemestre(dummySemestreId,form)
{
$(form.semestreId).val("semestreDummy" + dummySemestreId);
$(form.dispatch).val("sendUpSemestre");
form.submit();
}
function sendDownSemestre(dummySemestreId,form)
{
$(form.semestreId).val("semestreDummy" +dummySemestreId);
$(form.dispatch).val("sendDownSemestre");
form.submit();
}
$scope.importarPlano = function()
{
set($("#CourseStudiesPlansAdminForm").get(0),"importarPlano");
$scope.submeterForm();
}
$scope.salvar = function()
{
set($("#CourseStudiesPlansAdminForm").get(0),"savePlano");
$scope.submeterForm();
}
 
function sendUpPerfil(dummyPerfilId,form,dummySemestreId)
{
form.action = form.action + "#" + dummySemestreId;
$(form.perfilId).val("perfilDummy" + dummyPerfilId);
$(form.dispatch).val("sendUpPerfil");
form.submit();
}
function sendDownPerfil(dummyPerfilId,form,dummySemestreId)
{
form.action = form.action + "#" + dummySemestreId;
$(form.perfilId).val("perfilDummy" + dummyPerfilId);
$(form.dispatch).val("sendDownPerfil");
form.submit();
}
</script>
<nested:notEmpty property="planoEstudos">
$scope.removeSemestre = function($index)
{
if(confirm("Tem a certeza que deseja remover o Semestre " + $scope.json.semestre[$index].id + "?"))
$scope.json.semestre.splice($index,1);
}
$scope.removePerfil = function(semestre,$index)
{
if(confirm("Tem a certeza que deseja remover o Perfil " + semestre.perfil[$index].nome + "?"))
semestre.perfil.splice($index,1);
}
$scope.removeUnidade = function(semestreOuperfil,$index)
{
if(confirm("Tem a certeza que deseja remover a Unidade " + semestreOuperfil.unidade[$index].nome + "?"))
semestreOuperfil.unidade.splice($index,1);
}
$scope.addSemestre = function()
{
$scope.json.semestre.push(
{
"id": "S1",
"notas": null,
"perfil": [],
"semestreDesc": "Semestre 1",
"semestreDescEn": "Semester 1",
"semestreDescEs": "Semestre 1",
"semestreDescFr": "Semestre 1",
"semestreId": null,
"unidade": [],
"type" : "semestre"
}
);
}
 
<div class="panel panel-default">
<div class="panel-heading">
Informação obtida do Siges (Auxiliar)
$scope.addPerfil = function(semestre)
{
semestre.perfil.push(
{
"nome": "",
"perfilId": null,
"unidade" : [],
"type" : "perfil"
}
);
}
 
$scope.addUnidade = function(semestreOuPerfil)
{
semestreOuPerfil.unidade.push(
{
"dep": "",
"ects": "",
"nome": "",
"nomeEn": null,
"nomeEs": null,
"nomeFr": null,
"obs": "",
"removed": null,
"siges": null,
"totalHoras": 0,
"urlFichaCurricular": "",
"urlUnidadeCurricular": "",
"type": "unidade"
}
);
}
});
 
 
</script>
<div class="panel panel-info">
<div class="panel-heading">Configuração de Visualização</div>
<div class="panel-body">
<table class="table">
<thead>
<tr>
<th>SIGES</th>
<th>Nome</th>
<th>ECTS</th>
<th>Total</th>
<th>T</th>
<th>TP</th>
<th>P</th>
<th>PL</th>
<th>PD</th>
<th>OT</th>
<th>E</th>
<th>S</th>
<th>TC</th>
<th>O</th>
 
<th>URL UNIDADE</th>
<th>FICHA URL</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" ng-model="confView.SIGES"></td>
<td><input type="checkbox" ng-model="confView.Nome"></td>
<td><input type="checkbox" ng-model="confView.ECTS"></td>
<td><input type="checkbox" ng-model="confView.Total"></td>
<td><input type="checkbox" ng-model="confView.T"></td>
<td><input type="checkbox" ng-model="confView.TP"></td>
<td><input type="checkbox" ng-model="confView.P"></td>
<td><input type="checkbox" ng-model="confView.PL"></td>
<td><input type="checkbox" ng-model="confView.PD"></td>
<td><input type="checkbox" ng-model="confView.OT"></td>
<td><input type="checkbox" ng-model="confView.E"></td>
<td><input type="checkbox" ng-model="confView.S"></td>
<td><input type="checkbox" ng-model="confView.TC"></td>
<td><input type="checkbox" ng-model="confView.O"></td>
<td><input type="checkbox" ng-model="confView.URL_UNIDADE"></td>
<td><input type="checkbox" ng-model="confView.FICHA_URL"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-sm-2">Ano do Plano no Siges</label>
<div class="col-sm-10">
<html:text styleClass="form-control" property="planoEstudos.anoPlanoSiges"/>
</div>
 
<div class="panel panel-default">
<div class="panel-heading">
Informação obtida do Siges (Auxiliar)
</div>
<div class="form-group">
<label class="control-label col-sm-2">Código do Plano no Siges</label>
<div class="col-sm-10">
<html:text styleClass="form-control" property="planoEstudos.codigoPlanoSiges"/>
<div class="panel-body">
<div class="form-group">
<label class="control-label col-sm-2">Ano do Plano no Siges</label>
<div class="col-sm-10">
<input type="text" class="form-control" ng-model="json.anoPlanoSiges"/>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Linha Descritiva do Plano no Siges</label>
<div class="col-sm-10">
<html:text styleClass="form-control" property="planoEstudos.descPlanoSiges"/>
<div class="form-group">
<label class="control-label col-sm-2">Código do Plano no Siges</label>
<div class="col-sm-10">
<input type="text" class="form-control" ng-model="json.codigoPlanoSiges"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Linha Descritiva do Plano no Siges</label>
<div class="col-sm-10">
<input type="text" class="form-control" ng-model="json.descPlanoSiges"/>
</div>
</div>
</div>
</div>
</div>
 
<html:hidden property="planoEstudos.siges"/>
<html:hidden property="planoEstudos.nome"/>
<html:hidden property="planoEstudos.dep"/>
<nested:size id="tamanhoSemestre" property="planoEstudos.semestre"/>
<nested:iterate id="semestre" indexId="semestreIndexId" property="planoEstudos.semestre" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre">
<div class="panel panel-primary">
<div class="panel panel-default">
<div class="panel-heading">
Semestres
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" ng-click="addSemestre()">
<span class="glyphicon glyphicon-plus"> </span> Semestre
</button>
</div>
<div class="panel-body">
<div ui-tree="treeOptions" id="page-content-root">
<div ui-tree-nodes ng-model="json.semestre">
<div class="panel panel-primary" ng-repeat="s in json.semestre" ui-tree-node ng-include="'semestre_renderer.html'" ng-init="s.type='semestre'">
</div>
</div>
</div>
</div>
 
<script type="text/ng-template" id="semestre_renderer.html">
<div class="panel-heading">
<div class="form-group">
<%
dummyIndexSemestreId++;
request.setAttribute("dummyIndexSemestreId",dummyIndexSemestreId);
%>
<nested:hidden property="semestreId" value="semestreDummy${dummyIndexSemestreId}"/>
<div class="col-sm-2">
<button type="button" class="btn btn-warning" onclick="sendUpSemestre('<%=dummyIndexSemestreId%>',this.form)">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
<button type="button" class="btn btn-warning" onclick="sendDownSemestre('<%=dummyIndexSemestreId%>',this.form)">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai remover todas as unidades e perfis deste semestre!! Tem a certeza que deseja prosseguir? A operação não afeta as unidades nem os cursos do PAE, apenas o plano." data-script="$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set($('#CourseStudiesPlansAdminForm').get(0),'removeSemestre');$('#CourseStudiesPlansAdminForm').get(0).submit()">
 
<div class="col-sm-1">
<button type="button" class="btn btn-danger" ng-click="removeSemestre($index)">
<span class="glyphicon glyphicon-remove"> </span>
</button>
</div>
<div class="col-sm-1">
<div class="col-sm-4" ui-tree-handle>
<span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical"></i></span>
Duração
</div>
<div class="col-sm-3">
<script>
$(document).ready(
function()
{
showHideSemestreDesc${dummyIndexSemestreId}();
}
);
 
 
function showHideSemestreDesc${dummyIndexSemestreId}()
{
if($("#selectSemestreDesc${dummyIndexSemestreId}").val()=='OP')
{
$('#semestreDescContainer${dummyIndexSemestreId}').show();
}
else
{
$('#semestreDescContainer${dummyIndexSemestreId}').hide();
}
}
</script>
<nested:select styleClass="form-control" property="id" styleId="selectSemestreDesc${dummyIndexSemestreId}" onchange="showHideSemestreDesc${dummyIndexSemestreId}(this)">
<html:option value="S1">Semestre 1</html:option>
<html:option value="S2">Semestre 2</html:option>
<html:option value="S3">Semestre 3</html:option>
<html:option value="S4">Semestre 4</html:option>
<html:option value="S5">Semestre 5</html:option>
<html:option value="S6">Semestre 6</html:option>
<html:option value="S7">Semestre 7</html:option>
<html:option value="S8">Semestre 8</html:option>
<html:option value="A1">Anual 1</html:option>
<html:option value="A2">Anual 2</html:option>
<html:option value="A3">Anual 3</html:option>
<html:option value="A4">Anual 4</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:option value="T5">Trimestre 5</html:option>
<html:option value="T6">Trimestre 6</html:option>
<html:option value="T7">Trimestre 7</html:option>
<html:option value="T8">Trimestre 8</html:option>
<html:option value="OP">Opcionais</html:option>
</nested:select>
<div id="semestreDescContainer${dummyIndexSemestreId}">
Descrição (PT) <nested:text property="semestreDesc" styleClass="form-control"/>
Descrição (EN) <nested:text property="semestreDescEn" styleClass="form-control"/>
Descrição (ES) <nested:text property="semestreDescEs" styleClass="form-control"/>
Descrição (FR) <nested:text property="semestreDescFr" styleClass="form-control"/>
<select class="form-control chosenOff" ng-model="s.id">
<option value="S1">Semestre 1</option>
<option value="S2">Semestre 2</option>
<option value="S3">Semestre 3</option>
<option value="S4">Semestre 4</option>
<option value="S5">Semestre 5</option>
<option value="S6">Semestre 6</option>
<option value="S7">Semestre 7</option>
<option value="S8">Semestre 8</option>
<option value="A1">Anual 1</option>
<option value="A2">Anual 2</option>
<option value="A3">Anual 3</option>
<option value="A4">Anual 4</option>
<option value="T1">Trimestre 1</option>
<option value="T2">Trimestre 2</option>
<option value="T3">Trimestre 3</option>
<option value="T4">Trimestre 4</option>
<option value="T5">Trimestre 5</option>
<option value="T6">Trimestre 6</option>
<option value="T7">Trimestre 7</option>
<option value="T8">Trimestre 8</option>
<option value="OP">Opcionais</option>
</select>
<div ng-show="s.id == 'OP'">
Descrição (PT) <input type="text" ng-model="s.semestreDesc" class="form-control"/>
Descrição (EN) <input type="text" ng-model="s.semestreDescEn" class="form-control"/>
Descrição (ES) <input type="text" ng-model="s.semestreDescEs" class="form-control"/>
Descrição (FR) <input type="text" ng-model="s.semestreDescFr" class="form-control"/>
</div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">
 
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#semestreDummy${dummyIndexSemestreId}';$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set(this.form,'addUnidadeSemestre');this.form.submit()">
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" ng-click="addUnidade(s)">
<span class="glyphicon glyphicon-plus"> </span> Unidade
</button>
 
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#semestreDummy${dummyIndexSemestreId}';$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set(this.form,'addPerfilSemestre');this.form.submit()">
<button style="margin-left: 4px" type="button" class="btn btn-success pull-right" ng-click="addPerfil(s)">
<span class="glyphicon glyphicon-plus"> </span> Perfil
</button>
 
<a name="semestreDummy${dummyIndexSemestreId}"></a>
</div>
</div>
</div>
<div class="panel-body">
 
<div class="form-group">
 
<div class="col-sm-2">
Notas do Semestre (Pode ser utilizado para mostrar Optativas)
</div>
<div class="col-sm-10">
<nested:textarea property="notas" rows="5" styleClass="form-control"/>
<textarea ng-model="s.notas" rows="5" class="form-control"></textarea>
</div>
</div>
 
<button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button>
<div ui-tree-nodes="" ng-model="s.perfil" ng-show="s.perfil.length > 0">
<div class="panel panel-info" ng-repeat="p in s.perfil" ui-tree-node ng-include="'perfil_renderer.html'" ng-init="p.type='perfil';parent=s">
</div>
</div>
<div ng-show="s.unidade.length > 0" class="table-responsive">
<table class="table clearfix">
<thead>
<tr>
<td></td>
<td></td>
<th ng-show="confView.SIGES">SIGES</th>
<th ng-show="confView.Nome">Nome</th>
<th ng-show="confView.ECTS">ECTS</th>
<th ng-show="confView.Total">Total</th>
<th ng-show="confView.T">T</th>
<th ng-show="confView.TP">TP</th>
<th ng-show="confView.P">P</th>
<th ng-show="confView.PL">PL</th>
<th ng-show="confView.PD">PD</th>
<th ng-show="confView.OT">OT</th>
<th ng-show="confView.E">E</th>
<th ng-show="confView.S">S</th>
<th ng-show="confView.TC">TC</th>
<th ng-show="confView.O">O</th>
<th ng-show="confView.URL_UNIDADE">URL UNIDADE</th>
<th ng-show="confView.FICHA_URL">FICHA URL</th>
</tr>
</thead>
<tbody ui-tree-nodes="" ng-model="s.unidade">
 
<nested:size id="tamanhoPerfil" property="perfil"/>
<nested:iterate id="perfil" indexId="perfilIndexId" property="perfil" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre.Perfil">
<div class="panel panel-info">
<div class="panel-heading">
<div class="form-group">
<%
dummyIndexPerfilId++;
request.setAttribute("dummyIndexPerfilId",dummyIndexPerfilId);
%>
<a name="perfilDummy${dummyIndexPerfilId}"></a>
<nested:hidden property="perfilId" value="perfilDummy${dummyIndexPerfilId}"/>
<div class="col-sm-2">
<button type="button" class="btn btn-warning" onclick="sendUpPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
<button type="button" class="btn btn-warning" onclick="sendDownPerfil('<%=dummyIndexPerfilId%>',this.form,'semestreDummy${dummyIndexSemestreId}')">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#confirm-ModalFunction" data-message="Esta operação vai remover todas as unidades deste perfil!! Tem a certeza que deseja prosseguir? A operação não afeta as unidades nem os cursos do PAE, apenas o plano." data-script="$('#CourseStudiesPlansAdminForm').get(0).action=$('#CourseStudiesPlansAdminForm').get(0).action+'#semestreDummy${dummyIndexSemestreId}';$('#perfilId').val('perfilDummy${dummyIndexPerfilId}');set($('#CourseStudiesPlansAdminForm').get(0),'removePerfil');$('#CourseStudiesPlansAdminForm').get(0).submit()">
<span class="glyphicon glyphicon-remove"> </span>
</button>
</div>
<div class="col-sm-1">
Perfil
</div>
<div class="col-sm-5">
<nested:text styleClass="form-control" property="nome"/>
</div>
<div class="col-sm-4">
<button type="button" class="btn btn-success pull-right" onclick="form.action=form.action+'#perfilDummy${dummyIndexPerfilId}';$('#perfilId').val('perfilDummy${dummyIndexPerfilId}');set(this.form,'addUnidadePerfil');this.form.submit()">
<span class="glyphicon glyphicon-plus"> </span> Unidade
</button>
</div>
</div>
</div>
<div class="panel-body">
<table class="tablesorterfiltered">
<thead>
<tr>
<td></td>
<td></td>
<th>SIGES</th>
<th>Nome</th>
<th>Total</th>
<th>T</th>
<th>TP</th>
<th>P</th>
<th>PL</th>
<th>PD</th>
<th>OT</th>
<th>E</th>
<th>S</th>
<th>TC</th>
<th>O</th>
<th>ECTS</th>
<th>URL UNIDADE</th>
<th>FICHA URL</th>
</tr>
</thead>
<tbody>
<nested:size id="tamanho" property="unidade"/>
<nested:iterate id="unit" indexId="indexId" property="unidade" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
<!-- UNIDADE TEMPLATE START-->
<tr ng-repeat="u in s.unidade" ui-tree-node ng-include="'unidade_renderer.html'" ng-init="u.type='unidade';parent=s">
</tr>
<!--UNIDADE TEMPLATE END-->
 
<%
dummyIndexIdUnidades++;
request.setAttribute("dummyIndexIdUnidades","dummyIndex" + dummyIndexIdUnidades);
%>
<%
int tamanhoMinus1 = tamanho - 1;
request.setAttribute("tamanhoMinus1",tamanhoMinus1);
</tbody>
</table>
</div>
</div>
</script>
<!-- PERFIL TEMPLATE START -->
<script type="text/ng-template" id="perfil_renderer.html">
 
%>
<tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
<td class="text-nowrap">
<div class="panel-heading">
 
<%--
Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres
Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes
--%>
<nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades">
<button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
</nested:notEqual>
<%
boolean perfilMaximoAtingido = perfilIndexId >= tamanhoPerfil - 1;
boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1;
boolean tamanhoMaximoAtingido = indexId >= tamanho - 1;
if(!perfilMaximoAtingido || !semestreMaximoAtingido || !tamanhoMaximoAtingido)
{
%>
<button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
<%
}
%>
</td>
<td>
<nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/>
<button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-remove"> </span>
</button>
</td>
<td>
<script>
$(document).ready(
function()
{
$("#siges${dummyIndexIdUnidades}").focusout(
function(){
var code = $("#siges${dummyIndexIdUnidades}").val();
$.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
{ service:"findCourseUnit",
siges: code,
courseSigesCode: "${course.code}"
},
function(data)
{
if(data.response == "ok")
{
$("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
$("#sigesResponse${dummyIndexIdUnidades}").html("");
}
else
{
$("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
}
}
);
}
);
}
);
</script>
 
<nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/>
<div id="sigesResponse${dummyIndexIdUnidades}"></div>
</td>
<td>
<div>
<div class="col-sm-1">(PT)</div>
<div class="col-sm-11"><nested:text styleId="nome${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nome"/></div>
 
<div class="langs collapse" >
<div class="col-sm-1">(EN)</div>
<div class="col-sm-11"><nested:text styleId="nomeEn${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEn"/></div>
<div class="col-sm-1">(ES)</div>
<div class="col-sm-11"><nested:text styleId="nomeEs${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEs"/></div>
<div class="col-sm-1">(FR)</div>
<div class="col-sm-11"><nested:text styleId="nomeFr${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeFr"/></div>
</div>
</div>
 
</td>
<td><nested:text styleClass="form-control" styleId="totalHoras${dummyIndexIdUnidades}" property="totalHoras"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoT${dummyIndexIdUnidades}" property="horasContacto.t"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoTP${dummyIndexIdUnidades}" property="horasContacto.TP"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoP${dummyIndexIdUnidades}" property="horasContacto.p"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoPL${dummyIndexIdUnidades}" property="horasContacto.PL"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoPD${dummyIndexIdUnidades}" property="horasContacto.PD"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoOT${dummyIndexIdUnidades}" property="horasContacto.OT"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoE${dummyIndexIdUnidades}" property="horasContacto.e"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoS${dummyIndexIdUnidades}" property="horasContacto.s"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoTC${dummyIndexIdUnidades}" property="horasContacto.TC"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoO${dummyIndexIdUnidades}" property="horasContacto.o"/></td>
<td><nested:text styleClass="form-control" styleId="ECTS${dummyIndexIdUnidades}" property="ECTS"/></td>
<td><nested:text styleClass="form-control" styleId="urlUnidadeCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlUnidadeCurricular"/></td>
<td data-unit-semestre="${semestre.id}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="${unit.siges}" data-unit-ficha-url-target-id="urlFichaCurricular${dummyIndexIdUnidades}" data-unit-site-url-target-id="urlUnidadeCurricular${dummyIndexIdUnidades}">
<nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/>
</td>
</tr>
</nested:iterate>
</tbody>
</table>
</div>
<div class="form-group">
<div class="col-sm-1">
<button type="button" class="btn btn-danger" ng-click="removePerfil(parent,$index)">
<span class="glyphicon glyphicon-remove"> </span>
</button>
</div>
 
</nested:iterate>
 
<nested:notEmpty property="unidade">
 
<table class="tablesorterfiltered">
<div class="col-sm-3" ui-tree-handle>
<span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical"></i></span> Perfil
</div>
<div class="col-sm-5">
<input type="text" class="form-control" ng-model="p.nome">
</div>
<div class="col-sm-3">
<button type="button" class="btn btn-success pull-right" ng-click="addUnidade(p)">
<span class="glyphicon glyphicon-plus"> </span> Unidade
</button>
</div>
</div>
</div>
<div class="panel-body clearfix table-responsive">
<table class="table">
<thead>
<tr>
<th></th>
<th></th>
<th>SIGES</th>
<th>Nome</th>
<th>Total</th>
<th>T</th>
<th>TP</th>
<th>P</th>
<th>PL</th>
<th>PD</th>
<th>OT</th>
<th>E</th>
<th>S</th>
<th>TC</th>
<th>O</th>
<th>ECTS</th>
<th>URL UNIDADE</th>
<th>FICHA URL</th>
</tr>
<tr>
<td></td>
<td></td>
<th ng-show="confView.SIGES">SIGES</th>
<th ng-show="confView.Nome">Nome</th>
<th ng-show="confView.ECTS">ECTS</th>
<th ng-show="confView.Total">Total</th>
<th ng-show="confView.T">T</th>
<th ng-show="confView.TP">TP</th>
<th ng-show="confView.P">P</th>
<th ng-show="confView.PL">PL</th>
<th ng-show="confView.PD">PD</th>
<th ng-show="confView.OT">OT</th>
<th ng-show="confView.E">E</th>
<th ng-show="confView.S">S</th>
<th ng-show="confView.TC">TC</th>
<th ng-show="confView.O">O</th>
<th ng-show="confView.URL_UNIDADE">URL UNIDADE</th>
<th ng-show="confView.FICHA_URL">FICHA URL</th>
</tr>
</thead>
<tbody>
<nested:size id="tamanho" property="unidade"/>
<nested:iterate id="unit" property="unidade" indexId="indexId" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
<%
dummyIndexIdUnidades++;
request.setAttribute("dummyIndexIdUnidades","dummyIndex" + dummyIndexIdUnidades);
%>
<%
int tamanhoMinus1 = tamanho - 1;
request.setAttribute("tamanhoMinus1",tamanhoMinus1);
<tbody ui-tree-nodes="" ng-model="p.unidade">
<!-- UNIDADE TEMPLATE START-->
<tr ng-repeat="u in p.unidade" ui-tree-node ng-include="'unidade_renderer.html'" ng-init="u.type='unidade';parent=p">
</tr>
<!--UNIDADE TEMPLATE END-->
 
%>
</tbody>
</table>
</div>
</script>
 
<tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
<td class="text-nowrap">
<script type="text/ng-template" id="unidade_renderer.html">
<td class="text-nowrap">
<span class="btn btn-info"><i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i></span>
</td>
<td>
<button type="button" class="btn btn-danger" ng-click="removeUnidade(parent,$index)">
<span class="glyphicon glyphicon-remove"> </span>
</button>
</td>
<td ng-show="confView.SIGES">
<%--
 
<%--
Usando o dummyIndex apenas não colocamos botao de up na primeira de todas as unidades de todos os semestres
Antes usavamos o indexId e trabalhavamos lista a lista considerando semestres e perfis independentes
--%>
<nested:notEqual value="dummyIndex1" name="dummyIndexIdUnidades">
<button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
</nested:notEqual>
<%
boolean semestreMaximoAtingido = semestreIndexId >= tamanhoSemestre - 1;
boolean tamanhoMaximoAtingido = indexId >= tamanho - 1;
if(!semestreMaximoAtingido || !tamanhoMaximoAtingido)
{
%>
<button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
<%
FOCUS FIND UNIT
<script>
 
$(document).ready(
function()
{
$("#siges${dummyIndexIdUnidades}").focusout(
function(){
var code = $("#siges${dummyIndexIdUnidades}").val();
$.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
{ service:"findCourseUnit",
siges: code,
courseSigesCode: "${course.code}"
},
function(data)
{
if(data.response == "ok")
{
$("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
$("#sigesResponse${dummyIndexIdUnidades}").html("");
}
else
{
$("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
}
}
);
}
%>
</td>
<td>
<nested:hidden styleId="removed${dummyIndexIdUnidades}" property="removed"/>
<button type="button" class="btn btn-danger" onclick="removeUnit(<%=dummyIndexIdUnidades%>)" >
<span class="glyphicon glyphicon-remove"> </span>
</button>
</td>
<td>
<script>
$(document).ready(
function()
{
$("#siges${dummyIndexIdUnidades}").focusout(
function(){
var code = $("#siges${dummyIndexIdUnidades}").val();
$.getJSON("<%=request.getContextPath()%>/user/courses/courseApiJson.jsp",
{ service:"findCourseUnit",
siges: code,
courseSigesCode: "${course.code}"
},
function(data)
{
if(data.response == "ok")
{
$("#nome${dummyIndexIdUnidades}").val(data.courseUnitName);
$("#sigesResponse${dummyIndexIdUnidades}").html("");
}
else
{
$("#sigesResponse${dummyIndexIdUnidades}").html("Não encontrado");
}
}
);
}
);
}
);
</script>
<nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/>
<div id="sigesResponse${dummyIndexIdUnidades}"></div>
</td>
);
}
);
</script>--%>
 
<td>
<div>
<div class="col-sm-1">(PT)</div>
<div class="col-sm-11">
<nested:text styleId="nome${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nome"/>
</div>
<input type="text" ng-model="u.siges" style="width: 60px"/>
<%--<div id="sigesResponse${dummyIndexIdUnidades}"></div>--%>
</td>
<td ng-show="confView.Nome">
<div>
<div class="col-sm-11"><input type="text" style="width:200px" ng-model="u.nome"/></div>
 
<div class="langs collapse" >
<div class="col-sm-1">(EN)</div>
<div class="col-sm-11"><nested:text styleId="nomeEn${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEn"/></div>
<div class="col-sm-1">(ES)</div>
<div class="col-sm-11"><nested:text styleId="nomeEs${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeEs"/></div>
<div class="col-sm-1">(FR)</div>
<div class="col-sm-11"><nested:text styleId="nomeFr${dummyIndexIdUnidades}" style="width:300px" styleClass="form-control" property="nomeFr"/></div>
</div>
</div>
<div class="langs collapse" >
<div class="col-sm-1">(EN)</div>
<div class="col-sm-11"><input type="text" style="width:200px" ng-model="u.nomeEn"/></div>
<div class="col-sm-1">(ES)</div>
<div class="col-sm-11"><input type="text" style="width:200px" ng-model="u.nomeEs"/></div>
<div class="col-sm-1">(FR)</div>
<div class="col-sm-11"><input type="text" style="width:200px" ng-model="u.nomeFr"/></div>
</div>
</div>
 
</td>
<td><nested:text styleClass="form-control" styleId="totalHoras${dummyIndexIdUnidades}" property="totalHoras"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoT${dummyIndexIdUnidades}" property="horasContacto.t"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoTP${dummyIndexIdUnidades}" property="horasContacto.TP"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoP${dummyIndexIdUnidades}" property="horasContacto.p"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoPL${dummyIndexIdUnidades}" property="horasContacto.PL"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoPD${dummyIndexIdUnidades}" property="horasContacto.PD"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoOT${dummyIndexIdUnidades}" property="horasContacto.OT"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoE${dummyIndexIdUnidades}" property="horasContacto.e"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoS${dummyIndexIdUnidades}" property="horasContacto.s"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoTC${dummyIndexIdUnidades}" property="horasContacto.TC"/></td>
<td><nested:text styleClass="form-control" styleId="horasContactoO${dummyIndexIdUnidades}" property="horasContacto.o"/></td>
<td><nested:text styleClass="form-control" styleId="ECTS${dummyIndexIdUnidades}" property="ECTS"/></td>
<td><nested:text styleClass="form-control" styleId="urlUnidadeCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlUnidadeCurricular"/></td>
<td data-unit-semestre="${semestre.id}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="${unit.siges}" data-unit-ficha-url-target-id="urlFichaCurricular${dummyIndexIdUnidades}" data-unit-site-url-target-id="urlUnidadeCurricular${dummyIndexIdUnidades}">
<nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/>
</td>
</tr>
</nested:iterate>
</tbody>
</table>
</nested:notEmpty>
</td>
<td ng-show="confView.ECTS"><input type="text" style="width: 40px" ng-model="u.eCTS"/></td>
<td ng-show="confView.Total"><input type="text" style="width: 40px" ng-model="u.totalHoras"></td>
 
</div>
</div>
<td ng-show="confView.T"><input type="text" style="width: 40px" ng-model="u.horasContacto.t"/></td>
<td ng-show="confView.TP"><input type="text" style="width: 40px" ng-model="u.horasContacto.TP"/></td>
<td ng-show="confView.P"><input type="text" style="width: 40px" ng-model="u.horasContacto.p"/></td>
<td ng-show="confView.PL"><input type="text" style="width: 40px" ng-model="u.horasContacto.PL"/></td>
<td ng-show="confView.PD"><input type="text" style="width: 40px" ng-model="u.horasContacto.PD"/></td>
<td ng-show="confView.OT"><input type="text" style="width: 40px" ng-model="u.horasContacto.OT"/></td>
<td ng-show="confView.E"><input type="text" style="width: 40px" ng-model="u.horasContacto.e"/></td>
<td ng-show="confView.S"><input type="text" style="width: 40px" ng-model="u.horasContacto.s"/></td>
<td ng-show="confView.TC"><input type="text" style="width: 40px" ng-model="u.horasContacto.TC"/></td>
<td ng-show="confView.O"><input type="text" style="width: 40px" ng-model="u.horasContacto.o"/></td>
<td ng-show="confView.URL_UNIDADE"><input type="text" ng-model="u.urlUnidadeCurricular" style="width:600px"/></td>
<td ng-show="confView.FICHA_URL" data-unit-semestre="{{s.id}}" data-course-siges-code="${courseSigesCode}" data-unit-siges-code="{{u.siges}}" data-unit-ficha-url-target-id="urlFichaCurricular{{s.id}}_{{u.siges}}" data-unit-site-url-target-id="urlUnidadeCurricular{{s.id}}_{{u.siges}}">
<input type="text" id="urlFichaCurricular{{s.id}}_{{u.siges}}" ng-model="u.urlFichaCurricular" style="width:600px"/>
</td>
</script>
 
</nested:iterate>
<%-- <pre class="code">
{{json | json}}
</pre>--%>
<a type="button" class="btn btn-danger" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=${courseId}">Cancelar</a>
<button type="button" class="btn btn-success" ng-click="salvar()">Salvar</button>
</div>
 
</nested:notEmpty>
 
<a type="button" class="btn btn-danger" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=${courseId}">Cancelar</a>
<html:submit styleClass="btn btn-success" >Salvar</html:submit>
 
 
 
 
</div>
</div>
</html:form>
/branches/v3/impl/src/web/user/home/teacherPae.jsp
27,7 → 27,7
<!-- <div class="col-md-12 col-sm-12 col-xs-12">
<div class="alert alert-warning">Por decisão dos Conselhos Pedagógicos os relatórios de avaliação dos docentes estão a ser revistos e serão disponibilizados oficialmente dentro de alguns dias.</div>
</div>-->
<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin">
<baco:hasRole role="admin,all,services,questionarios.gerais,questionarios.admin">
<div class="col-md-6 col-sm-12 col-xs-12">
<baco:hasRole role="admin,all,services,questionarios.admin,questionarios.atribuicoes.admin,questionarios.tipologias.admin,questionarios.atribuicoes.check_teachers">
<jsp:include page="panels/configsInfo.jsp"/>
46,6 → 46,7
<div class="col-md-4 col-sm-12 col-xs-12">
<%--<baco:hasRole role="admin,all,questionarios.gerais,questionarios.admin,pedagogicCouncil.president,administrativeCouncil.director">--%>
<jsp:include page="panels/questionarios.jsp"/>
 
<%--</baco:hasRole>--%>
<jsp:include page="panels/emailSet.jsp"/>
</div>
/branches/v3/impl/src/web/user/repositoryDocuments/adminDocument.jsp
296,7 → 296,7
<button class="btn btn-default btn-lg btn-block btn-huge" ng-click="backEdit()"><span class="glyphicon glyphicon-chevron-left"></span> Voltar à edição</button>
</div>
<div class="col-md-4">
<html:link styleClass="btn btn-success btn-lg btn-block btn-huge" action="/user/repositoryEditDocument">Adicionar outro documento <span class="glyphicon glyphicon-chevron-right"></span></html:link>
<html:link styleClass="btn btn-success btn-lg btn-block btn-huge" action="/user/repositoryEditDocument?repositoryCollectionId={{doc.collection.id}}">Adicionar outro documento <span class="glyphicon glyphicon-chevron-right"></span></html:link>
</div>
</div>
<hr/>
396,6 → 396,12
</div>
 
<div class="form-group">
<label class="col-md-2 control-label">Assunto</label>
<div class="col-md-10">
<input class="form-control" type="text" ng-model="doc.subject">
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label">Descrição</label>
<div class="col-md-10">
<textarea rows="6" class="form-control" ng-model="doc.description">
/branches/v3/impl/src/web/user/repositoryDocuments/adminBuiltInterfaces.jsp
193,7 → 193,7
<button ng-click="url(i)" class="btn btn-default"><span class="glyphicon glyphicon-globe"></span></button>
</td>
<td>
<a class="btn btn-default" ng-href="{{getUrl(i)}}"><span class="glyphicon glyphicon-play"></span></a>
<a class="btn btn-default" target="_blank" ng-href="{{getUrl(i)}}"><span class="glyphicon glyphicon-play"></span></a>
</td>
</tr>
</tbody>
/branches/v3/impl/src/web/user/repositoryDocuments/showInterfaceDocsFragment.jsp
21,15 → 21,15
if(value != null && value.trim().length() > 0)
{
String msg = MessageResources.getMessage(request,key);
return " <div class=\"row\">\n" +
" <div class=\"col-md-4\" style=\"text-align:right\">\n" +
return " <tr style=\"border: 1px dashed lightgray\">\n" +
" <td style=\"padding:5px;text-align:right; width: 1%; white-space: nowrap;\">\n" +
" <span class=\"glyphicon glyphicon-tag\"></span>\n" +
" <span class=\"label label-primary\">" + msg + "</span>\n" +
" </div>\n" +
" <div class=\"col-md-8\">\n" +
" </td>\n" +
" <td style=\"padding:5px\">\n" +
" <i>" + value + "</i>\n" +
" </div>\n" +
" </div>";
" </td>\n" +
" </tr>";
}
return "";
}
58,8 → 58,8
<div class="repository-title clearfix" style="padding-bottom: 4px;padding-top: 4px">
<span class="glyphicon glyphicon-file btn-xs"></span>
<span class="title">${doc.title}</span>
<baco:hasRole role="admin,all,repositoryDocs">
<html:link styleClass="btn btn-xs btn-default pull-right" action="/user/repositoryEditDocument?repositoryDocumentId=${doc.id}" target="_blank">
<baco:hasRole role="admin,all,repositoryDocs,repositoryDeposit">
<html:link styleClass="btn btn-warning pull-right" action="/user/repositoryEditDocument?repositoryDocumentId=${doc.id}" target="_blank">
<span class="glyphicon glyphicon-pencil"></span>
</html:link>
</baco:hasRole>
69,18 → 69,21
</div>
<%--<div class="repository-description">${doc.description}</div>--%>
<nested:equal value="true" name="interfaceBlock" property="showDocumentMetaData">
 
<%String subTitle = printMetadata("document.repository.metadata.subTitle",doc.getSubtitle(),request,response.getWriter());%>
<%String internalIdentifier = printMetadata("document.repository.metadata.internalIdentifier",doc.getInternalIdentifier(),request,response.getWriter());%>
<%String closeDateStr = printMetadata("document.repository.metadata.closeDateStr",doc.getCloseDateStr(),request,response.getWriter());%>
<%String author = printMetadataPersons("document.repository.metadata.author", doc.getAuthorsJson(), request, response.getWriter());%>
<%String contributor = printMetadataPersons("document.repository.metadata.contributor",doc.getAuthorsJson(),request,response.getWriter());%>
<%String contributor = printMetadataPersons("document.repository.metadata.contributor",doc.getContributorsJson(),request,response.getWriter());%>
<%String publisher = printMetadata("document.repository.metadata.publisher", doc.getPublisher(), request, response.getWriter());%>
<%String description = printMetadata("document.repository.metadata.description", doc.getDescription(), request, response.getWriter());%>
<%String subject = printMetadata("document.repository.metadata.subject", doc.getSubject(), request, response.getWriter());%>
<%
if(subTitle.length() > 0 ||
internalIdentifier.length() > 0 ||
//publishDateStr.length() > 0 ||
description.length() > 0 ||
subject.length() > 0 ||
closeDateStr.length() > 0 ||
author.length() > 0 ||
contributor.length() > 0 ||
88,13 → 91,19
{
%>
<div class="repository-metadata clearfix">
<%=description%>
<%=subTitle%>
<%=internalIdentifier%>
<%=closeDateStr%>
<%=author%>
<%=contributor%>
<%=publisher%>
<table border="0" style="border: 0;width: 100%">
<tbody>
<%=subTitle%>
<%=subject%>
<%=description%>
<%=internalIdentifier%>
<%=closeDateStr%>
<%=author%>
<%=contributor%>
<%=publisher%>
</tbody>
</table>
 
</div>
<%
}
122,22 → 131,22
request.setAttribute("repoTitleBorderBottom",repoTitleBorderBottom);
%>
<div class="repository-title ${repoTitleBorderBottom}">
<baco:hasRole role="admin,all,repositoryDocs">
<baco:hasRole role="admin,all,repositoryDocs,repositoryDeposit">
<nested:equal value="true" name="interfaceBlock" property="showFileTitle">
<%--label="${docFile.repositoryFileProxy.repositoryFile.lastVersion.name}--%>
<bacoTags:repositoryFile transactional="true" showHistory="true" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.title}"/>
<bacoTags:repositoryFile target="_blank" transactional="true" showHistory="true" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.title}"/>
</nested:equal>
<nested:notEqual value="true" name="interfaceBlock" property="showFileTitle">
<bacoTags:repositoryFile transactional="true" showHistory="true" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}"/>
<bacoTags:repositoryFile target="_blank" transactional="true" showHistory="true" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}"/>
</nested:notEqual>
</baco:hasRole>
<baco:hasNotRole role="admin,all,repositoryDocs">
<baco:hasNotRole role="admin,all,repositoryDocs,repositoryDeposit">
<nested:equal value="true" name="interfaceBlock" property="showFileTitle">
<%--label="${docFile.repositoryFileProxy.repositoryFile.lastVersion.name}--%>
<bacoTags:repositoryFile transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.title}"/>
<bacoTags:repositoryFile target="_blank" transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}" label="${docFile.title}"/>
</nested:equal>
<nested:notEqual value="true" name="interfaceBlock" property="showFileTitle">
<bacoTags:repositoryFile transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}"/>
<bacoTags:repositoryFile target="_blank" transactional="true" showHistory="false" iconClasses="pull-left repository-file-icon" repositoryStream="${docFile.repositoryFileProxy.repositoryStream}"/>
</nested:notEqual>
</baco:hasNotRole>
 
/branches/v3/impl/src/web/user/repositoryDocuments/adminInterfaceBuilder.jsp
336,7 → 336,7
 
 
 
<pre class="code">{{ data | json }}</pre>
<%--<pre class="code">{{ data | json }}</pre>--%>
 
</div>
 
502,6 → 502,10
</div>
<div class="panel-body">
 
<div class="alert alert-warning" ng-show="block.showTitle == false && !block.tree && block.browseMinimizeMaximize">
Aviso: Título oculto, Lista Flat e Iniciar Minimizado implica que não aparece o bloco do Titulo com o Expandir
</div>
 
<div class="form-group">
<label class="col-md-3 control-label">Título</label>
<div class="col-md-7">
/branches/v3/impl/src/web/user/repositoryDocuments/showInterface.jsp
15,6 → 15,7
<%@ page import="java.util.List" %>
<%@ page import="static org.hibernate.criterion.Restrictions.le" %>
<%@ page import="static org.hibernate.criterion.Restrictions.*" %>
<%@ page import="org.hibernate.FlushMode" %>
<%@ 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" %>
86,8 → 87,8
$.extend($.expr[':'], {
'containsi': function(elem, i, match, array)
{
return (elem.textContent || elem.innerText || '').toLowerCase()
.indexOf((match[3] || "").toLowerCase()) >= 0;
return removeDiacritics((elem.textContent || elem.innerText || '').toLowerCase())
.indexOf(removeDiacritics((match[3] || "").toLowerCase())) >= 0;
}
});
$(document).ready(
95,19 → 96,23
 
 
$('.repository-interface .collapse')
.on('shown.bs.collapse', function() {
$(this)
.parent()
.on('shown.bs.collapse', function(e) {
if ($(this).is(e.target)) {
$(this)
.parent().eq(0)
.find(".glyphicon-plus").eq(0)
.removeClass("glyphicon-plus")
.addClass("glyphicon-minus");
}
})
.on('hidden.bs.collapse', function() {
$(this)
.parent()
.find(".glyphicon-minus").eq(0)
.removeClass("glyphicon-minus")
.addClass("glyphicon-plus");
.on('hidden.bs.collapse', function(e) {
if ($(this).is(e.target)) {
$(this)
.parent().eq(0)
.find(".glyphicon-minus").eq(0)
.removeClass("glyphicon-minus")
.addClass("glyphicon-plus");
}
});
 
 
123,15 → 128,15
function(){
if($("#documentFilterInput").val()=="")
{
$(".repository-document").show();
$(".repository-document, repository-document-collection").show();
}
else
{
$('.repository-interface .collapse').collapse('show');
var fields = $("#documentFilterInput").val().split(" ");
 
$(".repository-document").show();
$(".repository-document").each(
$(".repository-document, .repository-document-collection").show();
$(".repository-document, .repository-document-collection").each(
function()
{
for(var i = 0; i < fields.length; i++)
171,9 → 176,10
<div class="repository-intro repository-interface-intro">
<logic:equal value="true" name="loadedConfig" property="showTitle">
<div class="repository-title clearfix">
${loadedConfig.title}
<label class="title-label">
${loadedConfig.title}
</label>
 
 
<span class="pull-right" style="font-size: 0.7em;display: inline-block">
<input class="form-control" id="documentFilterInput" type="text" style="width: 200px"/>
</span>
241,10 → 247,40
 
 
%>
<baco:hasRole role="admin,all,repositoryDocs,repositoryDeposit">
<logic:notEmpty name="interfaceBlock" property="collectionIds">
<%
if(collections != null && collections.size() == 1 && interfaceBlock.isTree())
{
request.setAttribute("colToAdd",collections.get(0));
%>
<div class="well well-sm clearfix">
<%=DaoFactory.getRepositoryDocumentCollectionDaoImpl().load(collections.get(0)).getName()%>
<html:link styleClass="btn btn-success pull-right" action="/user/repositoryEditDocument?repositoryCollectionId=${colToAdd}" target="_blank">
<span class="glyphicon glyphicon-plus"> </span> na Raiz da Árvore
</html:link>
</div>
<%
}
%>
</logic:notEmpty>
</baco:hasRole>
<div class="repository-block">
<div class="repository-intro" <%=toogleAttrs%>>
<%
if(!interfaceBlock.isTree() && interfaceBlock.isBrowseMinimizeMaximize() && !interfaceBlock.isShowTitle())
{
//Caso o titulo não esteja a ser mostrado e a colecção esteja minimizada e seja flat não vamos ter +/- para expandir
%>
<div class="repository-title">
<span class="btn-xs glyphicon <%=folderIcon%>" style="margin-right: 5px"></span>
<span class="btn-xs glyphicon glyphicon-bookmark"></span>
<label <%=styleCol%>>Bloco de Documentos (Aviso: Titulo Inexistente ou oculto, contacte a administração para verificar a situação)</label>
</div>
<%
}
%>
<logic:equal value="true" name="interfaceBlock" property="showTitle">
 
<div class="repository-title">
<span class="btn-xs glyphicon <%=folderIcon%>" style="margin-right: 5px"></span>
<span class="btn-xs glyphicon glyphicon-bookmark"></span>
252,21 → 288,26
</div>
</logic:equal>
 
<baco:hasRole role="admin,all,repositoryDocs">
<baco:hasRole role="admin,all,repositoryDocs,repositoryDeposit">
<logic:notEmpty name="interfaceBlock" property="collectionIds">
<%
if(collections != null && collections.size() == 1 && !interfaceBlock.isTree())
{
request.setAttribute("colToAdd",collections.get(0));
%>
<html:link styleClass="btn btn-xs btn-success pull-right" action="/user/repositoryEditDocument?repositoryCollectionId=${colToAdd}" target="_blank">
<span class="glyphicon glyphicon-plus"></span>
</html:link>
<div class="well well-sm clearfix">
<%=DaoFactory.getRepositoryDocumentCollectionDaoImpl().load(collections.get(0)).getName()%>
<html:link styleClass="btn btn-success pull-right" action="/user/repositoryEditDocument?repositoryCollectionId=${colToAdd}" target="_blank">
<span class="glyphicon glyphicon-plus"> </span>
</html:link>
</div>
<%
}
%>
</logic:notEmpty>
</baco:hasRole>
 
 
<logic:equal value="true" name="interfaceBlock" property="showDescription">
<div class="repository-description">
${interfaceBlock.description}
377,5 → 418,6
</div>
 
<%
AbstractDao.getCurrentSession().getTransaction().commit();
 
AbstractDao.getCurrentSession().getTransaction().rollback();
%>
/branches/v3/impl/src/web/user/repositoryDocuments/showInterfaceColFragment.jsp
34,8 → 34,8
 
<span class="btn-xs glyphicon <%=folderIcon%>" style="margin-right: 5px"></span>
<label <%=styleCol%> >${collection.name}</label>
<baco:hasRole role="admin,all,repositoryDocs">
<html:link styleClass="btn btn-xs btn-success pull-right" action="/user/repositoryEditDocument?repositoryCollectionId=${collection.id}" target="_blank">
<baco:hasRole role="admin,all,repositoryDocs,repositoryDeposit">
<html:link styleClass="btn btn-success pull-right" action="/user/repositoryEditDocument?repositoryCollectionId=${collection.id}" target="_blank">
<span class="glyphicon glyphicon-plus"></span>
</html:link>
</baco:hasRole>
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoCursoAfeto.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Pagina.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.ArrayList;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitDeliverable.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPergunta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessControloAtividadeDocenteInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.controloatividadedocente.PontosAtribuidos;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupDocentesAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventGeneric.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorGatewayExclusiveInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgram.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupCursosAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEscolhaValidador.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationSeparator.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessageInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Survey.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordThesis.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionPossibleAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentInterface.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageSection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPoolInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SruSourceCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventClass.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordJob.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpoca.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageRepositoryFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitSummary.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Record.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnTaskFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportDocenteFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActor.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessControloAtividadeDocente.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.controloatividadedocente.EsquemaPontos;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorGatewayExclusive.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Page.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseStudiesPlan.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AppUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnActorPool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageText.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Questionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioPerguntaEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndMessages.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import pt.estgp.estgweb.services.bpmnprocess.types.TargetActorType;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentGateway.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionItem.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioPedagogicoTipologiaRequisitada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SigesUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAnnouncement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ManagedIdentifierCollection.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryCategory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportCursoFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroup.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentQuestionAnswer.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitProgramPart2.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioCurso.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioResposta.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitBlog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcessInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventFormacoes.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ComunicationFolder.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.HashSet;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEntregaFicheirosPontuadaInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitQuestion.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionario.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioTipologia.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RecordProject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioUnidade.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ProcessEvent.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnectorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEndInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEntregaFicheirosPontuada.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/PageExternalUrl.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/AssessmentResponse.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTask.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocument.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
21,6 → 21,7
private String title;
private String subtitle;
private String description;
private String subject;
private String publisher;
private DocumentPersons authorsJson;
private DocumentPersons contributorsJson;
91,6 → 92,13
public void setDescription(String description) {
this.description = description;
}
public String getSubject() {
return this.subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getPublisher() {
return this.publisher;
}
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/RepositoryDocumentFile.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapHistoryDimension.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapStarFactQuestionarioAnswerEsforco.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/DigitalDeliveryTarget.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/QuestionarioReportFileGroupAno.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorGatewayExcActividadeDocenteValidacao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/OlapEntityQuestionarioUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/ConfigurationDirectory.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseUnitAssignement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowConnector.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentEventEnd.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowObjectInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseSchool.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Job.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.io.Serializable;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/JobServiceTaskScheduler.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/EventGenericRecord.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/BpmnFlowComponentTaskActorActividadeDocenteEscolhaValidadorInstance.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
 
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/CourseDepartment.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/MetaProcess.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/SurveyStructuralNode.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 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 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/Seccao.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/branches/v3/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 28/Mai/2017 14:34:06 by Hibernate Tools 3.2.0.b9
// Generated 3/Jun/2017 20:45:30 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;