Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 881 → Rev 898

/impl/importRoutines.xml
7,24 → 7,28
 
<target name="courses">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportCourseService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201314"/>
<!--<arg value="201314"/>-->
<arg value="201415"/>
</java>
</target>
<target name="sincronizeunits">
<java classname="pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201314"/>
<!--<arg value="201314"/>-->
<arg value="201415"/>
<arg value="true"/>
<arg value="true"/>
</java>
</target>
<target name="teachers">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportTeachersService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201314"/>
<!--<arg value="201314"/>-->
<arg value="201415"/>
</java>
</target>
<target name="students">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportStudentsService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201314"/>
<!--<arg value="201314"/>-->
<arg value="201415"/>
</java>
</target>
<target name="grades">
/impl/conf/language/MessageResourcesCourse.properties
39,6 → 39,7
course.C=Acções de Formação de Curta Duração
course.A=Formações Avançadas
course.O=Outras Formações
course.T=TeSP
 
course.Bs=Bacharelatos
course.Ls=Licenciaturas
/impl/conf/language/MessageResources.properties
158,6 → 158,7
fail.owner=Lamentamos o incómodo, mas não tem permissões sobre o objecto ao qual tentou aceder.
fail.timer=Lamentamos o incomodo, mas a acção que tentou efectuar não pode ser executada nesta data.
fail.authenticate=O nome de utilizador ou a palavra passe estão errados. Por favor tente de novo.
dontexist.authenticate=O utilizador já existe na rede interna mas ainda não está disponivel no sistema BACO, por favor dirija-se ao Centro Informático.
 
#palavras comuns
courseunit=Unidade Curricular
360,6 → 361,7
edit=Editar
delete=Apagar
confirm=Confirmar
save=Salvar
add=Adicionar
put=Colocar
remove=Remover
/impl/conf/WEB-INF/struts/struts-courseunits.xml
32,6 → 32,10
<action path="/startLoadCourseUnit" forward="/courseUnitController.do?dispatch=load"/>
<action path="/startLoadTeacherCourseUnit" forward="/courseUnitController.do?dispatch=loadTeacher"/>
<action path="/startLoadStudentCourseUnit" forward="/courseUnitController.do?dispatch=loadStudent"/>
 
<action path="/startLoadCourseUnitSiges" forward="/courseUnitController.do?dispatch=loadCourseUnitWebSiteBySigesCodes"/>
<action path="/startLoadCourseUnitProgramSiges" forward="/courseUnitController.do?dispatch=loadCourseUnitProgramBySigesCodes"/>
 
<action path="/courseUnitController"
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController"
name="CourseUnitsForm"
89,6 → 93,10
<action path="/user/startLoadCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=load&amp;from=Home"/>
<action path="/user/startLoadTeacherCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadTeacher&amp;from=Home"/>
<action path="/user/startLoadStudentCourseUnitFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadStudent&amp;from=Home"/>
 
<action path="/user/startLoadCourseUnitSigesFromHome" forward="/user/courseUnitControllerFromHome.do?dispatch=loadCourseUnitWebSiteBySigesCodes&amp;from=Home"/>
 
 
<action path="/user/courseUnitControllerFromHome"
type="pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController"
name="CourseUnitsForm"
/impl/conf/app.properties
1,7 → 1,7
 
#FICHEIRO DE CONFIGURACOES
 
import.year=201314
import.year=201415
tmp.dir=@tmp.dir@
data.dir=@data.dir@
use.ldap=@use.ldap@
/impl/conf/template/email/unidadeValidada_pt.txt
4,7 → 4,7
O BACO informa-o de que a ficha curricular da unidade de {0}
foi aprovada pela comissão de curso
 
Com os melhores cumprimentos
Cumprimentos
---------------------------------------------
Escola Superior de Tecnologia e Gestão
Instituto Politécnico de Portalegre
/impl/conf/template/email/courseUnitWork_pt.txt
15,7 → 15,8
 
{2}
 
Com os melhores cumprimentos {3}
Cumprimentos
{3}
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/courseUnitWorkChange_pt.txt
19,7 → 19,8
 
{2}
 
Com os melhores cumprimentos {3}
Cumprimentos
{3}
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/courseUnitBlogPost_pt.txt
14,7 → 14,8
 
{2}
 
Com os melhores cumprimentos {3}
Cumprimentos
{3}
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/courseUnitAnnouncement_pt.txt
15,7 → 15,8
 
{2}
 
Com os melhores cumprimentos {3}
Cumprimentos
{3}
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/unidadeEdicao_pt.txt
4,7 → 4,7
O BACO informa-o de que a ficha curricular da unidade de {0}
se encontra disponivel para edição
 
Com os melhores cumprimentos
Cumprimentos
---------------------------------------------
Escola Superior de Tecnologia e Gestão
Instituto Politécnico de Portalegre
/impl/conf/template/email/sendPageFriend_pt.txt
5,7 → 5,7
 
{1}
 
Com os Melhores cumprimentos
Cumprimentos
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/newGrades_pt.txt
5,7 → 5,7
 
{1}
 
Com os melhores cumprimentos
Cumprimentos
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/template/email/message_pt.txt
13,7 → 13,7
 
{2}
 
<p>Com os melhores cumprimentos {3}</p>
<p>Cumprimentos, {3}</p>
 
---------------------------------------------
<p>Escola Superior de Tecnologia e Gestão</p>
/impl/conf/template/email/unidadeEditada_pt.txt
4,7 → 4,7
O BACO informa-o de que a ficha curricular da unidade de {1}
foi editada
 
Com os melhores cumprimentos
Cumprimentos
---------------------------------------------
Escola Superior de Tecnologia e Gestão
Instituto Politécnico de Portalegre
/impl/conf/template/email/summary_pt.txt
9,7 → 9,7
 
{4}
 
Com os melhores cumprimentos
Cumprimentos
 
---------------------------------------------
Escola Superior de Tecnologia e Gestão
/impl/conf/directories/student.xml
20,7 → 20,7
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</node>
<node label="Biblioteca" id="biblioteca" group="1">
<node label="Biblioteca" id="biblioteca" group="1">
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf>
/impl/conf/berserk/sd.xml
830,7 → 830,20
<chain name="Session"/>
</filterChains>
</service>
 
<service>
<name>LoadCourseUnitsBySigesCodesSemestreLastYear</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadCourseUnitsBySigesCodesService</implementationClass>
<description>Load a unique unit by sigescode, semestre and course code</description>
<isTransactional>true</isTransactional>
<defaultMethod>loadLastYear</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
<service>
<name>LoadCourseUnitWorks</name>
<implementationClass>pt.estgp.estgweb.services.courseunits.CourseUnitWorkService</implementationClass>
<description>Load course unit works</description>
/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java
24,7 → 24,9
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
139,7 → 141,9
try
{
Document dom = Dom4jUtil.parse(stream);
String html = Dom4jUtil.styleDocument(dom, Globals.TEMPLATE_COURSE_XSL_PATH);
Map<String,Object> parameters = new HashMap<String,Object>();
parameters.put("COURSE_SIGES_CODE",c.getCode());
String html = Dom4jUtil.styleDocument(dom, Globals.TEMPLATE_COURSE_XSL_PATH,parameters);
c.setCacheWebDocument(html);
}
catch (Exception e)
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadCourseUnitsBySigesCodesService.java
39,4 → 39,24
}
return courseUnitViews;
}
 
public CourseUnitView loadLastYear(String code, String courseCode, String semestre, UserSession userSession) throws ServiceException {
 
if(semestre.equals("S3"))
semestre = "S1";
else if(semestre.equals("S4"))
semestre = "S2";
else if(semestre.equals("S5"))
semestre = "S1";
else if(semestre.equals("S6"))
semestre = "S2";
else if(semestre.startsWith("A"))
semestre = "A";
 
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueLastYear(code, courseCode,semestre);
 
if(courseUnit == null)
return null;
return new CourseUnitView(courseUnit);
}
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java
64,16 → 64,22
for (BigDecimal c : codigos)
{
Docente d = service.getSiGesWEBSoap().getDocente(c, Globals.SIGES_INSTITUTION_CODE, year);
logger.info("Codigo Funcionario Importado:" + d.getCodigoFuncionario().intValue() + " email IPP SIGES: " + d.getEmail());
logger.info("Codigo Funcionario Importado: SIGES(" + d.getCodigoFuncionario().intValue() + ") email IPP SIGES: " + d.getEmail());
logger.info("SIGES IMPORTED INFO: " + docenteToString(d));
Teacher t = DaoFactory.getTeacherDaoImpl().loadBySigesCode(d.getCodigoFuncionario().intValue());
boolean newUser = false;
if (t == null)
{
logger.info("Teacher does not exist in baco, will create SIGES:" + d.getCodigoFuncionario().intValue());
t = DomainObjectFactory.createTeacherImpl();
DaoFactory.getTeacherDaoImpl().save(t);
newUser = true;
}
logger.info("Importing: (" + t.getUsername() + ") " + t.getName());
else
{
logger.info("Teacher EXIST in baco with SIGES: " + d.getCodigoFuncionario().intValue());
}
logger.info("Will persist SIGES(" + d.getCodigoFuncionario().intValue() + ") baco (username:" + t.getUsername() + ") baco name:" + t.getName());
try
{
persist(d, t, newUser);
106,6 → 112,30
}
 
/**
* Implementação local do toString para a class Docente que foi gerada pelos web-services
* @param d
* @return
*/
 
public String docenteToString(Docente d)
{
return "Docente{" +
"codigoFuncionario=" + d.getCodigoFuncionario() +
", nomeFuncionario='" + d.getNomeFuncionario() + '\'' +
", nomeFuncionarioInt='" + d.getNomeFuncionarioInt() + '\'' +
", nomeAcademico='" + d.getNomeAcademico() + '\'' +
", sexo='" + d.getSexo() + '\'' +
", dataNascimento=" + d.getDataNascimento() +
", morada='" + d.getMorada() + '\'' +
", codigoPostal=" + d.getCodigoPostal() +
", subCodigoPostal=" + d.getSubCodigoPostal() +
", email='" + d.getEmail() + '\'' +
", numeroBi='" + d.getNumeroBi() + '\'' +
", usernameNetpa='" + d.getUsernameNetpa() + '\'' +
", disciplinas=" + d.getDisciplinas() +
'}';
}
/**
* Nao esta testado
* jm
*
127,8 → 157,25
{
int atIndex = d.getEmail().indexOf("@");
if (atIndex > 0)
{
t.setUsername(d.getEmail().substring(0, atIndex));
logger.info("Teacher SIGES:" + d.getCodigoFuncionario().intValue() + " foi-lhe atribuido o username d" + d.getEmail().substring(0, atIndex));
}
else
{
logger.info("Teacher SIGES:" + d.getCodigoFuncionario().intValue() + " NAO lhe foi atribuido username o email não tem o caracter @");
}
}
else if(t.getUsername() == null || t.getUsername().trim().length() == 0)
{
logger.info("Teacher SIGES:" + d.getCodigoFuncionario().intValue() + " nao tem email no SIGES foi-lhe atribuido o username d" + d.getCodigoFuncionario().intValue());
t.setUsername("d" + d.getCodigoFuncionario().intValue());
}
else
{
//username não foi alterado
logger.info("Teacher SIGES:" + d.getCodigoFuncionario().intValue() + " nao lhe foi alterado o username " + t.getUsername());
}
t.setSigesCode(d.getCodigoFuncionario().intValue());
if(t.getAddress() == null || t.getAddress().length() == 0)
t.setAddress(d.getMorada());
195,7 → 242,7
List<String> arguments = new ArrayList<String>();
String cause = e.getCause() == null ? "" : e.getCause().toString();
arguments.add((e.toString() + "\n" + cause).replace("\n","<br/>"));
Email email = new Email("Erro de importação de professores",emails,"baco@estgp.pt","messageToAdmin_pt.txt",arguments);
Email email = new Email("Erro de importa��o de professores",emails,"baco@estgp.pt","messageToAdmin_pt.txt",arguments);
new SendEmailService().sendEmail(email);
throw e;
}
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java
70,6 → 70,9
 
if(u == null)
{
logger.warn("user:" + username + " does not exist");
throw new AuthenticateException(AuthenticateException.DOES_NOT_EXIST);
/*
u = getUserInfo(username);
u.setPassword(password);
//put password to be complete for advising
83,7 → 86,7
else if (u.getRoles().contains("student"))
{
 
}
}*/
}
else
{
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateException.java
6,6 → 6,7
{
public static final String ALREADY_AUTHENTICATED = "authenticate.already.authenticated";
public static final String FAIL_AUTHENTICATION = "fail.authenticate";
public static final String DOES_NOT_EXIST = "dontexist.authenticate";
public static final String BLOCKED = "authenticate.blocked";
 
public AuthenticateException()
/impl/src/java/pt/estgp/estgweb/domain/ProcessEventImpl.java
176,4 → 176,35
}
return false;
}
 
 
 
@Override
public String toString() {
return "ProcessEvent{" +
"id=" + getId() +
", updateDate=" + getUpdateDate() +
", openDate=" + getOpenDate() +
", acceptedDate=" + getAcceptedDate() +
", dispatchedDate=" + getDispatchedDate() +
", lastChangeDate=" + getLastChangeDate() +
", closeDate=" + getCloseDate() +
", nowState='" + getNowState() + '\'' +
", accepted=" + isAccepted() +
", destinationRole='" + getDestinationRole() + '\'' +
", notes='" + getNotes() + '\'' +
", notesAccessLevel='" + getNotesAccessLevel() + '\'' +
", notesAccessIdentifiers='" + getNotesAccessIdentifiers() + '\'' +
", notesAccessRoles='" + getNotesAccessRoles() + '\'' +
", notesToStarter='" + getNotesToStarter() + '\'' +
", process=" + getProcess().getId() +
", previousEvent=" + getPreviousEvent().getId() +
", nextEvent=" +
", owner=" + getOwner().getUsername() +
", files=" + getFiles() +
'}';
}
 
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/ProcessImpl.java
63,4 → 63,29
{
return user.isSuperuser() || user.hasRole(Globals.ROLE_PROCESSES_ADMIN) || user.getId() == getLastEvent().getOwner().getId();
}
 
public boolean canRemoveLastEvent(User user)
{
if(getLastEvent().getPreviousEvent() == null)
{
//cant delete first event
return false;
}
if(user.isSuperuserOrAdmin())
{
return true;
}
//check if this event starts in this user looking to previous event
else if(!getLastEvent().isAccepted() &&
getLastEvent().getPreviousEvent() != null &&
user.getId() == getLastEvent().getPreviousEvent().getOwner().getId())
{
return true;
}
else
{
return false;
}
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationDaoImpl.java
New file
0,0 → 1,36
package pt.estgp.estgweb.domain.dao.impl;
 
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import pt.estgp.estgweb.domain.Course;
import pt.estgp.estgweb.domain.CourseImpl;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.estgp.estgweb.domain.dao.DaoUtils;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.estgp.estgweb.utils.DatesUtils;
 
import java.util.List;
 
import static org.hibernate.criterion.Restrictions.eq;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class ConfigurationDaoImpl extends ConfigurationDao
{
public static ConfigurationDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new ConfigurationDaoImpl();
return (ConfigurationDaoImpl) myInstance;
}
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
220,8 → 220,14
.uniqueResult();
}
 
public List<CourseUnit> loadBySigesCodeUnique(String sigesCode, String courseCode, String year)
public CourseUnit loadBySigesCodeUniqueLastYear(String sigesCode, String courseCode, String semestre)
{
return loadBySigesCodeUnique(sigesCode,courseCode,semestre,DatesUtils.getImportYear());
}
 
 
public List<CourseUnit> loadBySigesCodeUnique(String sigesCode, String courseCode, String year)
{
return createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationImpl.java
New file
0,0 → 1,18
package pt.estgp.estgweb.domain;
 
import java.io.Serializable;
 
/**
* @author Jorge Machado
* @date 2/Mar/2008
* @time 10:27:25
* @see pt.estgp.estgweb.domain
*/
public class ConfigurationImpl extends Configuration
{
 
public Serializable getSerializable()
{
return getId();
}
}
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java
191,7 → 191,7
}
catch (Exception e)
{
logger.error(e,e);
logger.error(e, e);
throw new IOException(e.toString());
}
}
451,6 → 451,7
String actualNodeId = (String) request.getAttribute("actualNodeId");
String actualRemoteNodeId = (String) request.getAttribute("ACTUAL_REMOTE_CHILD");
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request);
System.out.println("Using stylesheet = " + stylesheet);
 
parameters.put("contextPath", request.getContextPath());
String username = "descolnhecido";
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsController.java
1,10 → 1,7
package pt.estgp.estgweb.web.controllers.courseunits;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;
import org.hibernate.ObjectNotFoundException;
import pt.estgp.estgweb.Globals;
194,6 → 191,74
}
}
 
 
public ActionForward loadCourseUnitWebSiteBySigesCodes(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
CourseUnitsForm cUF = (CourseUnitsForm) form;
String unitCode = request.getParameter("unitCode");
String courseCode = request.getParameter("courseCode");
String semestre = request.getParameter("semestre");
 
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{unitCode,courseCode,semestre};
CourseUnitView cUV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitsBySigesCodesSemestreLastYear", args, names);
return loadCourseUnitAndForward(cUF,cUV.getId() ,true,false, mapping, request, response);
 
}
catch (FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e, e);
throw e;
}
}
 
 
public ActionForward loadCourseUnitProgramBySigesCodes(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
String unitCode = request.getParameter("unitCode");
String courseCode = request.getParameter("courseCode");
String semestre = request.getParameter("semestre");
 
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{unitCode,courseCode,semestre};
CourseUnitView cUV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnitsBySigesCodesSemestreLastYear", args, names);
 
ActionRedirect forward = new ActionRedirect();
forward.setPath("/repositoryStream/" + cUV.getProgramStreamId());
return forward;
 
}
catch (FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e, e);
throw e;
}
}
 
public ActionForward loadStudents(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml
237,6 → 237,7
<discriminator column="discrimitator"/>
<timestamp source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="closed" type="boolean"/>
<property name="numAlunosInscritos" type="text"/>
<property name="numAlunosSemElementosAvaliacao" type="integer"/>
 
/impl/src/hbm/pt/estgp/estgweb/domain/Configuration.hbm.xml
New file
0,0 → 1,20
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
<class name="pt.estgp.estgweb.domain.Configuration" table="configuration" abstract="true">
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
<meta attribute="scope-class">public abstract</meta>
<id name="id" type="long">
<generator class="native"/>
</id>
<discriminator column="discrimitator"/>
<timestamp source="db" name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="interfaceImportYear" type="string"/>
<property name="importsDefaultImportYear" type="string"/>
<subclass name="pt.estgp.estgweb.domain.ConfigurationImpl" discriminator-value="ConfigurationImpl"/>
</class>
</hibernate-mapping>
/impl/src/web/imgs/mime/docx.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/admin/courses/course.jsp
77,8 → 77,9
<html:option value="A"><bean:message key="course.A"/></html:option>
<html:option value="C"><bean:message key="course.C"/></html:option>
<html:option value="O"><bean:message key="course.O"/></html:option>
<html:option value="T"><bean:message key="course.T"/></html:option>
</html:select>
* SIGES: <bean:write name="CourseForm" property="courseView.degree"/> - Confirmar Mestrados e Pos graduacoes e informar equipa de desenvolvimento
** SIGES: <bean:write name="CourseForm" property="courseView.degree"/> - Confirmar Mestrados e Pos graduacoes e informar equipa de desenvolvimento
</td>
</tr>
<tr>
/impl/src/web/css/style.css
1797,6 → 1797,11
{
background-color:#EBFCD6;
}
.ficha
{
background-color:#EEEEEE;
text-align: center;
}
 
 
 
/impl/src/web/layout/layoutWelcome.jsp
57,7 → 57,7
boolean flash = false;
try
{
java.net.URL url = new java.net.URL("http://baco.estgp.pt:9090/static/public/portal/imagens/HOME.swf");
java.net.URL url = new java.net.URL("http://www.estgp.pt:9090/static/public/portal/imagens/HOME.swf");
java.io.InputStream s = url.openStream();
s.close();
flash=true;
86,7 → 86,7
else
{
%>
<img src="http://baco.estgp.pt:9090/static/public/portal/imagens/HOME.jpg"/>
<img src="http://www.estgp.pt:9090/static/public/portal/imagens/HOME.jpg"/>
<%
}
%>
/impl/src/web/layout/navigationTop.jsp
61,6 → 61,7
<li><html:link action="/courses?type=E"><bean:message key="course.E"/></html:link></li>
<li><html:link action="/courses?type=A"><bean:message key="course.A"/></html:link></li>
<li><html:link action="/courses?type=P"><bean:message key="course.P"/></html:link></li>
<li><html:link action="/courses?type=T"><bean:message key="course.T"/></html:link></li>
</ul>
</div>
</li>
/impl/src/web/public/courses/studiesPlan.jsp
18,7 → 18,7
<ul>
<logic:iterate id="courseUnitView" name="CourseView" property="courseUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView">
<li>
${courseUnitView.name}
${courseUnitView.name} (${courseUnitView.code})
</li>
</logic:iterate>
</ul>
/impl/src/web/user/courseunits/courseunitEvaluation.jsp
84,6 → 84,7
 
 
<%
boolean closed = CourseUnitEvaluationForm.getCourseUnitEvaluationView().getCourseUnitEvaluation().isClosed();
//todo é necessário um servico para ver se tem estes papeis
if(CourseUnitView.getResponsableTeacher().getId() == UserSession.getUser().getId()
||
92,8 → 93,34
//Validation Role e o papel da comissão de curso
UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole()))
{
 
if(closed)
{
%>
<h2>Este formulário está FECHADO para edição</h2>
<%
}
else
{
%>
<h2>Formulário em fase de edição</h2>
<%
}
 
if(closed)
{
%>
<script>
$( document ).ready(function() {
$("#formEdit :input").attr("disabled", true);
});
 
</script>
<%
}
%>
 
<div id="formEdit">
<html:form action="/user/courseUnitEvaluationController">
<input type="hidden" name="dispatch" value="saveEvaluation">
<html:hidden property="id"/>
183,14 → 210,14
<tr>
<th>Apreciação dos resultados quantitativos obtidos pelos estudantes</th>
<td width="80%">
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoQuantitivos"/>
<html:textarea style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoQuantitivos"/>
</td>
</tr>
<tr>
<th>Apreciação do funcionamento da UC<br/>
(Condições de funcionamento da UC; problemas detetados; identificação de práticas pedagógicas de mérito ou deficientes; etc.)</th>
<td width="80%">
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoUC"/>
<html:textarea style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoUC"/>
</td>
</tr>
<tr>
198,7 → 225,7
(Adequação das metodologias de ensino/aprendizagem utilizadas; competências efetivamente adquiridas e cumprimento dos conteúdos planificados)
</th>
<td width="80%">
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma"/>
<html:textarea style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma"/>
</td>
</tr>
<tr>
207,14 → 234,25
(Pontos fortes e fracos; sugestões de melhoria e respetivo plano de ação para a sua concretização)
</th>
<td width="80%">
<html:textarea style="width:100%;height: 100px" property="courseUnitEvaluationView.courseUnitEvaluation.qualConclusoes"/>
<html:textarea style="width:100%;height: 200px" property="courseUnitEvaluationView.courseUnitEvaluation.qualConclusoes"/>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><input type="button" value="<bean:message key="confirm"/>" onclick="set(form,'saveEvaluation');form.submit()"/></td>
<td colspan="2">
<%
if(!closed)
{
%>
 
<input type="button" value="<bean:message key="save"/>" onclick="set(form,'saveEvaluation');form.submit()"/>
<%
}
%>
</td>
 
</tr>
</table>
 
223,7 → 261,7
<%
}
%>
</div>
</div>
</div>
</div>
/impl/src/web/user/courseunits/menu.jsp
57,15 → 57,21
 
 
<%
if(Globals.MODULE_STATUS_SURVEYS)
try{
System.out.println(CourseUnitView);
System.out.println(CourseUnitView.getCourseView());
System.out.println(CourseUnitView.getResponsableTeacher());
 
if(CourseUnitView != null && Globals.MODULE_STATUS_COURSEUNITEVALUATION)
{
//todo é necessário um servico para ver se tem estes papeis
if(CourseUnitView.getResponsableTeacher().getId() == UserSession.getUser().getId()
||
CourseUnitView.isOwnedBy(UserSession.getUser(),false)
||
// ||
//Validation Role e o papel da comissão de curso
UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole()))
//UserSession.getUser().hasRole(CourseUnitView.getCourseView().getValidationRole())
)
{
%>
<li style="background-color: yellow">
74,6 → 80,10
<%
}
}
}catch(Throwable e)
{
}
 
%>
 
<baco:isTeacherOfCourseUnit courseUnitId="${CourseUnitView.id}">
/impl/src/web/user/ftpclient/ftpclient.jsp
151,7 → 151,7
&nbsp;
 
<%
if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf"))
if (i.getName().toLowerCase().endsWith("doc") || i.getName().endsWith("rtf") || i.getName().endsWith("docx"))
{
%>
<img alt="<%=i.getCompleteUrl()%>" src="<%=request.getContextPath()%>/imgs/mime/doc.gif">
244,4 → 244,4
<%
}
}
%>
%>
/impl/src/web/user/home/teacher.jsp
25,8 → 25,8
<div class="block">
<%
java.util.List<String> years = new java.util.ArrayList<String>();
years.add("201415");
years.add("201314");
years.add("201213");
 
java.util.Collections.sort(years, new java.util.Comparator<String>()
{
/impl/src/xsd/curso.xsl
51,7 → 51,12
@@ -101,7 +106,9 @@
@@ -119,7 +126,7 @@
@@ -132,13 +139,28 @@
@@ -151,11 +173,35 @@
@@ -167,7 +213,15 @@
/impl/src/xsd/fragmentoCurso.xsl
1,6 → 1,7
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:curso="http://www.estgp.pt/xsd/planoestudos/1.0/">
<xsl:import href="curso.xsl"/>
<xsl:param name="COURSE_SIGES_CODE"></xsl:param>
<xsl:template match="/">
<xsl:call-template name="fragmentoCurso"/>
</xsl:template>
/impl/gen/java/pt/ipportalegre/siges/web/services/Docente.java
390,4 → 390,22
this.disciplinas = value;
}
 
@Override
public String toString() {
return "Docente{" +
"codigoFuncionario=" + codigoFuncionario +
", nomeFuncionario='" + nomeFuncionario + '\'' +
", nomeFuncionarioInt='" + nomeFuncionarioInt + '\'' +
", nomeAcademico='" + nomeAcademico + '\'' +
", sexo='" + sexo + '\'' +
", dataNascimento=" + dataNascimento +
", morada='" + morada + '\'' +
", codigoPostal=" + codigoPostal +
", subCodigoPostal=" + subCodigoPostal +
", email='" + email + '\'' +
", numeroBi='" + numeroBi + '\'' +
", usernameNetpa='" + usernameNetpa + '\'' +
", disciplinas=" + disciplinas +
'}';
}
}
/impl/build.xml
9,6 → 9,7
-->
<target name="help">
<echo>This is the availible Ant Tasks:</echo>
<echo message="${env.JAVA_HOME}"></echo>
</target>