Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1506 → Rev 1507

/branches/v3/impl/conf/WEB-INF/struts/struts-courses.xml
113,6 → 113,8
input="page.welcome">
<forward name="loadstudyplans" path="page.admin.course.studyplans"/>
<forward name="adminStudyPlans" path="page.admin.course.studyplans"/>
<forward name="editStudyPlan" path="page.admin.course.studyplans.edit"/>
 
</action>
 
 
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java
3,6 → 3,7
import com.owlike.genson.Genson;
import com.owlike.genson.TransformationException;
import com.owlike.genson.reflect.VisibilityFilter;
import jomm.dao.impl.AbstractDao;
import jomm.utils.FilesUtils;
import jomm.utils.StreamsUtils;
import org.apache.log4j.Logger;
419,9 → 420,10
private static Genson getGensonPlanoEstudos(){
Genson genson = new Genson.Builder()
.exclude("class")
.exclude("siges")
.exclude("nome")
.exclude("siges", Curso.class)
.exclude("nome",Curso.class)
.exclude("dep")
.exclude("removed",UnidadeType.class)
.create();
return genson;
}
917,6 → 919,7
target.setXml(source.getXml());
target.setJson(source.getJson());
}
 
public Curso loadCursoPlanoFromXml(String xml)
{
try {
958,6 → 961,27
courseStudiesPlanPersistente.setVersion(courseStudiesPlanEditado.getVersion());
courseStudiesPlanPersistente.setVersionDescription(courseStudiesPlanEditado.getVersionDescription());
 
//REMOVED UNIDADES TO REMOVE
for(Curso.Semestre semestre:planoEditado.getSemestre())
{
Iterator<UnidadeType> uIter = semestre.getUnidade().iterator();
while(uIter.hasNext())
{
UnidadeType unidade = uIter.next();
if(unidade.getRemoved() != null && unidade.getRemoved().equals("true"))
uIter.remove();
}
for(Curso.Semestre.Perfil perfil: semestre.getPerfil())
{
Iterator<UnidadeType> uIter2 = perfil.getUnidade().iterator();
while(uIter2.hasNext())
{
UnidadeType unidade = uIter2.next();
if(unidade.getRemoved() != null && unidade.getRemoved().equals("true"))
uIter2.remove();
}
}
}
//Garante-se mas depois não vai para o JSON
planoEditado.setSiges(course.getCode());//GARANTIR QUE O CODIGO SIGEST ESTA CORRECTO
planoEditado.setNome(course.getName());
992,15 → 1016,43
}
}
 
public void generateFreshJsonPlanosEstudosFromXml(UserSession session)
{
List<CourseStudiesPlan> coursePlans = DaoFactory.getCourseStudiesPlanDaoImpl().findAll();
for(CourseStudiesPlan courseStudiesPlanPersistente: coursePlans)
{
try
{
logger.info("Generating JSON for " + courseStudiesPlanPersistente.getCourse().getName() + " version: " + courseStudiesPlanPersistente.getVersion());
Curso cursoPlano = loadCursoPlanoFromXml(courseStudiesPlanPersistente.getXml());
String json = getGensonPlanoEstudos().serialize(cursoPlano);
//SETTING JSON in COURSE STUDIES PLAN
courseStudiesPlanPersistente.setJson(json);
}
catch(Throwable e)
{
logger.error(e,e);
}
}
}
 
 
 
public List<CourseDepartment> loadDepartments()
{
List<CourseDepartment> departments = DaoFactory.getCourseDepartmentDaoImpl().findAll();
for(CourseDepartment dep: departments)
dep.getName();
return departments;
 
}
 
public static void main(String[] args)
{
AbstractDao.getCurrentSession().beginTransaction();
new CoursesService().generateFreshJsonPlanosEstudosFromXml(null);
AbstractDao.getCurrentSession().getTransaction().commit();
}
 
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/UpdateDepartmentsTask.java
164,6 → 164,7
courseDepartment.setNameEn(nomeEn);
courseDepartment.setNameEs(nomeEs);
courseDepartment.setNameFr(nomeFr);
courseDepartment.setActive(true);
dao.save(courseDepartment);
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/courses/xsd/UnidadeImpl.java
10,4 → 10,5
horasContacto = new HorasContacto();
return horasContacto;
}
 
}
/branches/v3/impl/src/java/pt/estgp/estgweb/services/users/UserRoleConfigService.java
179,6 → 179,8
"user.role.questionarios.admin=Questionários - Super Administrador\n" +
"user.role.questionarios.gerais=Questionários - Permissões Básicas (necessário)\n" +
"user.role.servicesPrograms=Gestão de Programas Curriculares\n" +
"user.role.servicesStudiesPlans=Gestão de Planos de Estudos\n" +
"user.role.servicesCoursesManagement=Gestão de Cursos\n" +
"user.role.administrativeCouncil=Membro da Direcção\n" +
"user.role.administrativeCouncil.director=Director\n" +
"user.role.administrativeCouncil.vice=Vice Director\n" +
/branches/v3/impl/src/java/pt/estgp/estgweb/web/form/courses/CourseStudiesPlansAdminForm.java
23,13 → 23,35
//flag para indicar se o plano em edição é o ultimo plano criado
private boolean versaoVigor = false;
 
private String semestreId;
 
private String perfilId;
 
 
 
 
public CourseStudiesPlansAdminForm()
{
 
 
}
 
public String getSemestreId() {
return semestreId;
}
 
public void setSemestreId(String semestreId) {
this.semestreId = semestreId;
}
 
public String getPerfilId() {
return perfilId;
}
 
public void setPerfilId(String perfilId) {
this.perfilId = perfilId;
}
 
public CourseStudiesPlanImpl getCourseStudiesPlan() {
return courseStudiesPlan;
}
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesController.java
6,6 → 6,8
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.views.CourseView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.courses.xsd.Curso;
import pt.estgp.estgweb.services.courses.xsd.UnidadeImpl;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
532,8 → 534,63
}
}
 
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 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");
}
}
 
 
 
 
 
}
/branches/v3/impl/src/updates/version/release-09-2016-planos-Estudos
9,4 → 9,8
 
2 - Correr a sincronização de planos para arranjar o XML do JaxB com os URLS das unidades e dos PDF's
 
http://pae.ipportalegre.pt/wsjson/api?service=syncSystemPlans&systemUrl=http://www.estgp.pt&setActive=true
http://pae.ipportalegre.pt/wsjson/api?service=syncSystemPlans&systemUrl=http://www.estgp.pt&setActive=true
 
3 - Correr as atualizações dos papeis institucionais e reiniciar sistema para assumir os papeis
"user.role.servicesStudiesPlans=Gestão de Planos de Estudos\n" +
"user.role.servicesCoursesManagement=Gestão de Cursos\n" +
/branches/v3/impl/src/web/admin/courses/courseComissionEditPanel.jsp
New file
0,0 → 1,145
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.Teacher" %>
<%@ page import="pt.estgp.estgweb.domain.User" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.views.UserView" %>
<%@ page import="java.util.Collection" %>
<%--
Created by IntelliJ IDEA.
User: jorgemachado
Date: 20/09/16
Time: 14:45
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<jsp:useBean id="CourseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/>
<%-- PAINEL INDEPENDENTE PARA GERIR COMISSAO DE CURSO --%>
<%
Long courseIdForComissions = (Long) request.getAttribute("courseIdForComissions");
Collection<UserView> teachersForComissions = (Collection<UserView>) request.getAttribute("teachersForComissions");
 
 
%>
<script>
function removeCourseComissionTeacher(teacherId)
{
$.getJSON('<%=request.getContextPath()%>/user/courses/courseApiJson.jsp',
{
service:"removeCourseComissionTeacher",
teacherId:teacherId,
courseId: <%=courseIdForComissions%>
},
function(data)
{
if(data.response == "done")
{
$("#courseComissionTeacher" + teacherId).remove();
}
else
{
$("#courseComissionTeacher" + teacherId).css(
{
"background-color":"red"
}
);
alert("ERRO NO SERVIÇO: " + data.msg);
}
});
}
function addCourseComissionTeacher(teacherId)
{
 
$.getJSON('<%=request.getContextPath()%>/user/courses/courseApiJson.jsp',
{
service:"addCourseComissionTeacher",
teacherId:teacherId,
courseId: <%=CourseView.getId()%>
},
function(data)
{
if(data.response == "done")
{
 
newLine = $(
"<tr id=\"courseComissionTeacher" + teacherId + "\" >" +
"<td>" + data.teacherCode + "</td>" +
"<td>" + data.teacherName + "</td>" +
"<td>" + data.teacherEmail + "</td>" +
"<td>" +
"<a class=\"btn btn-warning\" target=\"_blank\" href=\"<%=request.getContextPath()%>/user/startProfileFromSearchUsers.do?id=" + teacherId + "\"><span class=\"glyphicon glyphicon-pencil\"></span></a>" +
"<button type=\"button\" class=\"btn btn-danger\" onclick=\"removeCourseComissionTeacher(" + teacherId + ")\"><span class=\"glyphicon glyphicon-remove\"></span></button>"+
"</td>" +
"</tr>");
$("#teacherContainer").append(newLine);
evaluateTableSortersInside("#teachersTable");
 
}
else
{
$("#courseComissionTeacher" + teacherId).css(
{
"background-color":"red"
}
);
alert("ERRO NO SERVIÇO: " + data.msg);
}
});
}
</script>
<div class="form-group">
<label class="control-label col-sm-2">Escolher um Membro para a Comissão</label>
<div class="col-sm-10">
<select id="teacherSelectedForComission" class="form-control">
<option>
<bean:message key="none"/>
</option>
<logic:present name="teachersForComissions">
<logic:iterate id="teacher" name="teachersForComissions" type="pt.estgp.estgweb.domain.views.UserView">
<option value="${teacher.id}">
(${teacher.code}) ${teacher.name}
</option>
</logic:iterate>
</logic:present>
</select>
<button type="button" class="btn btn-success" onclick="addCourseComissionTeacher($('#teacherSelectedForComission').val())"><span class="glyphicon glyphicon-plus"></span></button>
</div>
</div>
 
 
<table id="teachersTable" class="tablesorterfiltered">
<thead>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Contacto</th>
<th>Editar</th>
</tr>
</thead>
<tbody id="teacherContainer">
<%
AbstractDao.getCurrentSession().beginTransaction();
for(User u: DaoFactory.getUserDaoImpl().loadRoleUsers(CourseView.getValidationRole()))
{
%>
<tr id="courseComissionTeacher<%=u.getId()%>">
<td><%=((Teacher)u).getSigesCode()%></td>
<td><%=u.getName()%></td>
<td><%=u.getEmail()%></td>
<td>
<a class="btn btn-warning" target="_blank" href="<%=request.getContextPath()%>/user/startProfileFromSearchUsers.do?id=<%=u.getId()%>"><span class="glyphicon glyphicon-pencil"></span></a>
<button type="button" class="btn btn-danger" onclick="removeCourseComissionTeacher(<%=u.getId()%>)"><span class="glyphicon glyphicon-remove"></span></button>
</td>
</tr>
<%
}
AbstractDao.getCurrentSession().getTransaction().commit();
%>
</tbody>
</table>
/branches/v3/impl/src/web/admin/courses/course.jsp
10,7 → 10,6
<%@ page import="java.util.Collection" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
110,7 → 109,7
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2"><bean:message key="course.degree"/> FR</label>
<label class="control-label col-sm-2"><bean:message key="course.degree"/></label>
<div class="col-sm-10">
<html:select styleClass="form-control" property="courseView.degree">
<html:option value="B"><bean:message key="course.B"/></html:option>
231,130 → 230,10
<%
request.setAttribute("teachersForComissions", CourseForm.getTeachers());
request.setAttribute("courseIdForComissions", CourseView.getId());
//CourseView needed ja la esta neste caso
%>
 
<%-- PAINEL INDEPENDENTE PARA GERIR COMISSAO DE CURSO --%>
<%
Long courseIdForComissions = (Long) request.getAttribute("courseIdForComissions");
Collection<UserView> teachersForComissions = (Collection<UserView>) request.getAttribute("teachersForComissions");
 
%>
<script>
function removeCourseComissionTeacher(teacherId)
{
$.getJSON('<%=request.getContextPath()%>/user/courses/courseApiJson.jsp',
{
service:"removeCourseComissionTeacher",
teacherId:teacherId,
courseId: <%=courseIdForComissions%>
},
function(data)
{
if(data.response == "done")
{
$("#courseComissionTeacher" + teacherId).remove();
}
else
{
$("#courseComissionTeacher" + teacherId).css(
{
"background-color":"red"
}
);
alert("ERRO NO SERVIÇO: " + data.msg);
}
});
}
function addCourseComissionTeacher(teacherId)
{
 
$.getJSON('<%=request.getContextPath()%>/user/courses/courseApiJson.jsp',
{
service:"addCourseComissionTeacher",
teacherId:teacherId,
courseId: <%=CourseView.getId()%>
},
function(data)
{
if(data.response == "done")
{
 
newLine = $(
"<tr id=\"courseComissionTeacher" + teacherId + "\" >" +
"<td>" + data.teacherCode + "</td>" +
"<td>" + data.teacherName + "</td>" +
"<td>" + data.teacherEmail + "</td>" +
"<td>" +
"<a class=\"btn btn-warning\" target=\"_blank\" href=\"<%=request.getContextPath()%>/user/startProfileFromSearchUsers.do?id=" + teacherId + "\"><span class=\"glyphicon glyphicon-pencil\"></span></a>" +
"<button type=\"button\" class=\"btn btn-danger\" onclick=\"removeCourseComissionTeacher(" + teacherId + ")\"><span class=\"glyphicon glyphicon-remove\"></span></button>"+
"</td>" +
"</tr>");
$("#teacherContainer").append(newLine);
evaluateTableSortersInside("#teachersTable");
 
}
else
{
$("#courseComissionTeacher" + teacherId).css(
{
"background-color":"red"
}
);
alert("ERRO NO SERVIÇO: " + data.msg);
}
});
}
</script>
<div class="form-group">
<label class="control-label col-sm-2">Escolher um Membro para a Comissão</label>
<div class="col-sm-10">
<select id="teacherSelectedForComission" class="form-control">
<option>
<bean:message key="none"/>
</option>
<logic:present name="teachersForComissions">
<logic:iterate id="teacher" name="teachersForComissions" type="pt.estgp.estgweb.domain.views.UserView">
<option value="${teacher.id}">
(${teacher.code}) ${teacher.name}
</option>
</logic:iterate>
</logic:present>
</select>
<button type="button" class="btn btn-success" onclick="addCourseComissionTeacher($('#teacherSelectedForComission').val())"><span class="glyphicon glyphicon-plus"></span></button>
</div>
</div>
 
 
<table id="teachersTable" class="tablesorterfiltered">
<thead>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Contacto</th>
<th>Editar</th>
</tr>
</thead>
<tbody id="teacherContainer">
<%
AbstractDao.getCurrentSession().beginTransaction();
for(User u:DaoFactory.getUserDaoImpl().loadRoleUsers(CourseView.getValidationRole()))
{
%>
<tr id="courseComissionTeacher<%=u.getId()%>">
<td><%=((Teacher)u).getSigesCode()%></td>
<td><%=u.getName()%></td>
<td><%=u.getEmail()%></td>
<td>
<a class="btn btn-warning" target="_blank" href="<%=request.getContextPath()%>/user/startProfileFromSearchUsers.do?id=<%=u.getId()%>"><span class="glyphicon glyphicon-pencil"></span></a>
<button type="button" class="btn btn-danger" onclick="removeCourseComissionTeacher(<%=u.getId()%>)"><span class="glyphicon glyphicon-remove"></span></button>
</td>
</tr>
<%
}
AbstractDao.getCurrentSession().getTransaction().commit();
%>
</tbody>
</table>
<jsp:include page="courseComissionEditPanel.jsp"/>
<%-- // PAINEL INDEPENDENTE PARA GERIR COMISSAO DE CURSO --%>
</div>
</div>
390,12 → 269,17
</div>
</div>
 
<%--
 
 
<div class="form-group">
<label class="control-label col-sm-2">
<bean:message key="course.studies.plan"/>(Versão nova PAE)
<a class="btn btn-default" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=<%=CourseView.getId()%>">Gerir Planos</a>
<baco:hasRole role="admin,all,servicesStudiesPlans">
<a class="btn btn-default" href="<%=request.getContextPath()%>/user/adminStudyPlans.do?courseId=<%=CourseView.getId()%>">Gerir Planos</a>
</baco:hasRole>
<baco:hasNotRole role="admin,all,servicesStudiesPlans">
<label class="text-info"> Necessita do papel de Gestão de Planos de Estudos para editar os planos</label>
</baco:hasNotRole>
</label>
<div class="col-sm-10">
<logic:present name="CourseView" property="courseStudiesPlans">
422,10 → 306,10
</logic:present>
</div>
</div>
--%>
 
 
 
 
<%--
 
<tr>
/branches/v3/impl/src/web/user/courses/studiesPlansAdministrationEdit.jsp
158,6 → 158,8
<html:hidden property="courseId"/>
<html:hidden property="versaoVigor"/>
<html:hidden property="courseStudiesPlan.id"/>
<html:hidden styleId="semestreId" property="semestreId"/>
<html:hidden styleId="perfilId" property="perfilId"/>
 
<div class="form-group">
<label class="control-label col-sm-2">Versão</label>
172,6 → 174,81
</div>
</div>
 
<%
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);
 
}
function sendDownUnidadeCurricular(dummyIndexId)
{
sendFieldDown("removed",dummyIndexId);
sendFieldDown("siges",dummyIndexId);
sendFieldDown("nome",dummyIndexId);
sendFieldDown("nomeEn",dummyIndexId);
sendFieldDown("nomeEs",dummyIndexId);
sendFieldDown("nomeFr",dummyIndexId);
 
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);
 
}
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");
 
}
</script>
<nested:notEmpty property="planoEstudos">
 
<html:hidden property="planoEstudos.siges"/>
180,6 → 257,7
<nested:iterate id="semestre" property="planoEstudos.semestre" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre">
<div class="panel panel-default">
<div class="panel-heading">
 
<nested:select property="id">
<html:option value="S1">Semestre 1</html:option>
<html:option value="S2">Semestre 2</html:option>
196,19 → 274,43
<html:option value="T7">Trimestre 7</html:option>
<html:option value="T8">Trimestre 8</html:option>
</nested:select>
 
<%
dummyIndexSemestreId++;
request.setAttribute("dummyIndexSemestreId",dummyIndexSemestreId);
%>
<nested:hidden property="semestreId" value="semestreDummy${dummyIndexSemestreId}"/>
<button type="button" class="btn btn-default" onclick="form.action=form.action+'#semestreDummy${dummyIndexSemestreId}';$('#semestreId').val('semestreDummy${dummyIndexSemestreId}');set(this.form,'addUnidadeSemestre');this.form.submit()">
<span class="glyphicon glyphicon-plus"> Adicionar Unidade ao Semestre</span>
</button>
<a name="semestreDummy${dummyIndexSemestreId}"></a>
</div>
<div class="panel-body">
 
 
<button class="btn btn-default" data-toggle="collapse" type="button" data-target=".langs">Ver Campos Multingua</button>
<nested:iterate id="perfil" property="perfil" type="pt.estgp.estgweb.services.courses.xsd.Curso.Semestre.Perfil">
<div class="panel panel-default">
<div class="panel-heading">
 
PERFIL <nested:text styleClass="form-control" property="nome"/>
<%
dummyIndexPerfilId++;
request.setAttribute("dummyIndexPerfilId",dummyIndexPerfilId);
%>
<nested:hidden property="perfilId" value="perfilDummy${dummyIndexPerfilId}"/>
 
<button type="button" class="btn btn-default" onclick="form.action=form.action+'#perfilDummy${dummyIndexPerfilId}';$('#perfilId').val('perfilDummy${dummyIndexPerfilId}');set(this.form,'addUnidadePerfil');this.form.submit()">
<span class="glyphicon glyphicon-plus"> Adicionar Unidade ao Perfil</span>
</button>
<a name="perfilDummy${dummyIndexPerfilId}"></a>
</div>
<div class="panel-body">
<table class="tablesorterfiltered">
<thead>
<tr>
<td></td>
<td></td>
<th>SIGES</th>
<th>Nome</th>
<th>Total</th>
228,39 → 330,69
</tr>
</thead>
<tbody>
<nested:iterate id="unidade" property="unidade" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
<tr>
<td><nested:text styleClass="form-control" property="siges"/></td>
<nested:size id="tamanho" property="unidade"/>
<nested:iterate id="unit" indexId="indexId" property="unidade" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
 
<%
dummyIndexIdUnidades++;
request.setAttribute("dummyIndexIdUnidades","dummyIndex" + dummyIndexIdUnidades);
%>
<%
int tamanhoMinus1 = tamanho - 1;
request.setAttribute("tamanhoMinus1",tamanhoMinus1);
 
%>
<tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
<td class="text-nowrap">
 
<nested:greaterThan value="0" name="indexId">
<button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
</nested:greaterThan>
<nested:lessThan name="indexId" value="${tamanhoMinus1}">
<button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
</nested:lessThan>
</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><nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/></td>
<td>
<div>
<div class="col-sm-1">(PT)</div>
<div class="col-sm-11"><nested:text style="width:300px" styleClass="form-control" property="nome"/></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 style="width:300px" styleClass="form-control" property="nomeEn"/></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 style="width:300px" styleClass="form-control" property="nomeEs"/></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 style="width:300px" styleClass="form-control" property="nomeFr"/></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" property="totalHoras"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.t"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.TP"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.p"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.PL"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.PD"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.OT"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.e"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.s"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.TC"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.o"/></td>
<td><nested:text styleClass="form-control" property="ECTS"/></td>
<td><nested:text styleClass="form-control" style="width:600px" property="urlUnidadeCurricular"/></td>
<td><nested:text styleClass="form-control" style="width:600px" property="urlFichaCurricular"/></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><nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/></td>
</tr>
</nested:iterate>
</tbody>
271,9 → 403,12
</nested:iterate>
 
<nested:notEmpty property="unidade">
 
<table class="tablesorterfiltered">
<thead>
<tr>
<th></th>
<th></th>
<th>SIGES</th>
<th>Nome</th>
<th>Total</th>
293,44 → 428,75
</tr>
</thead>
<tbody>
<nested:iterate id="unidade" property="unidade" type="pt.estgp.estgweb.services.courses.xsd.UnidadeType">
<tr>
<td><nested:text styleClass="form-control" property="siges"/></td>
<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);
 
%>
 
<tr <nested:equal property="removed" value="true">class="hidden"</nested:equal>>
<td class="text-nowrap">
 
<nested:greaterThan value="0" name="indexId">
<button type="button" class="btn btn-warning" onclick="sendUpUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-up"> </span>
</button>
</nested:greaterThan>
<nested:lessThan name="indexId" value="${tamanhoMinus1}">
<button type="button" class="btn btn-warning" onclick="sendDownUnidadeCurricular(<%=dummyIndexIdUnidades%>)">
<span class="glyphicon glyphicon-arrow-down"> </span>
</button>
</nested:lessThan>
</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><nested:text styleId="siges${dummyIndexIdUnidades}" styleClass="form-control" property="siges"/></td>
<td>
<div>
<div class="col-sm-1">(PT)</div>
<div class="col-sm-11"><nested:text style="width:300px" styleClass="form-control" property="nome"/></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 style="width:300px" styleClass="form-control" property="nomeEn"/></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 style="width:300px" styleClass="form-control" property="nomeEs"/></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 style="width:300px" styleClass="form-control" property="nomeFr"/></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" property="totalHoras"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.t"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.TP"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.p"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.PL"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.PD"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.OT"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.e"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.s"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.TC"/></td>
<td><nested:text styleClass="form-control" property="horasContacto.o"/></td>
<td><nested:text styleClass="form-control" property="ECTS"/></td>
<td><nested:text styleClass="form-control" style="width:600px" property="urlUnidadeCurricular"/></td>
<td><nested:text styleClass="form-control" style="width:600px" property="urlFichaCurricular"/></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><nested:text styleClass="form-control" styleId="urlFichaCurricular${dummyIndexIdUnidades}" style="width:600px" property="urlFichaCurricular"/></td>
</tr>
</nested:iterate>
</tbody>
</table>
</nested:notEmpty>
 
</div>
</div>
 
/branches/v3/impl/src/web/user/home/panels/academicTools.jsp
14,9 → 14,11
<baco:hasRole role="admin,all">
<div class="list-group-item"><html:link action="/admin/courseUnitsDeleteAdmin">Administração de Unidades Curriculares (Remoções)</html:link></div>
</baco:hasRole>
<div class="list-group-item"><html:link action="/user/courseComissions">Informação Adicional de Cursos</html:link></div>
<div class="list-group-item"><html:link action="/user/courseComissions">Informação Resumida de Cursos</html:link></div>
<div class="list-group-item"><html:link action="/user/startFindCourseUnitAdminFromServiceZone"><bean:message key="courseunit.search"/></html:link></div>
 
<baco:hasRole role="admin,all,servicesStudiesPlans,servicesCoursesManagement">
<div class="list-group-item"><html:link action="/user/startSelectCourseFromServiceZone">Gestão de Cursos</html:link></div>
</baco:hasRole>
</div>
</div>
</div>
/branches/v3/impl/src/xsd/planoestudos.xsd
22,6 → 22,7
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="nome" type="xsd:string" use="required"/>
<xsl:attribute name="perfilId" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
49,6 → 50,7
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsl:attribute name="semestreId" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
84,5 → 86,6
<xsd:element name="obs" type="xsd:string"/>
</xsd:sequence>
<xsl:attribute name="siges" type="xsd:string" use="optional"/>
<xsl:attribute name="removed" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:schema>
/branches/v3/impl/gen/java/pt/estgp/estgweb/services/courses/xsd/package-info.java
2,7 → 2,7
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.09.16 at 11:38:12 AM WEST
// Generated on: 2016.09.21 at 06:58:08 PM WEST
//
 
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.estgp.pt/xsd/planoestudos/1.0/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
/branches/v3/impl/gen/java/pt/estgp/estgweb/services/courses/xsd/Curso.java
2,15 → 2,20
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.09.16 at 11:38:12 AM WEST
// Generated on: 2016.09.21 at 06:58:08 PM WEST
//
 
 
package pt.estgp.estgweb.services.courses.xsd;
 
import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
40,6 → 45,7
* &lt;element name="unidade" type="{http://www.estgp.pt/xsd/planoestudos/1.0/}unidadeType" maxOccurs="unbounded"/>
* &lt;/sequence>
* &lt;attribute name="nome" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="perfilId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
69,6 → 75,7
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="semestreId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
221,6 → 228,7
* &lt;element name="unidade" type="{http://www.estgp.pt/xsd/planoestudos/1.0/}unidadeType" maxOccurs="unbounded"/>
* &lt;/sequence>
* &lt;attribute name="nome" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="perfilId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
250,6 → 258,7
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="semestreId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
270,6 → 279,8
protected String semestreDesc;
@XmlAttribute(required = true)
protected String id;
@XmlAttribute
protected String semestreId;
 
/**
* Gets the value of the unidade property.
377,8 → 388,32
this.id = value;
}
 
/**
* Gets the value of the semestreId property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSemestreId() {
return semestreId;
}
 
/**
* Sets the value of the semestreId property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSemestreId(String value) {
this.semestreId = value;
}
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
391,6 → 426,7
* &lt;element name="unidade" type="{http://www.estgp.pt/xsd/planoestudos/1.0/}unidadeType" maxOccurs="unbounded"/>
* &lt;/sequence>
* &lt;attribute name="nome" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="perfilId" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
408,6 → 444,8
protected List<UnidadeType> unidade;
@XmlAttribute(required = true)
protected String nome;
@XmlAttribute
protected String perfilId;
 
/**
* Gets the value of the unidade property.
462,6 → 500,30
this.nome = value;
}
 
/**
* Gets the value of the perfilId property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPerfilId() {
return perfilId;
}
 
/**
* Sets the value of the perfilId property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPerfilId(String value) {
this.perfilId = value;
}
 
}
 
}
/branches/v3/impl/gen/java/pt/estgp/estgweb/services/courses/xsd/UnidadeType.java
2,7 → 2,7
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.09.16 at 11:38:12 AM WEST
// Generated on: 2016.09.21 at 06:58:08 PM WEST
//
 
 
57,6 → 57,7
* &lt;element name="obs" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;attribute name="siges" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="removed" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
101,6 → 102,8
protected String obs;
@XmlAttribute
protected String siges;
@XmlAttribute
protected String removed;
 
/**
* Gets the value of the urlFichaCurricular property.
382,8 → 385,32
this.siges = value;
}
 
/**
* Gets the value of the removed property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getRemoved() {
return removed;
}
 
/**
* Sets the value of the removed property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setRemoved(String value) {
this.removed = value;
}
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
/branches/v3/impl/gen/java/pt/estgp/estgweb/services/courses/xsd/ObjectFactory.java
2,7 → 2,7
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2016.09.16 at 11:38:12 AM WEST
// Generated on: 2016.09.21 at 06:58:08 PM WEST
//
 
 
37,6 → 37,14
}
 
/**
* Create an instance of {@link UnidadeType }
*
*/
public UnidadeType createUnidadeType() {
return new UnidadeType();
}
 
/**
* Create an instance of {@link Curso }
*
*/
45,19 → 53,19
}
 
/**
* Create an instance of {@link UnidadeType.HorasContacto }
* Create an instance of {@link Curso.Semestre }
*
*/
public UnidadeType.HorasContacto createUnidadeTypeHorasContacto() {
return new UnidadeType.HorasContacto();
public Curso.Semestre createCursoSemestre() {
return new Curso.Semestre();
}
 
/**
* Create an instance of {@link UnidadeType }
* Create an instance of {@link UnidadeType.HorasContacto }
*
*/
public UnidadeType createUnidadeType() {
return new UnidadeType();
public UnidadeType.HorasContacto createUnidadeTypeHorasContacto() {
return new UnidadeType.HorasContacto();
}
 
/**
68,12 → 76,4
return new Curso.Semestre.Perfil();
}
 
/**
* Create an instance of {@link Curso.Semestre }
*
*/
public Curso.Semestre createCursoSemestre() {
return new Curso.Semestre();
}
 
}
/branches/v3/impl/build.xml
301,8 → 301,10
 
</copy>
<mkdir dir="${build.dir.war}/docs"/>
 
<!--DOCUMENTOS IMPORTANTES ARQUITETURA EMPRESARIAL TODO REVER LOCALIZAÇÃO DOS MESMOS-->
<copy todir="${build.dir.war}/docs" overwrite="true" file="src/doc/siges/ModeloDeInformacaoPAE-EmVigor.docx"/>
<copy todir="${build.dir.war}/docs" overwrite="true" file="src/doc/siges/Modelo_de_Dados_Siges11.zip"/>
<copy todir="${build.dir.war}/docs" overwrite="false" file="src/doc/siges/Modelo_de_Dados_Siges11.zip"/>
<copy todir="${build.dir.war}/docs" overwrite="true" file="src/doc/BacoV32016/processos/DocumentacaoProcessos.doc"/>
 
<replace file="${build.dir.war}/js/ajax.js">