Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1097 → Rev 1133

/impl/importRoutines.xml
21,15 → 21,15
<target name="courses">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportCourseService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<!--<arg value="201314"/>-->
<!--<arg value="201415"/>-->
<arg value="201516"/>
<arg value="201415"/>
<!--<arg value="201516"/>-->
</java>
</target>
<target name="teachers">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportTeachersService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<!--<arg value="201314"/>-->
<!--<arg value="201415"/>-->
<arg value="201516"/>
<arg value="201415"/>
<!--<arg value="201516"/>-->
</java>
</target>
<target name="students">
67,7 → 67,7
</java>
</target>
<target name="grades">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<!--<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="200809"/>
</java>
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
81,10 → 81,11
</java>
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201213"/>
</java>
</java>-->
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201314"/>
</java>
 
</target>
 
<target name="setAreas">
107,9 → 108,13
<java classname="pt.estgp.estgweb.services.courseunits.SaveCourseUnitProgram" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
</target>
 
<target name="storeAllEvaluationsFtp">
<java classname="pt.estgp.estgweb.services.courseunits.SaveCourseUnitEvaluation" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
</target>
 
 
 
 
<target name="loadSummariesAtsi">
<java classname="pt.estgp.estgweb.services.sigesimports.LoadSumariesToPDF" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
</target>
/impl/conf/language/MessageResources.properties
475,6 → 475,9
user.role.courseValidateProgramTGI=Comissão de Curso de TGI
user.role.courseValidateProgramRU=Comissão de Curso de RU
 
user.role.courseValidateProgramCF=Comissão de Curso de Contabilidade e Finanças
user.role.courseValidateProgramTPB=Comissão de Curso de Tecnologias de Produção de Biocombustíveis
 
configuration.grades=Configuração Pautas
configuration=Configurações
configuration.directories=Configuração de Directórios
518,7 → 521,8
configuration.task.weekday=Dia da semana
configuration.task.monthday=Dia do Mês
configuration.task.now=Agendar para correr agora
 
configuration.tasks.canceled=Calcelado
configuration.tasks.saved=Tarefa agendada com sucesso
configuration.task.records=Registos de Tarefas Agendadas
configuration.task.log=Ficheiro de Registo
configuration.task.progress=Progresso
545,6 → 549,14
weekday.Sat=Sabados
weekday.Sun=Domingos
 
weekday.2=Segundas
weekday.3=Terças
weekday.4=Quartas
weekday.5=Quintas
weekday.6=Sextas
weekday.7=Sabados
weekday.1=Domingos
 
monthday.day=ao dia
weekday.day=às
day.time=às
/impl/conf/language/MessageResourcesCourseUnits.properties
94,7 → 94,7
courseunit.students=Estudantes
courseunit.students.count=Total de estudantes inscritos
courseunit.program=Ficha Curricular
courseunit.edit.program=Editar Programa
courseunit.edit.program=Editar Ficha Curricular
 
courseunit.assignement.deliver.time=Entregue
courseunit.assignement.deliver.time.ok=Entregue a Horas
142,10 → 142,10
 
 
 
courseunits.contentsGrants=Permiss\u00f5es de Consulta dos Ficheiros de Conte\u00fados
courseunits.contentsGrants.PUBLIC=PUBLICAS
courseunits.contentsGrants.PRIVATE=PRIVADOS A ESTUDANTES E DOCENTES DA UNIDADE
courseunits.contentsGrants.INTERNAL=COMUNIDADE ACAD\u00c9MICA
courseunits.contentsGrants=Anuncios e Blog
courseunits.contentsGrants.PUBLIC=PUBLICO
courseunits.contentsGrants.PRIVATE=privado unidade
courseunits.contentsGrants.INTERNAL=interno ESTG
 
 
courseunit.program.objectivos=Objetivos da aprendizagem (conhecimentos, aptid\u00f5es e compet\u00eancias) a desenvolver pelos estudantes, operacionaliza\u00e7\u00e3o dos objetivos e medi\u00e7\u00e3o do seu grau de cumprimento)
/impl/conf/app.properties
257,6 → 257,8
user.role.78=courseValidateProgramRPS
user.role.79=courseValidateProgramTGI
user.role.80=courseValidateProgramRU
user.role.85=courseValidateProgramCF
user.role.86=courseValidateProgramTPB
 
 
user.role.81=courseValidatePrograms
/impl/conf/berserk/sd.xml
2225,10 → 2225,24
</filterChains>
</service>
 
<service>
<name>SaveJobServiceTaskScheduler</name>
<implementationClass>pt.estgp.estgweb.services.jobs.JobScheduleService</implementationClass>
<description></description>
<isTransactional>true</isTransactional>
<defaultMethod>save</defaultMethod>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="Admins"/>
</filterChains>
</service>
saveJobServiceTaskScheduler
 
 
 
 
 
 
 
</serviceDefinitions>
/impl/src/java/pt/estgp/estgweb/services/courseunits/SaveCourseUnitEvaluation.java
1,5 → 1,6
package pt.estgp.estgweb.services.courseunits;
 
import jomm.dao.impl.AbstractDao;
import jomm.utils.PdfUtils;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
9,8 → 10,10
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.dao.impl.CourseUnitDaoImpl;
import pt.estgp.estgweb.domain.views.CourseUnitEvaluationView;
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum;
import pt.estgp.estgweb.services.data.IRepositoryFile;
import pt.estgp.estgweb.services.data.RepositoryService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.utils.Dom4jUtil;
19,10 → 22,7
 
import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
 
200,13 → 200,13
 
//NOVO
 
/*
 
if(cuv.isClosed())
{
RepositoryFileImpl repoFile = repositoryService.loadView(cu.getEvaluationStreamId());
sendPdfFtpIonline(cu,errors,userSession,path,repoFile.getLastVersion().getSaveDate(),null);
sendPdfFtpIonline(cu,errors,userSession,new FileInputStream(path),repoFile.getLastVersion().getSaveDate(),null);
}
*/
 
}
 
public String generatePdf(CourseUnitEvaluation cuv, CourseUnit c) throws IOException, TransformerException, FOPException {
253,7 → 253,7
}*/
 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd.HH_mm_ss");
private void sendPdfFtpIonline(CourseUnit cu, List<String> errors, UserSession u,String pdfPath,Date versionDate,FTPClient client) throws IOException, TransformerException, FOPException {
private boolean sendPdfFtpIonline(CourseUnit cu, List<String> errors, UserSession u,InputStream input,Date versionDate,FTPClient client) throws IOException, TransformerException, FOPException {
 
FtpServer server = null;
if(client == null)
264,7 → 264,7
{
logger.warn("###################");
logger.warn("################### > CANT CONNECT FTP");
return;
return false;
}
}
client.setFileType(FTP.BINARY_FILE_TYPE);
273,18 → 273,70
if(!client.changeWorkingDirectory(pastaFichaCurricular))
{
logger.error("FTP CANT CHANGE TO PATH: " + pastaFichaCurricular);
return false;
}
else
{
client.storeFile(cu.getCode() + "_" + cu.getNormalizedName() + "_v" + sdf.format(versionDate) + ".pdf",new FileInputStream(pdfPath));
client.storeFile(cu.getCode() + "_" + cu.getNormalizedName() + "_v" + sdf.format(versionDate) + ".pdf",input);
 
if(server != null)
{
client.quit();
client.disconnect();
}
return true;
}
 
//
}
 
public void storeAllClosedEvaluationsInActivePeriod() throws IOException
{
CourseUnitDaoImpl dao = DaoFactory.getCourseUnitDaoImpl();
List<Long> unitsIds = dao.loadClosedCourseUnitsEvaluations();
 
List<String> errors = new ArrayList<String>();
for (Long unitId: unitsIds) {
CourseUnit next = DaoFactory.getCourseUnitDaoImpl().load(unitId);
 
try {
if(next.getEvaluationStreamId() == null)
{
System.out.print("Generating PDF for evaluation report for: " + next.getCourse().getName() + " - " + next.getSemestre() + " - " + next.getNormalizedName());
createPdf(next.getCourseUnitEvaluation(),next,null,errors);
}
 
System.out.print("Sending evaluation report for: " + next.getCourse().getName() + " - " + next.getSemestre() + " - " + next.getNormalizedName());
 
RepositoryFileImpl repoFile = repositoryService.loadView(next.getEvaluationStreamId());
IRepositoryFile iRepoFile = repositoryService.loadByIdentifier(next.getEvaluationStreamId());
 
 
if(sendPdfFtpIonline(next,errors,null,iRepoFile.getInput(),repoFile.getLastVersion().getSaveDate(),null))
System.out.print(" ... OK");
else
System.out.print(" ... FAIL probably no StreamID");
System.out.print("\n");
if(errors.size()>0)
for(String error:errors)
logger.warn(error);
} catch (IOException e) {
logger.error(e,e);
} catch (TransformerException e) {
logger.error(e, e);
} catch (FOPException e) {
e.printStackTrace();
}
 
AbstractDao.getCurrentSession().evict(next);
}
}
 
public static void main(String[] args) throws IOException {
 
AbstractDao.getCurrentSession().beginTransaction();
new SaveCourseUnitEvaluation().storeAllClosedEvaluationsInActivePeriod();
AbstractDao.getCurrentSession().flush();
AbstractDao.getCurrentSession().getTransaction().commit();
}
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/CleanCourseUnitsZeroStudents.java
New file
0,0 → 1,72
package pt.estgp.estgweb.services.sigesimports;
 
import jomm.dao.impl.AbstractDao;
import org.hibernate.Query;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.estgp.estgweb.domain.dao.DaoFactory;
 
import java.util.Iterator;
 
/**
* Created by jorgemachado on 01/12/15.
*/
public class CleanCourseUnitsZeroStudents
{
public static void main(String[] args)
{
AbstractDao.getCurrentSession().beginTransaction();
 
 
Query q = AbstractDao.getCurrentSession().createQuery("select c.id from c in class " + CourseUnit.class.getName() +
" where size(c.students) = 0 and (c.importYear = '201415' or c.importYear='201516') order by c.importYear, c.semestre, c.code");
Iterator iter = q.iterate();
System.out.println("ANO;SEMESTRE;CODIGO;NOME;CODIGOCURSO;NOMECURSO");
while(iter.hasNext())
{
 
Long id = (Long) iter.next();
CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(id);
System.out.println(cu.getImportYear() + ";" + cu.getSemestre() + ";" + cu.getCode() + ";" + cu.getName() + ";" + cu.getCourseCode() + ";" +cu.getCourseName());
boolean alert = false;
if(cu.getAnnouncements() != null && cu.getAnnouncements().size() > 0)
{
System.out.println("ALERT - Tem Announcements");
}
if(cu.getAssignements() != null && cu.getAssignements().size() > 0)
{
System.out.println("ALERT - Tem Assignements");
}
if(cu.getBlogs() != null && cu.getBlogs().size() > 0)
{
System.out.println("ALERT - Tem BLOGS");
}
if(cu.getCourseUnitEvaluation() != null)
{
System.out.println("ALERT - Tem Evaluation");
alert = true;
}
if(cu.getCourseUnitProgram() != null)
{
System.out.println("ALERT - Tem program");
alert = true;
}
if(cu.getSummaries() != null && cu.getSummaries().size() > 0)
{
System.out.println("ALERT - Tem SUMMARIES");
}
if(alert)
{
System.out.println(">>>>>>>>>>>>>>NAO APAGA");
}
else
{
System.out.println("+++++++++++++++CANDIDATA A APAGAR");
}
 
}
 
 
 
AbstractDao.getCurrentSession().getTransaction().commit();
}
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java
11,6 → 11,7
import pt.estgp.estgweb.services.email.SendEmailService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.jobs.JobScheduleService;
import pt.estgp.estgweb.services.jobs.ServiceJob;
import pt.estgp.estgweb.services.logresults.ILogMessages;
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum;
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage;
33,7 → 34,7
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class ImportGradesService implements IService
public class ImportGradesService extends ServiceJob implements IService
{
 
private static final Logger logger = Logger.getLogger(ImportGradesService.class);
46,23 → 47,31
{
DefaultLogMessages logMessages = new DefaultLogMessages();
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode() + " ano : " + year));
logger.info("starting grades import " + year);
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
Map<Integer,Integer> alunos = new HashMap<Integer,Integer>();
Map<String,String> alunoCadeira = new HashMap<String,String>();
 
int foundTotal = 0;
 
try
{
logger.info("Loading Epocas de avaliacao");
serviceLogInfo("Loading Epocas de avaliacao");
List<ConfigurationGradesEpocaAvaliacao> epocas = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().findAll();
if(epocas == null || epocas.size() == 0)
{
logMessages.addMessage(new DefaultLogMessage("import.grades",LogMessageTypeEnum.WARNING,"Sem Epocas de Avaliacao, por favor adicione as epocas ao sistema"));
logger.warn("Sem Epocas de Avaliacao, por favor adicione as epocas ao sistema");
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
return logMessages;
}
List<ConfigurationGradesStatusEpoca> statusEpocas = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().findAll();
if(statusEpocas == null || statusEpocas.size() == 0)
{
logMessages.addMessage(new DefaultLogMessage("import.grades",LogMessageTypeEnum.WARNING,"Sem Status de epocas de avaliacao, por favor adicione as epocas ao sistema"));
logger.warn("Sem Status de epocas de avaliacao, por favor adicione as epocas ao sistema");
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
return logMessages;
}
HashMap<String,String> mapaEpocasAvaliacao = new HashMap<String, String>();
88,18 → 97,21
{
logMessages.addMessage(new DefaultLogMessage("import.error",e.toString(),"erro na configuracao do WEB Service", LogMessageTypeEnum.INFO));
logger.fatal(e, e);
serviceLogFatal(logMessages.getLastMessage());
return logMessages;
}
ArrayOfNota arrayOfNotas = service.getSiGesWEBSoap().getNotas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year);
List<Nota> notas = arrayOfNotas.getNota();
 
int i = 0;
foundTotal++;
for (Nota nota : notas)
{
if (i++ > MAX_COMMIT)
{
i = 0;
AbstractDao.getCurrentSession().getTransaction().commit();
AbstractDao.getCurrentSession().beginTransaction();
setProgress((int) (((float)foundTotal)/((float)notas.size())*100.0f));
commitPartially();
}
 
/**
113,7 → 125,9
*/
 
int codAluno = nota.getCodigoAluno().intValue();
alunos.put(codAluno,codAluno);
int codUnidade = nota.getCodigoDisciplina().intValue();
alunoCadeira.put(codAluno + "$" + codUnidade,codAluno + "$" + codUnidade);
int codCurso = nota.getCodigoCurso().intValue();
String cdDuracao = nota.getCdDuracao();
int valor = nota.getNota().intValue();
167,11 → 181,15
else
{
logMessages.addMessage(new DefaultLogMessage("import.warning","","CourseUnit: " + codUnidade + " course: " + codCurso + " student: " + s.getSigesCode() + " semestre: " + cdDuracao + " year: " + year + " does not exist", LogMessageTypeEnum.WARNING));
logger.warn("CourseUnit: " + codUnidade + " course: " + codCurso + " student: " + s.getSigesCode() + " semestre: " + cdDuracao + " year: " + year + " does not exist");
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
}
}catch(Exception e)
{
logger.warn("Error : unit:" + codUnidade + " course:" + codCurso + " student:" + s.getId(),e);
 
logMessages.addMessage(new DefaultLogMessage("import.warning","","Error : unit:" + codUnidade + " course:" + codCurso + " student:" + s.getId(), LogMessageTypeEnum.WARNING));
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
}
 
}
179,12 → 197,14
{
if(descricaoEpoca == null)
{
logger.info(epoca + "-" + momento + " nao esta catalogada para atribuicao de nota");
logMessages.addMessage(new DefaultLogMessage("import.warning","",epoca + "-" + momento + " nao esta catalogada para atribuicao de nota", LogMessageTypeEnum.WARNING));
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
}else
{
logMessages.addMessage(new DefaultLogMessage("import.warning","","Student: " + codAluno + " does not exist", LogMessageTypeEnum.WARNING));
logger.warn("Student: " + codAluno + " does not exist");
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
}
 
}
192,19 → 212,39
}
sendSms(null);
sendEmail(null);
 
 
//AbstractDao.getCurrentSession().getTransaction().commit();
}
catch (Throwable e)
{
logger.error(e, e);
 
 
//AbstractDao.getCurrentSession().getTransaction().rollback();
logMessages.addMessage(new DefaultLogMessage("import.error", e.toString(), "see log for details", LogMessageTypeEnum.ERROR));
serviceLogError(logMessages.getLastMessage());
throw new ServiceException(e.toString(), e);
}
setProgress(100);
logger.info("######################################");
serviceLogInfo("######################################");
logger.info("######################################");
serviceLogInfo("######################################");
logger.info("STATS " + year);
serviceLogInfo("STATS " + year);
logger.info("Total Notas: " + foundTotal);
serviceLogInfo("Total Notas: " + foundTotal);
logger.info("Alunos: " + alunos.size());
serviceLogInfo("Alunos: " + alunos.size());
logger.info("Notas de Alunos em cadeiras: " + alunoCadeira.size());
serviceLogInfo("Notas de Alunos em cadeiras: " + alunoCadeira.size());
 
 
 
logMessages.addMessage(new DefaultLogMessage("import.teachers.terminating", LogMessageTypeEnum.INFO));
logger.info("terminating grades import");
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
return logMessages;
}
 
271,6 → 311,7
}
}
 
 
/**
* Testar por aqui poi requer Super Role e assim e' autmatico
*
288,4 → 329,9
}
 
 
@Override
protected ILogMessages runJobServiceTask() throws Throwable {
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject();
return run(importYear);
}
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java
481,9 → 481,6
student.setBirthDate(alunoSiges.getDataNascimento().toGregorianCalendar().getTime());
student.setUsername("a" + alunoSiges.getCodigo().intValue());
}
 
public static final String JOB_importYear_KEY = "JOB_importYear_KEY";
 
@Override
protected ILogMessages runJobServiceTask() throws Throwable {
 
/impl/src/java/pt/estgp/estgweb/services/sigesimports/SincronizeLastYearCourseUnitProgramsService.java
386,10 → 386,6
}
 
 
public static final String JOB_importYear_KEY = "JOB_importYear_KEY";
public static final String JOB_cloneOnlyNews_KEY = "JOB_cloneOnlyNews_KEY";
public static final String JOB_generateAllPdfs_KEY = "JOB_generateAllPdfs_KEY";
public static final String JOB_validate_KEY = "JOB_validade_KEY";
 
/**
* Parameters for ServiceJob
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java
328,7 → 328,10
{
String msgS;
 
 
if(teacherSiges.getCodigoFuncionario().longValue()==20115)
System.out.println("Sergio");
if(teacherSiges.getCodigoFuncionario().longValue()==20219)
System.out.println("Eliseu");
try
{
 
448,8 → 451,12
Set<CourseUnit> units = new HashSet<CourseUnit>();
for (Disciplina disciplina : teacherSiges.getDisciplinas().getDisciplina())
{
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo());
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(), "" + disciplina.getCodigoCurso(), "" + disciplina.getCdDuracao(), "" + disciplina.getCdLectivo(),disciplina.getCdTurma());
 
//Ja todas as unidades tem todas turma, um dos docentes vai perder uma e o outro docente perde a outra
//por exemplo uma que era dos dois vai continuar nos dois e será removida de um deles
//a outra será adicionada
 
if (courseUnit == null)
{
msgS = "Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo();
491,7 → 498,7
}
if (!isIn)
{
String msg = "Adicionando unidade: " + ((CourseUnitImpl)c).getSigesUniqueIdentifiers() + " - ao teacher: " + teacher.getSigesCode() + " - Associacao nova no SIGES";
String msg = "Adicionando unidade: " + ((CourseUnitImpl)c).getSigesUniqueIdentifiers() + " - ao teacher: " + teacher.getSigesCode() + " turma " + c.getCdTurma() + " - Associacao nova no SIGES";
serviceLogInfo(msg);
logger.info(msg);
unitsAddedToTeachers++;
533,12 → 540,14
if(!added)
{
 
if(!tImpl.isLocalRemovedUnit(cUNow))
if(!tImpl.isLocalUnit(cUNow))
{
String msg = "Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
//todo e tirar a linha de baixo no futuro - String msg = "Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
String msg = "Temporariamente não mas sim adicionando localmente, Removendo unidade: " + ((CourseUnitImpl)cUNow).getSigesUniqueIdentifiers() + " - do docente: " + teacher.getSigesCode() + " - Associacao desapareceu do SIGES";
((TeacherImpl)tImpl).addUnitLocaly(cUNow);
serviceLogInfo(msg);
logger.info(msg);
iterNowUnits.remove();
//todo iterNowUnits.remove();
unitsRemovedToTeachers++;
}
else
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java
19,9 → 19,7
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.Email;
import pt.ipportalegre.siges.web.services.ArrayOfDisciplina;
import pt.ipportalegre.siges.web.services.Disciplina;
import pt.ipportalegre.siges.web.services.SiGesWEB;
import pt.ipportalegre.siges.web.services.*;
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
import javax.xml.namespace.QName;
84,6 → 82,7
return logMessages;
}
 
 
importUnitsSemestre(service, "S1", year, disciplinasMap, disciplinasMapS1, cursosMap, logMessages);
importUnitsSemestre(service, "S2", year, disciplinasMap, disciplinasMapS2, cursosMap, logMessages);
importUnitsSemestre(service, "A", year, disciplinasMap, disciplinasMapA, cursosMap, logMessages);
125,13 → 124,13
/**
* Update Course Units
*/
updateCourseUnits(disciplinasMapS1, "S1",logMessages,year);
updateCourseUnits(disciplinasMapS2, "S2",logMessages,year);
updateCourseUnits(disciplinasMapA, "A",logMessages,year);
updateCourseUnits(disciplinasMapT1, "T1",logMessages,year);
updateCourseUnits(disciplinasMapT2, "T2",logMessages,year);
updateCourseUnits(disciplinasMapT3, "T3",logMessages,year);
updateCourseUnits(disciplinasMapT4, "T4",logMessages,year);
updateCourseUnits(disciplinasMapS1, "S1",logMessages,year,service);
updateCourseUnits(disciplinasMapS2, "S2",logMessages,year,service);
updateCourseUnits(disciplinasMapA, "A",logMessages,year,service);
updateCourseUnits(disciplinasMapT1, "T1",logMessages,year,service);
updateCourseUnits(disciplinasMapT2, "T2",logMessages,year,service);
updateCourseUnits(disciplinasMapT3, "T3",logMessages,year,service);
updateCourseUnits(disciplinasMapT4, "T4",logMessages,year,service);
 
serviceLogInfo("######################################");
serviceLogInfo("######################################");
211,6 → 210,8
HashMap<String, Disciplina> cursosMap,
DefaultLogMessages logMessages)
{
 
 
logMessages.addMessage(new DefaultLogMessage("import.semestre.course.units." + semestre, LogMessageTypeEnum.INFO));
serviceLogInfo("importing " + semestre + " course units");
logger.info("importing " + semestre + " course units");
218,43 → 219,108
List<Disciplina> disciplinas = arrayOfDisciplina.getDisciplina();
for (Disciplina d : disciplinas)
{
if (disciplinasMap.get(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":" + semestre) != null)
if (disciplinasMap.get(getDisciplinaUniqueRef(d)) != null)
{
logMessages.addMessage(new DefaultLogMessage("import.semestre.repeated." + semestre, "unit: " + d.getCodigo().intValue(), "", LogMessageTypeEnum.WARNING));
serviceLogWarn("repeated unit in " + semestre + ":" + d.getCodigo().intValue());
logger.warn("repeated unit in " + semestre + ":" + d.getCodigo().intValue());
}
disciplinasMap.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":" + semestre, d);
disciplinasMapSemestre.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":" + semestre, d);
disciplinasMap.put(getDisciplinaUniqueRef(d), d);
disciplinasMapSemestre.put(getDisciplinaUniqueRef(d), d);
cursosMap.put(d.getCodigoCurso().intValue()+":"+year, d);
}
}
 
private void updateCourseUnits(HashMap<String, Disciplina> disciplinasMapS, String semestre, DefaultLogMessages logMessages, String year)
private String getDisciplinaUniqueRef(Disciplina d)
{
return d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":" + d.getCdDuracao() + ":" + d.getCdTurma();
}
 
private void updateCourseUnits(HashMap<String, Disciplina> disciplinasMapS, String semestre, DefaultLogMessages logMessages, String year,SiGesWEB service)
{
logMessages.addMessage(new DefaultLogMessage("import.semestre.updating.course.units." + semestre, LogMessageTypeEnum.INFO));
/**Inicialização da Estrutura de Suporte aos Cursos/Turma*/
ArrayOfTurmaCurso arrayOfTurmaCurso = service.getSiGesWEBSoap().loadParesTurmaCurso(
new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode())
, year,semestre);
HashMap<String,List<BigDecimal>> turmaCourses = new HashMap<String, List<BigDecimal>>();
for(TurmaCurso turmaCursoPair: arrayOfTurmaCurso.getTurmaCurso())
{
List<BigDecimal> cursos = turmaCourses.get(turmaCursoPair.getCdTurma());
if(cursos == null)
{
cursos = new ArrayList<BigDecimal>();
turmaCourses.put(turmaCursoPair.getCdTurma(),cursos);
}
cursos.add(turmaCursoPair.getCodigoCurso());
System.out.println("Adding:" + turmaCursoPair.getCdTurma() + "->" + turmaCursoPair.getCodigoCurso());
}
/***END INICIALIZACAO***/
 
logger.info("updating " + semestre + " course units");
serviceLogInfo("updating " + semestre + " course units");
Set<Map.Entry<String, Disciplina>> set = disciplinasMapS.entrySet();
for (Map.Entry<String, Disciplina> entry : set)
{
Disciplina d = entry.getValue();
if(d.getCdTipoDisciplina().longValue() == 6)
{
logMessages.addMessage(new DefaultLogMessage("import.error","Ignorando disciplica com tipo = " + d.getCdTipoDisciplina(), "see log for details", LogMessageTypeEnum.WARNING));
logger.warn(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
 
continue;
}
CourseUnit c;
try{
c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year);
c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year, d.getCdTurma());
}catch(NonUniqueResultException e)
{
logger.fatal("Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year);
serviceLogFatal("Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year);
logMessages.addMessage(new DefaultLogMessage("import.error","Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year, "see log for details", LogMessageTypeEnum.ERROR));
logger.fatal(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
 
throw e;
}
//NOVO pode ainda nao ter turma
if(c == null)
{
List<CourseUnit> cus = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeTurmaNull("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year);
if(cus == null || cus.size() == 0 )
{
// nao faz nada deixa ir null para criar
 
}
else if(cus.size() == 1)
{
//Tem de levar turma
c = cus.get(0);
c.setCdTurma(d.getCdTurma());
//é a primeira leva com o primeiro código de turma mete-se já este mas a seguir pode vir outro
logger.info("Adding turma code: " + d.getCdTurma() + " to unit:" + d.getCodigo() + "/" + d.getNome() + " curso:" + d.getCodigoCurso() + "/" + d.getNomeCurso());
serviceLogInfo("Adding turma code: " + d.getCdTurma() + " to unit:" + d.getCodigo() + "/" + d.getNome() + " curso:" + d.getCodigoCurso() + "/" + d.getNomeCurso());
}
else
{
logMessages.addMessage(new DefaultLogMessage("import.error", "Unidade Repetida: (" + d.getCodigo() + ") curso: " + d.getCodigoCurso() + " " + semestre + " " + year + " " + d.getCdTurma(), "see log for details", LogMessageTypeEnum.ERROR));
logger.fatal(logMessages.getLastMessage());
serviceLogWarn(logMessages.getLastMessage());
}
}
//NOVO
if (c == null)
{
c = DomainObjectFactory.createCourseUnitImpl();
DaoFactory.getCourseUnitDaoImpl().save(c);
serviceLogInfo("New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso());
logMessages.addMessage(new DefaultLogMessage("import.error", "New Unit Found: (" + d.getCodigo() + ") " + d.getNome() + " - curso (" + d.getNomeCurso() + ") " + d.getNomeCurso() + " turma(" + d.getCdTurma() + ")", "see log for details", LogMessageTypeEnum.ERROR));
logger.info(logMessages.getLastMessage());
serviceLogInfo(logMessages.getLastMessage());
newUnits++;
}
//NOVO
 
c.setCdTurma("" + d.getCdTurma());
//FIM NOVO
c.setName(d.getNome());
c.setInstitutionCode("" + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode());
c.setCode("" + d.getCodigo().intValue());
264,11 → 330,9
c.setImportYear(year);
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode());
c.setCourse(course);
 
}
}
 
public static final String JOB_importYear_KEY = "JOB_importYear_KEY";
 
@Override
protected ILogMessages runJobServiceTask() throws Throwable {
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumariesJson.java
166,6 → 166,16
for(Aula aula: arrayOfAulas.getAula())
{
 
if(c.getCdTurma() != null && aula.getAulaCodigoTurma()!=null
&& c.getCdTurma().trim().length() > 0
&& aula.getAulaCodigoTurma().trim().length() > 0
&& !aula.getAulaCodigoTurma().equals(c.getCdTurma()))
{
//Código de Turma diferente
System.out.println("Ignoring summary code: " + aula.getAulaCodigoTurma() + " for unit " + c.getName() + "/" + c.getCode() + " T:" + c.getCdTurma());
continue;
}
 
//CourseUnitSummary s = map.get(aula.getSumNumeroAula() + ":" + aula.getCodigoSumario());
//if(s == null)
//{
366,8 → 376,8
 
String year = DaoFactory.getConfigurationDaoImpl().getImportsDefaultImportYearCreateTransaction();
String semestre = null;
boolean sendIonline = true;
boolean sendEmail = true;
boolean sendIonline = false;
boolean sendEmail = false;
if(args != null && args.length > 0)
year = args[0];
 
393,11 → 403,6
}
 
 
public static final String JOB_importYear_KEY = "JOB_importYear_KEY";
public static final String JOB_semestre_KEY = "JOB_semestre_KEY";
public static final String JOB_sendIonline_KEY = "JOB_sendIonline_KEY";
public static final String JOB_sendEmail_KEY = "JOB_sendEmail_KEY";
 
@Override
protected ILogMessages runJobServiceTask() throws Throwable {
 
/impl/src/java/pt/estgp/estgweb/services/jobs/JobScheduleService.java
143,6 → 143,125
DaoFactory.getJobServiceTaskSchedulerDaoImpl().delete(persistent);
}
 
public void save(JobServiceTaskSchedulerImpl scheduler
,String jobCloneOnlyNewsKey
,String jobJobGenerateAllPdfsKey
,String jobJobImportYearKey
,String jobJobSemestreKey
,String jobSendEmailKey
,String jobSendIonlineKey
,String jobJobValidateKey
,UserSession sess)
{
JobServiceTaskSchedulerImpl persistent;
if(scheduler.getId() <= 0)
{
persistent = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
persistent.setSaveDate(new Date());
persistent.setActive(false);
persistent.setCreatedBy(sess.getUser());
DaoFactory.getJobServiceTaskSchedulerDaoImpl().save(persistent);
 
logger.info("Will create task scheduller " + persistent.getTargetService() + " id:" + scheduler.getId());
}
else
{
persistent = (JobServiceTaskSchedulerImpl) DaoFactory.getJobServiceTaskSchedulerDaoImpl().load(scheduler.getId());
logger.warn("Will update task scheduller " + persistent.getTargetService() + " id:" + scheduler.getId());
}
 
persistent.setTargetService(scheduler.getTargetService());
persistent.setDaily(scheduler.isDaily());
persistent.setMonthly(scheduler.isMonthly());
persistent.setWeekly(scheduler.isWeekly());
 
persistent.setHour(scheduler.getHour());
persistent.setMinute(scheduler.getMinute());
persistent.setSecond(scheduler.getSecond());
persistent.setDescription(scheduler.getDescription());
 
Set<JobServiceTaskSchedulerParameter> params = persistent.getServiceTaskSchedulerParameters();
if(persistent.getTargetService().equals(ImportCourseService.class.getName()) ||
persistent.getTargetService().equals(ImportGradesService.class.getName()) ||
persistent.getTargetService().equals(ImportStudentsService.class.getName()) ||
persistent.getTargetService().equals(ImportTeachersService.class.getName()))
{
if(params == null || params.size() == 0)
{
createParameter(persistent,ServiceJob.JOB_importYear_KEY);
}
JobServiceTaskSchedulerParameter parameter = params.iterator().next();
parameter.setObject(jobJobImportYearKey);
}
else if(persistent.getTargetService().equals(ImportSumariesJson.class.getName()))
{
if(params == null || params.size() == 0)
{
createParameter(persistent,ServiceJob.JOB_importYear_KEY);
createParameter(persistent,ServiceJob.JOB_semestre_KEY);
createParameter(persistent,ServiceJob.JOB_sendIonline_KEY);
createParameter(persistent,ServiceJob.JOB_sendEmail_KEY);
}
for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
{
if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
{
param.setObject(jobJobImportYearKey);
}
else if(param.getName().equals(ServiceJob.JOB_semestre_KEY))
{
param.setObject(jobJobSemestreKey);
}
else if(param.getName().equals(ServiceJob.JOB_sendIonline_KEY))
{
param.setObject(jobSendIonlineKey);
}
else if(param.getName().equals(ServiceJob.JOB_sendEmail_KEY))
{
param.setObject(jobSendEmailKey);
}
}
 
}
else if(persistent.getTargetService().equals(SincronizeLastYearCourseUnitProgramsService.class.getName()))
{
if(params == null || params.size() == 0)
{
createParameter(persistent,ServiceJob.JOB_importYear_KEY);
createParameter(persistent,ServiceJob.JOB_cloneOnlyNews_KEY);
createParameter(persistent,ServiceJob.JOB_generateAllPdfs_KEY);
createParameter(persistent,ServiceJob.JOB_validate_KEY);
}
for(JobServiceTaskSchedulerParameter param:persistent.getServiceTaskSchedulerParameters())
{
if(param.getName().equals(ServiceJob.JOB_importYear_KEY))
{
param.setObject(jobJobImportYearKey);
}
else if(param.getName().equals(ServiceJob.JOB_cloneOnlyNews_KEY))
{
param.setObject(jobCloneOnlyNewsKey);
}
else if(param.getName().equals(ServiceJob.JOB_generateAllPdfs_KEY))
{
param.setObject(jobJobGenerateAllPdfsKey);
}
else if(param.getName().equals(ServiceJob.JOB_validate_KEY))
{
param.setObject(jobJobValidateKey);
}
}
}
}
 
private void createParameter(JobServiceTaskSchedulerImpl persistent,String name) {
JobServiceTaskSchedulerParameterImpl param = DomainObjectFactory.createJobServiceTaskSchedulerParameterImpl();
param.setJobServiceTaskScheduler(persistent);
persistent.getServiceTaskSchedulerParameters().add(param);
param.setName(name);
DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().save(param);
}
 
public static void main(String[] args) throws SQLException
{
AbstractDao.getCurrentSession().beginTransaction();
/impl/src/java/pt/estgp/estgweb/services/jobs/ServiceJob.java
22,7 → 22,15
public abstract class ServiceJob implements JobHandler
{
 
public static final String JOB_importYear_KEY = "JOB_importYear_KEY";
public static final String JOB_semestre_KEY = "JOB_semestre_KEY";
public static final String JOB_sendIonline_KEY = "JOB_sendIonline_KEY";
public static final String JOB_sendEmail_KEY = "JOB_sendEmail_KEY";
public static final String JOB_cloneOnlyNews_KEY = "JOB_cloneOnlyNews_KEY";
public static final String JOB_generateAllPdfs_KEY = "JOB_generateAllPdfs_KEY";
public static final String JOB_validate_KEY = "JOB_validade_KEY";
/*Log for service run*/
 
protected final Logger serviceLog = Logger.getLogger(ServiceJob.class);
 
/*Class regular log*/
136,8 → 144,10
protected abstract ILogMessages runJobServiceTask() throws Throwable;
 
protected void commitPartially() {
 
AbstractDao.getCurrentSession().getTransaction().commit();
AbstractDao.getCurrentSession().beginTransaction();
AbstractDao.getCurrentSession().update(jobServiceTask);
if(jobServiceTask != null)
AbstractDao.getCurrentSession().update(jobServiceTask);
}
}
/impl/src/java/pt/estgp/estgweb/services/data/RepositoryService.java
115,6 → 115,10
return repositoryFile;
}
 
public IRepositoryFile loadByIdentifier(String identifier)
{
return load(identifier,null);
}
/**
* @param identifier .
* @param userSession .
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java
62,6 → 62,7
private String extension;
private List<CourseUnitAssignementView> courseUnitAssignements;
private String sumariosPathFileIntranet;
private String cdTurma;
 
private boolean notFound = false;
 
136,6 → 137,7
this.summariesJson = courseUnit.getSummariesJson();
this.sumariosPathFileIntranet = ((CourseUnitImpl)courseUnit).getSummariosPathFileIntranet();
this.evaluationOpenByAdmin = courseUnit.isEvaluationOpenByAdmin(); //nao tem persistencia propria tem de ser feito num serviço
this.cdTurma = courseUnit.getCdTurma();
 
// this.objectives = courseUnit.getObjectives(); DEPRECATED
if(courseUnit.getCourseUnitProgram() !=null && courseUnit.getCourseUnitProgram().getCourseUnitProgramPart2() != null)
229,6 → 231,10
return responsableId;
}
 
public String getCdTurma() {
return cdTurma;
}
 
public void setResponsableId(long responsableId) {
this.responsableId = responsableId;
}
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java
97,7 → 97,8
return anCourseUnit.getCode() != null && getCode() != null && getCode().equals(anCourseUnit.getCode()) &&
anCourseUnit.getCourseCode() != null && getCourseCode() != null && getCourseCode().equals(anCourseUnit.getCourseCode()) &&
anCourseUnit.getSemestre() != null && getSemestre() != null && getSemestre().equals(anCourseUnit.getSemestre()) &&
anCourseUnit.getImportYear() != null && getImportYear() != null && getImportYear().equals(anCourseUnit.getImportYear());
anCourseUnit.getImportYear() != null && getImportYear() != null && getImportYear().equals(anCourseUnit.getImportYear()) &&
anCourseUnit.getCdTurma() != null && getCdTurma() != null && getCdTurma().equals(anCourseUnit.getCdTurma());
}
return false;
 
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
5,6 → 5,7
import org.hibernate.Query;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.sql.JoinFragment;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
219,7 → 220,7
}
 
 
//TODO Na actualiza��o de uma cadeira para o curso de TESTE mudar o coursecode para o o coursecode desse curso para nao deixar os dados duplicados e mal
//TODO Na actualizacao de uma cadeira para o curso de TESTE mudar o coursecode para o o coursecode desse curso para nao deixar os dados duplicados e mal
//se nao a carregar unidades vai buscar a errada
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year)
{
232,15 → 233,53
.uniqueResult();
}
 
public CourseUnit loadBySigesCodeUniqueMostRecent(String sigesCode, String courseCode, String semestre)
/**
* Metodo especial para a fase de transicao para terem código de turma
* @param sigesCode
* @param courseCode
* @param semestre
* @param year
* @return
*/
public List<CourseUnit> loadBySigesCodeTurmaNull(String sigesCode, String courseCode, String semestre, String year)
{
return (List<CourseUnit>)
createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.add(isNull("cdTurma"))
.list();
}
 
//TODO Na actualizacao de uma cadeira para o curso de TESTE mudar o coursecode para o o coursecode desse curso para nao deixar os dados duplicados e mal
//se nao a carregar unidades vai buscar a errada
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year,String turma)
{
return (CourseUnit)
createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.add(eq("importYear", year))
.add(eq("cdTurma", turma))
.uniqueResult();
}
 
public CourseUnit loadBySigesCodeUniqueMostRecent(String sigesCode, String courseCode, String semestre)
{
List<CourseUnit> cus =
createCriteria()
.add(eq("code", sigesCode))
.add(eq("courseCode", courseCode))
.add(eq("semestre", semestre))
.addOrder(Order.desc("importYear"))
.setMaxResults(1).list().get(0);
.setMaxResults(1).list();
if(cus.size() > 0)
return cus.get(0);
logger.warn("Accessing unit not existent with siges code " + sigesCode + " course code: " + courseCode + " semestre: " + semestre);
return null;
}
 
 
522,6 → 561,8
}
return result;
}
 
 
public List<CourseMissingValidationProgram> loadMissingPrograms(UserSession userSession)
{
List<CourseMissingValidationProgram> result = new ArrayList<CourseMissingValidationProgram>();
569,6 → 610,8
return result;
}
 
 
 
/*
* Neste caso apenas se validam as do ano anterior*/
 
592,6 → 635,30
}
 
/**
*
* @return devolve todos os ids de unidades que verifiquem a condição de avaliação
* do periodo actual e tenham o programa fechado pela comissão
*/
 
public List<Long> loadClosedCourseUnitsEvaluations()
{
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear();
 
Criterion degreesCrit = getCourseUnitActiveDegreeCourseIdsCriterion(activeYear);
if(degreesCrit == null)
return new ArrayList<Long>();
 
return createCriteria()
.setProjection(Projections.property("id"))
.createAlias("course", "c")
.createAlias("courseUnitEvaluation", "ce")
.add(eq("importYear", activeYear))
.add(degreesCrit)
.add((eq("ce.closed", true)))
.list();
}
 
/**
* Devolve um criteio OR para todos os cursos de grau pertencente à lista de graus
* ou pertencete à lista de cursoIds
 
/impl/src/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerImpl.java
53,4 → 53,55
return "unknown";
}
 
private String calendarization;
 
public String getCalendarization() {
 
if(calendarization == null)
{
if(isDaily())
return CalendarizationEnum.DAILY.name();
else if(isMonthly())
return CalendarizationEnum.MONTLY.name();
else if(isWeekly())
return CalendarizationEnum.WEEKLY.name();
else
return CalendarizationEnum.DAILY.name();
}
return calendarization;
 
}
 
public void setCalendarization(String calendarization) {
 
this.calendarization = calendarization;
CalendarizationEnum calendarizationEnum = CalendarizationEnum.parse(calendarization);
setDaily(false);
setMonthly(false);
setWeekly(false);
if(calendarizationEnum == CalendarizationEnum.DAILY)
setDaily(true);
else if(calendarizationEnum == CalendarizationEnum.MONTLY)
setMonthly(true);
else if(calendarizationEnum == CalendarizationEnum.WEEKLY)
setWeekly(true);
 
}
 
 
 
public enum CalendarizationEnum
{
DAILY,WEEKLY,MONTLY;
 
public static CalendarizationEnum parse(String cal)
{
if(cal == null)
return MONTLY;
for(CalendarizationEnum en: CalendarizationEnum.values())
if(en.name().equals(cal))
return en;
return MONTLY;
}
}
}
/impl/src/java/pt/estgp/estgweb/filters/filters/Session.java
36,13 → 36,14
 
public void execute(ServiceRequest request, ServiceResponse response, FilterParameters filterParameters) throws FilterException, Exception {
UserSessionImpl userSession = null;
Configuration config = DaoFactory.getConfigurationDaoImpl().loadSimpleConfigurationForConsult();
 
try
{
userSession = (UserSessionImpl) DaoFactory.getUserSessionDaoImpl().get((Serializable) request.getRequester());
 
if(userSession != null && userSession.getObjects() != null)
{
Configuration config = DaoFactory.getConfigurationDaoImpl().loadSimpleConfigurationForConsult();
userSession.setNowConfiguration(config);
for(SessionObject sessionObject: userSession.getObjects())
{
51,6 → 52,7
}
if(userSession != null && new Date().getTime() - userSession.getSaveDate().getTime() < TIMEOUT_SESSION)
{
userSession.setNowConfiguration(config);
putSessionInArgs(userSession,request);
userSession.setSaveDate(new Date()); //todo NOVO refrescar a sessao
return;
81,6 → 83,8
userSession.setUpdateDate(new Date());
DaoFactory.getUserSessionDaoImpl().saveOrUpdate(userSession);
// System.out.println(Thread.currentThread().getId() +"UPDATE: " + request.getRequester());
userSession.setNowConfiguration(config);
 
putSessionInArgs(userSession,request);
}
}
/impl/src/java/pt/estgp/estgweb/web/LayoutController.java
1,6 → 1,5
package pt.estgp.estgweb.web;
 
import jomm.utils.DesUtils;
import jomm.web.ftp.IFile;
import jomm.web.ftp.impl.FtpFile;
import jomm.web.utils.NavPlace;
12,8 → 11,6
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.services.ftpservices.FtpService;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
120,7 → 117,7
 
 
 
protected void processRequestFtp(HttpServletRequest request, HttpServletResponse response, String path, String serverStr, String server, String startPath)
protected void processRequestFtp(HttpServletRequest request, HttpServletResponse response, String path, String server, String serverUrl, String startPath)
throws ServletException, IOException
{
try
131,17 → 128,20
FtpManager.checkOperations(this,request,response);
 
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request);
String username = userSession != null ? userSession.getUsername() : "UNKNOWN";
//String username = userSession != null ? userSession.getUsername() : "UNKNOWN";
 
FTPFileProxy.UserCredentialsForFtp u = FTPFileProxy.getUserCredentialsForFtp(server, userSession);
String username = u.username;
String password = u.password;
 
 
if (path != null)
{
 
boolean isStaticAccess = ConfigProperties.getBooleanProperty(serverStr+".use.default.credentials.to.updates.and.deletes");
String user;
String pass;
//boolean isStaticAccess = ConfigProperties.getBooleanProperty(serverStr+".use.default.credentials.to.updates.and.deletes");
//String user;
//String pass;
 
/*
if(isStaticAccess)
{
user = ConfigProperties.getProperty(serverStr + ".user");
155,8 → 155,9
pass= DesUtils.getInstance().decrypt(passwordCode);
//pass= ((UserImpl)userSession.getUser()).getPop3PassDecrypted();
}
FtpServer ftpServer = FtpServer.getNewServer(server, user, pass);
FTPClient client = ftpServer.getClient();
*/
FtpServer ftpServer = FtpServer.getNewServer(serverUrl, username, password);
FTPClient client = FTPFileProxy.getFtpClient(ftpServer,userSession,server,serverUrl);
if(client == null)
{
logger.warn("###################");
175,8 → 176,8
{
IFile iFile;
if (path.endsWith("/"))
iFile = new FtpFile(ftpFile, server + URIUtil.encodePath(path +ftpFile.getName(),"ISO-8859-1"), path);
else iFile = new FtpFile(ftpFile, server + URIUtil.encodePath(path + "/" + ftpFile.getName(),"ISO-8859-1"), path);
iFile = new FtpFile(ftpFile, serverUrl + URIUtil.encodePath(path +ftpFile.getName(),"ISO-8859-1"), path);
else iFile = new FtpFile(ftpFile, serverUrl + URIUtil.encodePath(path + "/" + ftpFile.getName(),"ISO-8859-1"), path);
iFiles.add(iFile);
}
List<NavPlace> navPlaces = FtpFile.getNavPlaces(path,startPath);
187,7 → 188,7
}
else
{
throw new FileNotFoundException("url not found for server:" + server + " and path:" + path);
throw new FileNotFoundException("url not found for server:" + serverUrl + " and path:" + path);
}
}
catch (Throwable e)
/impl/src/java/pt/estgp/estgweb/web/form/configuration/SchedulleTasksForm.java
18,13 → 18,82
private Long id;
 
 
private String jobImportYearKey;
private String jobSemestreKey;
private String jobSendIonlineKey;
private String jobSendEmailKey;
private String jobCloneOnlyNewsKey;
private String jobGenerateAllPdfsKey;
private String jobValidateKey;
 
 
 
 
 
public SchedulleTasksForm()
{
if(jobScheduller == null)
{
jobScheduller = DomainObjectFactory.createJobServiceTaskSchedulerImpl();
}
}
 
public String getJobImportYearKey() {
return jobImportYearKey;
}
 
public void setJobImportYearKey(String jobImportYearKey) {
this.jobImportYearKey = jobImportYearKey;
}
 
public String getJobSemestreKey() {
return jobSemestreKey;
}
 
public void setJobSemestreKey(String jobSemestreKey) {
this.jobSemestreKey = jobSemestreKey;
}
 
public String getJobSendIonlineKey() {
return jobSendIonlineKey;
}
 
public void setJobSendIonlineKey(String jobSendIonlineKey) {
this.jobSendIonlineKey = jobSendIonlineKey;
}
 
public String getJobSendEmailKey() {
return jobSendEmailKey;
}
 
public void setJobSendEmailKey(String jobSendEmailKey) {
this.jobSendEmailKey = jobSendEmailKey;
}
 
public String getJobCloneOnlyNewsKey() {
return jobCloneOnlyNewsKey;
}
 
public void setJobCloneOnlyNewsKey(String jobCloneOnlyNewsKey) {
this.jobCloneOnlyNewsKey = jobCloneOnlyNewsKey;
}
 
public String getJobGenerateAllPdfsKey() {
return jobGenerateAllPdfsKey;
}
 
public void setJobGenerateAllPdfsKey(String jobGenerateAllPdfsKey) {
this.jobGenerateAllPdfsKey = jobGenerateAllPdfsKey;
}
 
public String getJobValidateKey() {
return jobValidateKey;
}
 
public void setJobValidateKey(String jobValidateKey) {
this.jobValidateKey = jobValidateKey;
}
 
public JobServiceTaskSchedulerImpl getDirectory()
{
if(jobScheduller == null)
32,6 → 101,10
return jobScheduller;
}
 
public JobServiceTaskSchedulerImpl getJobScheduller() {
return jobScheduller;
}
 
public void setJobScheduller(JobServiceTaskSchedulerImpl jobScheduller) {
this.jobScheduller = jobScheduller;
}
52,4 → 125,6
public void setJobServiceTask(JobServiceTaskImpl jobServiceTask) {
this.jobServiceTask = jobServiceTask;
}
 
 
}
/impl/src/java/pt/estgp/estgweb/web/UserSessionProxy.java
96,6 → 96,24
}
}
 
public static UserSession createUserSession(HttpServletRequest request, HttpServletResponse response) throws Throwable
{
try
{
 
IServiceManager sm = ServiceManager.getInstance();
Object[] args = new Object[]{RequestUtils.getRequester(request, response)};
UserSession userSession = (UserSession) sm.execute(RequestUtils.getRequester(request, response),"LoadUserSession",args);
 
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
return userSession;
}
catch (Throwable e)
{
throw e;
}
}
 
public static UserSession loadUserSessionFromRequest(HttpServletRequest request)
{
return (UserSession) request.getAttribute(Globals.USER_SESSION_KEY);
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/SchedulerTasksController.java
4,10 → 4,10
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.JobServiceTaskImpl;
import pt.estgp.estgweb.domain.JobServiceTaskScheduler;
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl;
import pt.estgp.estgweb.services.directories.xsd.*;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.services.directories.xsd.LeafT;
import pt.estgp.estgweb.services.directories.xsd.LeafTImpl;
import pt.estgp.estgweb.services.jobs.ServiceJob;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.configuration.DirectoriesForm;
20,7 → 20,6
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Iterator;
 
/**
* @author Jorge Machado
33,7 → 32,19
 
private static final Logger logger = Logger.getLogger(SchedulerTasksController.class);
 
public ActionForward newTask(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable
{
 
 
SchedulleTasksForm sf = (SchedulleTasksForm) form;
sf.setJobScheduller(DomainObjectFactory.createJobServiceTaskSchedulerImpl());
return mapping.findForward("task");
}
 
public ActionForward load(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
50,7 → 61,39
try
{
JobServiceTaskSchedulerImpl d = (JobServiceTaskSchedulerImpl) sm.execute(RequestUtils.getRequester(request, response), "LoadJobServiceTaskScheduler", args, names);
for(JobServiceTaskSchedulerParameter p: d.getServiceTaskSchedulerParameters())
{
if(p.getName().equals(ServiceJob.JOB_importYear_KEY))
{
sf.setJobImportYearKey(p.getObject());
}else if(p.getName().equals(ServiceJob.JOB_semestre_KEY))
{
sf.setJobSemestreKey(p.getObject());
}
else if(p.getName().equals(ServiceJob.JOB_cloneOnlyNews_KEY))
{
sf.setJobCloneOnlyNewsKey(p.getObject());
}
else if(p.getName().equals(ServiceJob.JOB_generateAllPdfs_KEY))
{
sf.setJobGenerateAllPdfsKey(p.getObject());
}
else if(p.getName().equals(ServiceJob.JOB_sendEmail_KEY))
{
sf.setJobSendEmailKey(p.getObject());
}
else if(p.getName().equals(ServiceJob.JOB_sendIonline_KEY))
{
sf.setJobSendIonlineKey(p.getObject());
}
else if(p.getName().equals(ServiceJob.JOB_validate_KEY))
{
sf.setJobValidateKey(p.getObject());
}
}
 
sf.setJobScheduller(d);
 
}
catch (FilterChainFailedException e)
{
64,6 → 107,44
return mapping.findForward("task");
}
 
public ActionForward save(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable
{
 
 
SchedulleTasksForm sf = (SchedulleTasksForm) form;
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{sf.getJobScheduller()
,sf.getJobCloneOnlyNewsKey()
,sf.getJobGenerateAllPdfsKey()
,sf.getJobImportYearKey()
,sf.getJobSemestreKey()
,sf.getJobSendEmailKey()
,sf.getJobSendIonlineKey()
,sf.getJobValidateKey()
};
 
try
{
sm.execute(RequestUtils.getRequester(request, response), "SaveJobServiceTaskScheduler", args, names);
addMessage(request, "configuration.tasks.saved");
}
catch (FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e, e);
throw e;
}
return mapping.findForward("tasks");
}
 
public ActionForward loadLog(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
239,234 → 320,21
return mapping.findForward("directory");
}
 
public ActionForward save(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable {
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
 
DirectoriesForm df = (DirectoriesForm) form;
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{df.getDirectory()};
 
try {
sm.execute(RequestUtils.getRequester(request, response), "SaveDirectoryService", args, names);
}
catch (FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e, e);
throw e;
}
 
addMessage(request, "directories.saved");
 
return mapping.findForward("directories");
}
 
public ActionForward cancel(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
addMessage(request, "directories.canceled");
return mapping.findForward("directories");
addMessage(request, "configuration.tasks.canceled");
return mapping.findForward("tasks");
}
 
 
public ActionForward removeLeaf(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.removeLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
addMessage(request, "directories.removed.leaf", idParent);
leaf.getLeaf().add(new LeafTImpl());
return mapping.findForward("directory");
}
 
 
public ActionForward addRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.findLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
 
leaf.getRights().getRight().add(new RightImpl());
addMessage(request, "directories.add.right", idParent);
return mapping.findForward("directory");
}
 
public ActionForward removeRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.findLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
 
 
Iterator<RightsT.Right> iter = leaf.getRights().getRight().iterator();
while(iter.hasNext())
{
RightsT.Right r =iter.next();
if(r.getName().equals(df.getRname()) && r.getTarget().equals(df.getRtarget()) && df.getRtype().equals(r.getType()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.right", df.getRname(),df.getRtarget(),df.getRtype());
return mapping.findForward("directory");
}
 
public ActionForward addDirRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
df.getDirectory().getRights().getRight().add(new RightImpl());
addMessage(request, "directories.add.right");
return mapping.findForward("directory");
}
 
public ActionForward removeDirRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
 
Iterator<RightsT.Right> iter = df.getDirectory().getRights().getRight().iterator();
while(iter.hasNext())
{
RightsT.Right r =iter.next();
if(r.getName().equals(df.getRname()) && r.getTarget().equals(df.getRtarget()) && df.getRtype().equals(r.getType()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.right", df.getRname(),df.getRtarget(),df.getRtype());
return mapping.findForward("directory");
}
 
public ActionForward addDirGroup(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
df.getDirectory().getGroupsDeclaration().getGroup().add(new GroupImpl());
addMessage(request, "directories.add.group");
return mapping.findForward("directory");
}
 
public ActionForward removeDirGroup(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
 
Iterator<GroupDeclarationT.Group> iter = df.getDirectory().getGroupsDeclaration().getGroup().iterator();
while(iter.hasNext())
{
GroupDeclarationT.Group g =iter.next();
if(g.getName().equals(df.getRname()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.group");
return mapping.findForward("directory");
}
 
 
 
}
/impl/src/java/pt/estgp/estgweb/web/filters/UserSessionFilter.java
3,6 → 3,7
import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
12,6 → 13,7
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Locale;
 
96,6 → 98,20
try
{
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(hrequest,((HttpServletResponse) response));
boolean dummy = false;
if(userSession == null)
{
dummy = true;
System.out.println("Creating dummy UserSession");
userSession = new UserSessionImpl();//creating a dummy there is no cookie
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
userSession.setIpAddress(request.getRemoteAddr() + " : " + request.getRemoteHost() + " : " + request.getRemotePort());
userSession.setSaveDate(new Date());
userSession.setNowConfiguration(DaoFactory.getConfigurationDaoImpl().loadSimpleConfigurationForConsult());
chain.doFilter(request,response);
return;
}
 
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
userSession.setIpAddress(request.getRemoteAddr() + " : " + request.getRemoteHost() + " : " + request.getRemotePort());
String lang = request.getParameter("language");
/impl/src/java/pt/estgp/estgweb/web/FTPFileProxy.java
50,7 → 50,9
{
UserCredentialsForFtp u = new UserCredentialsForFtp();
boolean useDefaultCredentialsRead = ConfigProperties.getBooleanProperty(server + ".use.default.credentials.to.read");
String passwordUserInSessionCript = (String) ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD);
String passwordUserInSessionCript = null;
if(userSession != null && ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD) != null)
passwordUserInSessionCript = (String) ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD);
 
if(!useDefaultCredentialsRead && // DEVE USAR AS DO USER
passwordUserInSessionCript != null && userSession.getUser() != null) // E ESTA AUTENTICADO
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml
35,6 → 35,7
<property name="summariesJson" type="text">
<column name="summariesJson" sql-type="TEXT"/>
</property>
<property name="cdTurma" type="string" index="cdTurmaIndex" />
<!--Not In Use-->
<many-to-one name="validatorUser" class="pt.estgp.estgweb.domain.User" lazy="false" outer-join="true" />
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="false" outer-join="true"/>
/impl/src/web/auth/index.jsp
5,6 → 5,11
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSessionImpl" scope="request"/>
<html:errors/>
 
<%
 
%>
<div class="container">
<logic:notEmpty name="UserSession" property="nowConfiguration.openInfoIntranet">
<div class="row">
16,7 → 21,7
 
<div class="row">
<div class="col-sm-4">
<form role="form" action="<%=request.getContextPath()%>/authenticate.do">
<form role="form" action="<%=request.getContextPath()%>/authenticate.do" method="post">
<input type="hidden" name="dispatch" value="login">
<div class="form-group">
<label for="login"><bean:message key="username"/></label>
32,4 → 37,4
</div>
 
 
</div>
</div>
/impl/src/web/admin/courses/course.jsp
12,6 → 12,17
<%@ 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"/>
<script>
function alertPermissions()
{
alert("Este procedimento afecta as permissões atuais no sistema de ficheiros da intranet. Após salvar estas alterações, por favor gere o BAT de geração de pastas e corra-o novamente na raiz do servidor IONLINE")
}
function alertFolders(place)
{
alert("Caro administrador, lembramos-lhe que alterar o " + place + " de uma unidade curricular implica trocar a pasta de ficheiros da intranet do " + place + " onde esta se encontrava para o " + place + " onde actualmente se encontra. O BACO irá actualizar a nova LOCALIZAÇÃO da pasta de ficheiros na sua base de dados. Mas a pasta terá de ser fisicamente alterada pela administração de sistemas.");
}
 
</script>
<html:errors/>
<jomm:messages/>
<html:form action="/user/courseControllerFromServiceZone" enctype="multipart/form-data">
22,6 → 33,7
<bean:write name="CourseView" property="htmlResult"/>
</pre>
</logic:present>
 
<table class="form">
<tr>
<th>
79,7 → 91,7
<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"/> - Qualquer erro de atrbuição informar imediatamente a equipa de desenvolvimento
</td>
</tr>
<tr>
108,7 → 120,7
<bean:message key="course.userGroupStudents"/>
</th>
<td>
<html:text property="courseView.userGroupStudents"/>
<html:text onchange="alertPermissions()" property="courseView.userGroupStudents"/>
</td>
</tr>
 
125,7 → 137,7
<bean:message key="course.coordinator"/>
</th>
<td>
<html:select property="courseView.coordinator.id">
<html:select onchange="alertPermissions()" property="courseView.coordinator.id">
<html:option value="0">
<bean:message key="none"/>
</html:option>
144,7 → 156,7
<bean:message key="course.director"/>
</th>
<td>
<html:select property="courseView.director.id">
<html:select onchange="alertPermissions()" property="courseView.director.id">
<html:option value="0">
<bean:message key="none"/>
</html:option>
178,7 → 190,7
request.setAttribute("targetRoles",targetRoles);
%>
<td>
<html:select property="courseView.validationRole">
<html:select onchange="alertPermissions()" property="courseView.validationRole">
<logic:iterate id="role" name="targetRoles">
<html:option value="${role}" key="user.role.${role}"/>
</logic:iterate>
191,10 → 203,9
 
 
<tr>
<td>
 
<th>
<bean:message key="course.externalSite"/>
</td>
</th>
<td>
<html:select property="courseView.externalSiteServer">
<html:option value="estgp">ESTG</html:option>
/impl/src/web/admin/courseunits/courseunit.jsp
12,6 → 12,17
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<script>
function alertPermissions()
{
alert("Este procedimento afecta as permissões atuais no sistema de ficheiros da intranet. Após salvar estas alterações, por favor gere o BAT de geração de pastas e corra-o novamente na raiz do servidor IONLINE")
}
function alertFolders(place)
{
alert("Caro administrador, lembramos-lhe que alterar o " + place + " de uma unidade curricular implica trocar a pasta de ficheiros da intranet do " + place + " onde esta se encontrava para o " + place + " onde actualmente se encontra. O BACO irá actualizar a nova LOCALIZAÇÃO da pasta de ficheiros na sua base de dados. Mas a pasta terá de ser fisicamente alterada pela administração de sistemas.");
}
 
</script>
<%
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
62,7 → 73,7
<bean:message key="courseunit.course"/>
</th>
<td>
<html:select property="courseUnitView.courseId">
<html:select onchange="alertFolders('curso')" property="courseUnitView.courseId">
<logic:iterate id="course" name="Courses" type="pt.estgp.estgweb.domain.views.CourseView">
<html:option value="${course.id}">(${course.code}) ${course.name}</html:option>
</logic:iterate>
82,14 → 93,14
<bean:message key="courseunit.semestre"/>
</th>
<td>
<html:select property="courseUnitView.semestre">
<html:option value="S1">S1</html:option>
<html:option value="S2">S2</html:option>
<html:option value="A">A</html:option>
<html:option value="T1">T1</html:option>
<html:option value="T2">T2</html:option>
<html:option value="T3">T3</html:option>
<html:option value="T4">T4</html:option>
<html:select onchange="alertFolders('semestre')" property="courseUnitView.semestre">
<html:option value="S1"><bean:message key="courseunit.S1"/></html:option>
<html:option value="S2"><bean:message key="courseunit.S2"/></html:option>
<html:option value="A"><bean:message key="courseunit.A"/></html:option>
<html:option value="T1"><bean:message key="courseunit.T1"/></html:option>
<html:option value="T2"><bean:message key="courseunit.T2"/></html:option>
<html:option value="T3"><bean:message key="courseunit.T3"/></html:option>
<html:option value="T4"><bean:message key="courseunit.T4"/></html:option>
</html:select>
</td>
</tr>
98,7 → 109,7
<bean:message key="courseunit.importYear"/>
</th>
<td>
<html:select property="courseUnitView.importYear">
<html:select onchange="alertFolders('ano')" property="courseUnitView.importYear">
<logic:iterate id="item" name="CourseUnitsForm" property="importYears">
<html:option value="${item}">${item}</html:option>
</logic:iterate>
119,7 → 130,7
<bean:message key="courseunit.responsable"/>
</th>
<td>
<html:select property="courseUnitView.responsableId">
<html:select onchange="alertPermissions();" property="courseUnitView.responsableId">
<html:option value="0"></html:option>
<logic:iterate id="teacher" name="CourseUnitsForm" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<html:option value="${teacher.id}">(${teacher.code}) ${teacher.name}</html:option>
146,7 → 157,7
</jomm:option>
</logic:iterate>
<input type="button" value="<bean:message key="add"/>"
onclick="set(this.form,'addTeacher');this.form.submit();">
onclick="alertPermissions();set(this.form,'addTeacher');this.form.submit();">
</logic:present>
</html:select>
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0">
183,7 → 194,7
<logic:greaterThan value="0" name="CourseUnitView" property="id">
<html:text styleClass="text" property="studentCode"/>
<input type="button" value="<bean:message key="add"/>"
onclick="if(this.form.studentCode.value=='0' || this.form.studentCode.value==''){alert('Por favor coloque o numero de aluno antes de adicionar');}else{set(this.form,'addStudent');this.form.submit();}">
onclick="if(this.form.studentCode.value=='0' || this.form.studentCode.value==''){alert('Por favor coloque o numero de aluno antes de adicionar');}else{alertPermissions();set(this.form,'addStudent');this.form.submit();}">
<logic:greaterThan name="CourseUnitView" property="studentsSize" value="0">
<table id="myTable" class="tablesorter dataTable removeButton">
/impl/src/web/admin/configuration/tasks.jsp
88,11 → 88,11
 
 
<a href="<%=request.getContextPath()%>/user/configurationJobTasks.do" style="float:right" class="btn btn-default"><span class="glyphicon glyphicon-list-alt">Consultar Todos os Logs</span></a>
<button type="button" style="float:right" class="btn btn-success" onclick="set(form,'new');form.submit();"><span class="glyphicon glyphicon-plus">Agendar</span></button>
<a href="<%=request.getContextPath()%>/user/configurationTasks.do?dispatch=newTask" style="float:right" class="btn btn-success" onclick="set(form,'new');form.submit();"><span class="glyphicon glyphicon-plus">Agendar</span></a>
<a href="<%=request.getContextPath()%>/user/configurationSchedulleTasks.do" class="btn btn-info"><span class="glyphicon glyphicon-refresh"></span></a>
</div>
<div class="panel-body">
<table id="myTable" class="tablesorter">
<table id="myTable" class="tablesorter tablesorterfiltered">
<thead>
<tr>
<th>Agora</th>
/impl/src/web/admin/configuration/task.jsp
2,6 → 2,8
<%@ page import="pt.estgp.estgweb.domain.JobServiceTaskScheduler" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.utils.DatesUtils" %>
<%@ page import="com.sun.mail.handlers.image_gif" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
11,111 → 13,300
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jsp:useBean id="SchedulleTasksForm" type="pt.estgp.estgweb.web.form.configuration.SchedulleTasksForm" scope="request"/>
<jomm:messages/>
<html:errors/>
 
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/jquerytables/bootstrap/css/bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/jquerytables/bootstrap/css/bootstrap-theme.css"/>
 
<script>
$(document).ready(function()
{
<logic:equal value="true" name="SchedulleTasksForm" property="jobScheduller.weekly">
$("#weekdaySelection").show();
$("#monthdaySelection").hide();
</logic:equal>
<logic:equal value="true" name="SchedulleTasksForm" property="jobScheduller.monthly">
$("#weekdaySelection").hide();
$("#monthdaySelection").show();
</logic:equal>
<logic:equal value="true" name="SchedulleTasksForm" property="jobScheduller.daily">
$("#weekdaySelection").hide();
$("#monthdaySelection").hide();
</logic:equal>
<logic:equal value="false" name="SchedulleTasksForm" property="jobScheduller.daily">
<logic:equal value="false" name="SchedulleTasksForm" property="jobScheduller.monthly">
<logic:equal value="false" name="SchedulleTasksForm" property="jobScheduller.weekly">
$("#weekdaySelection").hide();
$("#monthdaySelection").hide();
</logic:equal>
</logic:equal>
</logic:equal>
 
changeParameters();
 
<script src="<%=request.getContextPath()%>/js/jquerytables/jquery-2.1.4.min.js"></script>
<script src="<%=request.getContextPath()%>/js/jquerytables/bootstrap/js/bootstrap.min.js"></script>
}
);
function changeForms(calendarization)
{
if(calendarization == "DAILY")
{
$("#weekdaySelection").hide();
$("#monthdaySelection").hide();
}
else if(calendarization == "MONTLY")
{
$("#weekdaySelection").hide();
$("#monthdaySelection").show();
}
else if(calendarization == "WEEKLY")
{
$("#weekdaySelection").show();
$("#monthdaySelection").hide();
}
}
 
function changeParameters()
{
$("#jobImportYearKeyPart").hide();
$("#jobSemestreKeyPart").hide();
$("#jobSendIonlineKeyPart").hide();
$("#jobSendEmailKeyPart").hide();
$("#jobCloneOnlyNewsKeyPart").hide();
$("#jobGenerateAllPdfsKeyPart").hide();
$("#jobValidateKeyPart").hide();
 
type = $("#targetService").val();
if(type == "pt.estgp.estgweb.services.sigesimports.ImportCourseService")
{
$("#jobImportYearKeyPart").show();
}
else if(type == "pt.estgp.estgweb.services.sigesimports.ImportGradesService")
{
$("#jobImportYearKeyPart").show();
}
else if(type == "pt.estgp.estgweb.services.sigesimports.ImportTeachersService")
{
$("#jobImportYearKeyPart").show();
}
else if(type == "pt.estgp.estgweb.services.sigesimports.ImportStudentsService")
{
$("#jobImportYearKeyPart").show();
}
else if(type == "pt.estgp.estgweb.services.sigesimports.ImportSumariesJson")
{
$("#jobImportYearKeyPart").show();
$("#jobSemestreKeyPart").show();
$("#jobSendIonlineKeyPart").show();
$("#jobSendEmailKeyPart").show();
}
else if(type == "pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService")
{
$("#jobImportYearKeyPart").show();
//$("#jobSemestreKeyPart").show();
$("#jobCloneOnlyNewsKeyPart").show();
$("#jobGenerateAllPdfsKeyPart").show();
$("#jobValidateKeyPart").show();
}
else
{
$("#jobImportYearKeyPart").show();
}
 
<%
AbstractDao.getCurrentSession().beginTransaction();
List<JobServiceTaskScheduler> schedulledTasks = DaoFactory.getJobServiceTaskSchedulerDaoImpl().findAll();
request.setAttribute("tasks",schedulledTasks);
%>
 
}
 
 
 
</script>
 
 
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="configuration.tasks"/>
<button type="button" style="float:right" class="btn btn-default" onclick="set(form,'new');form.submit();"><span class="glyphicon glyphicon-list-alt">Consultar Todos os Logs</span></button>
<button type="button" style="float:right" class="btn btn-success" onclick="set(form,'new');form.submit();"><span class="glyphicon glyphicon-plus">Agendar</span></button>
<bean:message key="configuration.task"/>
</div>
<div class="panel-body">
<table class="datatable tablesorter">
<thead>
<tr>
<th><bean:message key="configuration.task"/></th>
<th>Tipo</th>
<th>Calendarização</th>
 
<th>Criador</th>
<th>Parametros</th>
<th>Última</th>
<th>Progresso</th>
<th></th>
</tr>
</thead>
<tbody>
<logic:iterate id="task" name="tasks" type="pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl">
<tr>
<td><bean:message key="targetService.${task.targetService}"/></td>
<td><bean:message key="configuration.task.${task.typeMsgKey}"/></td>
<td>
<logic:equal value="true" name="task" property="weekly">
<bean:message key="weekday.day"/> <bean:message key="weekday.${task.weekDayMsgKey}"/>
</logic:equal>
<logic:equal value="true" name="task" property="monthly">
<bean:message key="monthday.day"/> ${task.monthday}
</logic:equal>
<bean:message key="day.time"/>
${task.hour}:${task.minute}
</td>
<html:form action="/user/configurationTasks" >
<input type="hidden" name="dispatch" value="save"/>
<html:hidden property="jobScheduller.id"/>
<div class="form-group">
<label for="targetService">Tarefa:</label>
<html:select onchange="changeParameters()" property="jobScheduller.targetService" styleClass="form-control" styleId="targetService">
<html:option value="pt.estgp.estgweb.services.sigesimports.ImportCourseService">Importação de Cursos</html:option>
<html:option value="pt.estgp.estgweb.services.sigesimports.ImportGradesService">Importação de Notas</html:option>
<html:option value="pt.estgp.estgweb.services.sigesimports.ImportTeachersService">Importação de Docentes</html:option>
<html:option value="pt.estgp.estgweb.services.sigesimports.ImportStudentsService">Importação de Estudantes</html:option>
<html:option value="pt.estgp.estgweb.services.sigesimports.ImportSumariesJson">Importação de Sumários</html:option>
<html:option value="pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService">Clonagem de Fichas Curriculares</html:option>
</html:select>
</div>
<div class="form-group">
<label for="description">Descrição:</label>
<html:textarea styleClass="form-control" styleId="description" property="jobScheduller.description"/>
</div>
<div class="form-group">
<label for="description">Calendarização:</label>
<html:select styleClass="form-control" property="jobScheduller.calendarization" onchange="changeForms(this.value)">
<html:option value="DAILY">Diário</html:option>
<html:option value="WEEKLY">Semanal</html:option>
<html:option value="MONTLY">Mensal</html:option>
</html:select>
</div>
<div class="form-group" id="weekdaySelection">
<label for="weekday">Dia da Semana:</label>
<html:select styleClass="form-control" styleId="weekday" property="jobScheduller.weekday">
<%
for(int i=1;i<=7;i++)
{
request.setAttribute("i",i);
%>
<html:option value="${i}"><bean:message key="weekday.${i}"/></html:option>
<%
}
%>
</html:select>
</div>
<div class="form-group" id="monthdaySelection">
<label for="monthday">Dia do Mês:</label>
<html:select styleClass="form-control" styleId="monthday" property="jobScheduller.monthday">
<%
for(int i=1;i<31;i++)
{
request.setAttribute("i",i);
%>
<html:option value="${i}">${i}</html:option>
<%
}
%>
</html:select>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-4">
<label for="hour">Hora:</label>
<html:select styleClass="form-control" styleId="hour" property="jobScheduller.hour">
<%
for(int i=0;i<24;i++)
{
request.setAttribute("i",i);
%>
<html:option value="${i}">${i}</html:option>
<%
}
%>
</html:select>
</div>
<div class="col-sm-4">
<label for="minute">Minuto:</label>
<html:select styleClass="form-control" styleId="minute" property="jobScheduller.minute">
<%
for(int i=0;i<60;i++)
{
request.setAttribute("i",i);
%>
<html:option value="${i}">${i}</html:option>
<%
}
%>
</html:select>
</div>
<div class="col-sm-4">
<label for="second">Segundo:</label>
<html:select styleClass="form-control" styleId="second" property="jobScheduller.second">
<%
for(int i=0;i<60;i++)
{
request.setAttribute("i",i);
%>
<html:option value="${i}">${i}</html:option>
<%
}
%>
</html:select>
</div>
</div>
</div>
<!--
;
 
<td>${task.createdBy.username}</td>
<td>
<table cellspacing="0" cellspadding="0">
<logic:iterate id="taskParam" name="task" property="serviceTaskSchedulerParameters" type="pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter">
<tr>
<td>
${taskParam.name}
</td>
<td>
${taskParam.object}
</td>
</tr>
</logic:iterate>
</table>
</td>
<td class="jobStatus${task.lastJobServiceTask.status}">
<logic:notEmpty name="task" property="lastJobServiceTask">
<bean:message key="job.status.${task.lastJobServiceTask.status}"/>
</logic:notEmpty>
</td>
<td style="text-align: right">
<logic:notEmpty name="task" property="lastJobServiceTask">
${task.lastJobServiceTask.progress} %
</logic:notEmpty>
</td>
 
<td>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-list-alt"></span>
</button>
private String jobGenerateAllPdfsKey;
private String jobValidateKey;-->
<div class="form-group" id="jobImportYearKeyPart">
<label for="jobImportYearKey">Ano:</label>
<%
List<String> years = DatesUtils.getImportYears(10);
%>
<html:select styleClass="form-control" styleId="jobImportYearKey" property="jobImportYearKey">
<%
for(String year:years)
{
request.setAttribute("year",year);
%>
<html:option value="${year}">${year}</html:option>
<%
}
%>
</html:select>
</div>
 
<div class="form-group" id="jobSemestreKeyPart">
<label for="jobSemestreKey">Semestre:</label>
<html:select styleClass="form-control" styleId="jobSemestreKey" property="jobSemestreKey">
<html:option value="A">Anual</html:option>
<html:option value="S1">Semestre 1</html:option>
<html:option value="S2">Semestre 2</html:option>
<html:option value="T1">Trimestre 1</html:option>
<html:option value="T2">Trimestre 2</html:option>
<html:option value="T3">Trimestre 3</html:option>
<html:option value="T4">Trimestre 4</html:option>
</html:select>
</div>
 
</td>
<div class="form-group" id="jobSendIonlineKeyPart">
<label for="jobSendIonlineKey">Enviar para a pasta do DTP:</label>
<html:select styleClass="form-control" styleId="jobSendIonlineKey" property="jobSendIonlineKey">
<html:option value="true">Sim</html:option>
<html:option value="false">Não</html:option>
</html:select>
</div>
 
</tr>
</logic:iterate>
</tbody>
<div class="form-group" id="jobSendEmailKeyPart">
<label for="jobSendEmailKey">Enviar email de notificação:</label>
<html:select styleClass="form-control" styleId="jobSendEmailKey" property="jobSendEmailKey">
<html:option value="true">Sim</html:option>
<html:option value="false">Não</html:option>
</html:select>
</div>
 
</table>
<div class="form-group" id="jobCloneOnlyNewsKeyPart">
<label for="jobCloneOnlyNewsKey">Clonar apenas quando não existe ficha (Se escolher não irá clonar também fichas inválidas):</label>
<html:select styleClass="form-control" styleId="jobCloneOnlyNewsKey" property="jobCloneOnlyNewsKey">
<html:option value="true">Sim</html:option>
<html:option value="false">Não</html:option>
</html:select>
</div>
 
<div class="form-group" id="jobGenerateAllPdfsKeyPart">
<label for="jobGenerateAllPdfsKey">Gerar PDF's mesmo que não clone as fichas:</label>
<html:select styleClass="form-control" styleId="jobGenerateAllPdfsKey" property="jobGenerateAllPdfsKey">
<html:option value="true">Sim</html:option>
<html:option value="false">Não</html:option>
</html:select>
</div>
 
<div class="form-group" id="jobValidateKeyPart">
<label for="jobValidateKey">Validar Fichas ao Clonar:</label>
<html:select styleClass="form-control" styleId="jobValidateKey" property="jobValidateKey">
<html:option value="true">Sim</html:option>
<html:option value="false">Não</html:option>
</html:select>
</div>
<button type="submit" class="btn btn-default"><bean:message key="confirm"/></button>
</html:form>
 
 
</div>
</div>
</div>
 
 
<%
AbstractDao.getCurrentSession().getTransaction().commit();
%>
</div>
/impl/src/web/css/intranet.css
9,10 → 9,10
{
background-color: lightsteelblue;
}
td.icons
.icons a img
{
width: 60px;
white-space: nowrap;
width: 60px !important;
white-space: nowrap !important;
 
}
#headerIntranet td.links
/impl/src/web/ping.jsp
New file
0,0 → 1,4
<%--
Serviço de PING para manter a sessao online
--%>
{"result" : "PING OK"}
/impl/src/web/layout/scripts.jsp
1,6 → 1,7
<%@ page import="pt.estgp.estgweb.web.filters.TopImageFilter" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<meta name="viewport" content="width=device-width, initial-scale=1">
 
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/yui/build/menu/assets/skins/sam/menu.css" />
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/yui/build/button/assets/skins/sam/button.css" />
8,13 → 9,20
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/yui/build/container/assets/skins/sam/container.css" />
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/yui/build/editor/assets/skins/sam/editor.css" />
 
 
<!--OFF CANVAS É PARA METER O BODY ABAIXO DO MENU DESLIZANTE DE TOPO-->
<!--<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/offcanvas.css"/>-->
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/functions.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/ajax.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/compactedPopup.js"></script>
 
<!--
<style>
body
{
background: url('http://www.ist.utl.pt/img/page/cubes.png')
}
</style>-->
<!--
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/jquery/style.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-latest.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.tablesorter.js"></script>
56,7 → 64,78
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
 
 
<script type="text/javascript" language="JavaScript">
var cal = new CalendarPopup();
 
/*
//TABLE SORTER
$(document).ready(function()
{
$("#myTable").tablesorter();
 
}
);
*/
 
function isBreakpoint( alias ) {
return $('.device-' + alias).is(':visible');
}
 
 
 
 
 
$(document).ready(
function(){
$("#network").hide();
$("#network2").hide();
$("#network").mouseleave(
function(){
$("#network").animate({
height: 'hide'
});
}
 
);
$("#network2").mouseleave(
function(){
$("#network2").animate({
height: 'hide'
});
}
 
);
}
);
 
function openNetwork(){
$("#network2").animate({
height: 'hide'
});
$("#network").animate({
height: 'toggle'
});
}
 
function openNetwork2(){
$("#network").animate({
height: 'hide'
});
$("#network2").animate({
height: 'toggle'
});
}
 
</script>
<script language="javascript">
 
function ping()
{
$.getJSON( "<%=request.getContextPath()%>/ping.jsp", function( data ) {
setTimeout("ping()",10000);
});
}
$(document).ready(function()
{
if($("#myTable"))
231,7 → 310,7
widgets: ["zebra","filter"],
ignoreCase: false,
widthFixed : true,
widgetOptions : {filter_reset : 'button.reset',filter_columnFilters : false},
widgetOptions : {filter_reset : 'button.reset',filter_columnFilters : true},
textExtraction: function(node) {
// extract data from markup and return it
if($(node).find(':input').size()>0)
249,8 → 328,67
);
}
 
if($(".tablesorterfiltered"))
{
$(".tablesorterfiltered").tablesorter({
theme: 'blue',
 
 
sortMultiSortKey: 'altKey',
//sortList: [[0,0]],
widgets: ["zebra","filter"],
 
ignoreCase: false,
widthFixed : true,
widgetOptions : {filter_reset : 'button.reset',filter_columnFilters : true},
textExtraction: function(node) {
// extract data from markup and return it
if($(node).find(':input').size()>0)
{
var values = $(node).find(":input").map(function() {
return $(this).val()
}).get().join(",");
 
 
return values;
}
return $(node).text();
}
}
);
}
if($(".tablesorterfiltered"))
{
$(".tablesorterfiltered").tablesorter({
theme: 'blue',
 
 
sortMultiSortKey: 'altKey',
//sortList: [[0,0]],
widgets: ["zebra","filter"],
 
ignoreCase: false,
widthFixed : true,
widgetOptions : {filter_reset : 'button.reset',filter_columnFilters : true},
textExtraction: function(node) {
// extract data from markup and return it
if($(node).find(':input').size()>0)
{
var values = $(node).find(":input").map(function() {
return $(this).val()
}).get().join(",");
 
 
return values;
}
return $(node).text();
}
}
);
}
 
 
 
// External search
// buttons set up like this:
// <button type="button" data-filter-column="4" data-filter-text="2?%">Saved Search</button>
268,7 → 406,13
$.tablesorter.setFilters( $('#myTable'), filters, true ); // new v2.9
if($('#myTable2'))
$.tablesorter.setFilters( $('#myTable2'), filters, true ); // new v2.9
if($('.tablesorterfiltered'))
$.tablesorter.setFilters( $('.tablesorterfiltered'), filters, true ); // new v2.9
 
/*
if($('.tablesorterfiltered'))
$.tablesorter.setFilters( $('.tablesorterfiltered'), filters, true ); // new v2.9
*/
/** old method (prior to tablsorter v2.9 ***
var filters = $('table.tablesorter').find('input.tablesorter-filter');
filters.val(''); // clear all filters
/impl/src/web/layout/navigationLeftMenu.jsp
23,7 → 23,7
</li>
<baco:isAuthenticated>
<li>
<a href=" http://mail.google.com/a/estgp.pt." target="_blank">
<a href=" http://mail.google.com/a/estgp.pt" target="_blank">
Webmail [Nova Plataforma]
</a>
</li>
/impl/src/web/user/courses/directedCoordinatedCoursesCourseView.jsp
18,6 → 18,17
<jsp:useBean id="SEMESTRE" type="java.lang.String" scope="request"/>
<jsp:useBean id="courseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/>
 
<style>
td .icons
{
white-space: nowrap !important;
}
td .icons a img
{
width: 15px !important;
 
}
</style>
<%
boolean canChange = false;
%>
42,11 → 53,12
}
);
</script>
<table id="myTable${SEMESTRE}NP${courseView.id}" class="dataTable tablesorter">
<table id="myTable${SEMESTRE}NP${courseView.id}" class="dataTable tablesorter tablesorterfiltered">
<thead>
<tr>
<th>Código</th>
<th>Unidade</th>
<th>Turma</th>
<th>Docente</th>
<td></td>
</tr>
56,6 → 68,7
<tr>
<td>${courseUnitView.code}</td>
<td>${courseUnitView.name}</td>
<td>${courseUnitView.cdTurma}</td>
<td>${courseUnitView.teachersSnipet}</td>
 
<td class="icons">
132,12 → 145,13
}
);
</script>
<table id="myTable${SEMESTRE}PI${courseView.id}" class="dataTable tablesorter">
<table id="myTable${SEMESTRE}PI${courseView.id}" class="dataTable tablesorter tablesorterfiltered">
<thead>
<tr>
<td></td>
<th>Código</th>
<th>Unidade</th>
<th>Turma</th>
<th>Docente</th>
<td></td>
</tr>
171,7 → 185,9
<nested:checkbox property="validProgram"/></td>
</baco:hasRole>
<td>${courseUnitView.code}</td>
<td>${courseUnitView.name}</td>
<td>${courseUnitView.name}</td>
<td>${courseUnitView.cdTurma}</td>
<td>${courseUnitView.cdTurma}</td>
<td>${courseUnitView.teachersSnipet}</td>
<td class="icons">
<a href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/home.png"/></a>
241,12 → 257,13
}
);
</script>
<table id="myTable${SEMESTRE}PV${courseView.id}" class="dataTable tablesorter">
<table id="myTable${SEMESTRE}PV${courseView.id}" class="dataTable tablesorter tablesorterfiltered">
<thead>
<tr>
<td></td>
<th>Código</th>
<th>Unidade</th>
<th>Turma</th>
<th>Docente</th>
<td></td>
</tr>
280,6 → 297,7
</baco:hasRole>
<td>${courseUnitView.code}</td>
<td>${courseUnitView.name}</td>
<td>${courseUnitView.cdTurma}</td>
<td>${courseUnitView.teachersSnipet}</td>
<td class="icons">
<a href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=${courseUnitView.id}"><img src="<%=request.getContextPath()%>/imgs/home.png"/></a>
/impl/src/web/user/courseunits/courseunitworks.jsp
158,6 → 158,9
</td>
<td>
<a href="javascript:showOrHideOne('assignement${work.id}')">${work.title}</a>
<div style="padding:5px;border:1px solid gray" id="assignement${work.id}" style="<%=Globals.HIDDEN%>">
${work.formatedDescription}
</div>
</td>
<td>
<logic:notEmpty name="work" property="workFile">
289,11 → 292,6
</td>
</logic:notEmpty>
</tr>
<tr id="assignement${work.id}" style="<%=Globals.HIDDEN%>">
<td colspan="${colspanAssignement}">
${work.formatedDescription}
</td>
</tr>
</logic:iterate>
</tbody>
</table>
305,4 → 303,4
</div>
 
</div>
</div>
</div>
/impl/src/web/user/courseunits/courseunitEvaluation.jsp
24,6 → 24,11
<html:errors/>
<jomm:messages/>
 
<script>
//Manter a sessão activa para os docentes não perderem os dados
ping();
</script>
 
<%
IServiceManager sm = ServiceManager.getInstance();
 
/impl/src/web/user/courseunits/courseunitProgram.jsp
20,6 → 20,10
<div id="contentPane">
<html:errors/>
<jomm:messages/>
<script>
//Manter a sessão activa para os docentes não perderem os dados
ping();
</script>
 
<%
IServiceManager sm = ServiceManager.getInstance();
/impl/src/web/user/courseunits/courseunit.jsp
2,6 → 2,7
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
42,20 → 43,23
request.setAttribute("CourseUnitInEvaluation",courseUnitViewInEvaluation);
}
 
boolean showEvaluationReport = false;
 
%>
 
<jomm:messages/>
 
<div id="contentPane">
<h1>${CourseUnitView.name} (${CourseUnitView.code}) - (${CourseUnitView.semestre}) - ${CourseUnitView.importYear})</h1>
<table width="100%" cellpadding="0" cellspacing="2" border="0">
<tr>
<td valign="top" class="seccao">
<div class="panel panel-primary">
<div class="panel-heading">
${CourseUnitView.name} (${CourseUnitView.code}) - semestre ${CourseUnitView.semestre} - ano ${CourseUnitView.importYear} - turma ${CourseUnitView.cdTurma}
</div>
<div class="panel-body">
 
 
 
<baco:isAuthenticated>
<%
if(activeEvaluationYear != null)
{
 
%>
 
<%
64,300 → 68,280
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())
||
UserSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
{
if(CourseUnitView.isValidEvaluation())
{
%>
<p>
<label class="INFO"> <a href="<%=request.getContextPath()%>/repositoryStream/<%=CourseUnitView.getEvaluationStreamId()%>">Relatório de avaliação em PDF</a></label>
</p>
<%
showEvaluationReport = true;
 
}
 
if(courseUnitViewInEvaluation != null)
{
%>
<p>
<label class="WARNING">Atenção tem um relatório de avaliação em fase de preenchimento no ano <%=courseUnitViewInEvaluation.getImportYear()%> (Entrar no <%=courseUnitViewInEvaluation.getImportYear()%> pelo menu lateral esquerdo antes de clicar em relatório de avaliação e confirmar no titulo da unidade).</label>
</p>
<%
%>
<div class="row">
<div class="col-sm-8">
<div class="alert alert-warning" role="alert">Atenção tem um relatório de avaliação em fase de preenchimento no ano <%=courseUnitViewInEvaluation.getImportYear()%> (Entrar no <%=courseUnitViewInEvaluation.getImportYear()%> pelo menu lateral esquerdo antes de clicar em relatório de avaliação e confirmar no titulo da unidade).</div>
</div>
</div>
 
<%
}
}
 
}
%>
</baco:isAuthenticated>
<baco:hasRole role="admin,all,services">
<ul>
<li>
<html:link action="/user/startEditCourseUnitAdminFromServiceZone.do?id=${CourseUnitView.id}">
Editar Dados Administrativos Unidade
</html:link>
</li>
<li>
<html:link action="/user/courseControllerFromServiceZone.do?dispatch=edit&courseView.id=${CourseUnitView.courseId}">
Editar Dados Administrativos Curso
</html:link>
</li>
</ul>
<html:form styleClass="form" action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
<input type="hidden" name="dispatch" value="update"/>
<html:hidden property="courseUnitView.id"/>
 
</baco:hasRole>
 
<html:form styleClass="form" action="/user/courseUnitControllerFromHome" enctype="multipart/form-data">
<input type="hidden" name="dispatch" value="update"/>
<html:hidden property="courseUnitView.id"/>
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.objectives"/>
</div>
<div class="panel-body">
<p><logic:present name="CourseUnitView" property="objectives">
${CourseUnitView.formatedObjectives}
</logic:present>
<logic:notPresent name="CourseUnitView" property="objectives">
<bean:message key="courseunit.objectives.not.available"/>
</logic:notPresent></p>
</div>
</div>
<div class="row">
<div class="col-md-8 col-sm-6 col-xs-12">
<div class="row">
<div class="col-md-6 col-sm-12 col-xs-12">
 
<p>
<%--<baco:cantManage name="CourseUnitView">--%>
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.objectives"/>
</div>
<div class="panel-body">
<p><logic:present name="CourseUnitView" property="objectives">
${CourseUnitView.formatedObjectives}
</logic:present>
<logic:notPresent name="CourseUnitView" property="objectives">
<bean:message key="courseunit.objectives.not.available"/>
</logic:notPresent></p>
</div>
</div>
</div>
<div class="col-md-6 col-sm-12 col-xs-12">
<div class="panel panel-default">
<div class="panel-heading">
Recursos
</div>
<div class="panel-body">
 
<%--</baco:cantManage>--%>
<%--<baco:canManage name="CourseUnitView">--%>
<%--<html:textarea styleClass="textarea" property="courseUnitView.objectives"/>--%>
<%--</baco:canManage>--%>
</p>
<baco:canManage name="CourseUnitView">
<h2><bean:message key="courseunits.contentsGrants"/></h2>
<p>
<html:select property="courseUnitView.contentsGrants">
<%--<html:option value="PUBLIC"><bean:message key="courseunits.contentsGrants.PUBLIC"/></html:option>--%>
<html:option value="INTERNAL"><bean:message key="courseunits.contentsGrants.INTERNAL"/></html:option>
<html:option value="PRIVATE"><bean:message key="courseunits.contentsGrants.PRIVATE"/></html:option>
</html:select>
<baco:canManage name="CourseUnitView">
<input type="button" onclick="set(form,'update');form.submit()" value="<bean:message key="confirm"/>">
</baco:canManage>
</p>
</baco:canManage>
<baco:isAuthenticated>
<h2><bean:message key="courseunit.programfilepath"/>
<baco:isTeacherOfCourseUnit courseUnitId="${CourseUnitView.id}">
<logic:equal value="false" name="CourseUnitView" property="validProgram">
Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
</logic:equal>
<div class="list-group">
 
</baco:isTeacherOfCourseUnit>
<logic:equal value="${CourseUnitView.coordinatorId}" name="UserSession" property="user.id">
<logic:equal value="false" name="CourseUnitView" property="validProgram">
Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
</logic:equal>
</logic:equal>
<baco:hasRole role="admin,all,services,ci">
<div class="list-group-item">
<html:link action="/user/startEditCourseUnitAdminFromServiceZone.do?id=${CourseUnitView.id}">
Editar Dados Administrativos Unidade
</html:link>
</div>
<div class="list-group-item">
<html:link action="/user/courseControllerFromServiceZone.do?dispatch=edit&courseView.id=${CourseUnitView.courseId}">
Editar Dados Administrativos Curso
</html:link>
</div>
</baco:hasRole>
<%
if(showEvaluationReport)
{
%>
<div class="list-group-item">
<a href="<%=request.getContextPath()%>/repositoryStream/<%=CourseUnitView.getEvaluationStreamId()%>">Relatório de avaliação (ano ${CourseUnitView.importYear})</a>
<span class="badge">
<a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.evaluationStreamId}"><img src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"/></a>
</span>
</div>
<%
}
%>
<baco:canManage name="CourseUnitView">
 
<baco:isAdmin>
Ficha aberta para edição: (<html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><bean:message key="courseunit.edit.program"/></html:link>)
</baco:isAdmin>
<div class="list-group-item">
<bean:message key="courseunits.contentsGrants"/> -
<%--<html:option value="PUBLIC"><bean:message key="courseunits.contentsGrants.PUBLIC"/></html:option>--%>
<html:radio onclick="set(form,'update');form.submit()" property="courseUnitView.contentsGrants" value="INTERNAL"/> <bean:message key="courseunits.contentsGrants.INTERNAL"/>
<html:radio onclick="set(form,'update');form.submit()" property="courseUnitView.contentsGrants" value="PRIVATE" /> <bean:message key="courseunits.contentsGrants.PRIVATE"/>
</div>
</baco:canManage>
 
<baco:isAuthenticated>
 
<logic:equal value="true" name="CourseUnitView" property="validProgram">
(Ficha curricular validada)
</logic:equal>
<logic:equal value="false" name="CourseUnitView" property="validProgram">
(<label style="color:red">Ficha curricular ainda não validada pela Comissão de Curso</label>)
</logic:equal>
</h2>
<p>
<baco:canManage name="CourseUnitView">
<!--
<logic:equal value="false" name="CourseUnitView" property="validProgram">
<html:file property="programFile"/>
</logic:equal>
-->
<logic:present name="CourseUnitView" property="programStreamId">
<a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><bean:message key="courseunit.programfilepath"/></a> (${CourseUnitView.programSize} Kb)
<logic:equal value="true" name="CourseUnitView" property="validProgram">
(<bean:message key="courseunit.programfile.valid"/>)
</logic:equal>
</logic:present>
</baco:canManage>
 
 
<baco:cantManage name="CourseUnitView">
<logic:present name="CourseUnitView" property="programStreamId">
<logic:equal value="true" name="CourseUnitView" property="validProgram">
(<bean:message key="courseunit.programfile.valid"/>)
</logic:equal>
<a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><bean:message key="courseunit.programfilepath"/></a> (${CourseUnitView.programSize} Kb)
 
</logic:present>
</baco:cantManage>
<div class="list-group-item">
<logic:present name="CourseUnitView" property="programStreamId">
<a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><bean:message key="courseunit.programfilepath"/></a> <!--(${CourseUnitView.programSize} Kb)-->
 
<logic:notPresent name="CourseUnitView" property="programStreamId">
<bean:message key="courseunit.programfilepath.not.available"/>
</logic:notPresent>
<%--<logic:equal value="true" name="CourseUnitView" property="validProgram">
(<bean:message key="courseunit.programfile.valid"/>)
</logic:equal>--%>
<logic:equal value="false" name="CourseUnitView" property="validProgram">
(<label style="color:red">Não validada pela Comissão de Curso</label>)
</logic:equal>
 
<logic:present name="CourseUnitView" property="programStreamId">
<logic:equal value="false" name="CourseUnitView" property="validProgram">
<bean:message key="courseunit.programfile.invalid"/>
</logic:equal>
</logic:present>
<baco:isNotAdmin>
<logic:notEqual value="${CourseUnitView.coordinatorId}" name="UserSession" property="user.id">
<baco:isTeacherOfCourseUnit courseUnitId="${CourseUnitView.id}">
<logic:equal value="false" name="CourseUnitView" property="validProgram">
<span class="badge"> <html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link></span>
</logic:equal>
</baco:isTeacherOfCourseUnit>
</logic:notEqual>
<logic:equal value="${CourseUnitView.coordinatorId}" name="UserSession" property="user.id">
<logic:equal value="false" name="CourseUnitView" property="validProgram">
<span class="badge"><html:link action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link></span>
</logic:equal>
</logic:equal>
</baco:isNotAdmin>
<baco:isAdmin>
<html:link styleClass="btn btn-warning" action="/startLoadCourseUnitProgram?courseUnitId=${CourseUnitView.id}"><span class="glyphicon glyphicon-pencil"></span></html:link>
</baco:isAdmin>
<span class="badge"><a href="<%=request.getContextPath()%>/repositoryStream/${CourseUnitView.programStreamId}"><img src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"/></a></span>
</logic:present>
<logic:notPresent name="CourseUnitView" property="programStreamId">
<bean:message key="courseunit.programfilepath.not.available"/>
</logic:notPresent>
</div>
<div class="list-group-item">
<logic:present name="CourseUnitView" property="programStreamId">
<baco:hasRole role="teacher,admin,all,services,servicesPrograms,courseValidatePrograms">
<a href="<%=request.getContextPath()%>/admin/data.jsp?id=${CourseUnitView.programStreamId}">Ver todas as versoes do programa</a>
</baco:hasRole>
</logic:present>
</div>
 
<logic:present name="CourseUnitView" property="programStreamId">
<baco:hasRole role="teacher,admin,all">
<a href="<%=request.getContextPath()%>/admin/data.jsp?id=${CourseUnitView.programStreamId}">Ver todas as versoes do programa</a>
</baco:hasRole>
</logic:present>
</baco:isAuthenticated>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<baco:isAuthenticated>
 
</p>
</baco:isAuthenticated>
<h2><bean:message key="module.Announcements"/></h2>
<logic:notEmpty name="CourseUnitView" property="announcements">
<%--<div class="listCircleWhite">
<ul>
<logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<li>
<h3><html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link></h3>
<p>${announcement.formatedText}</p>
<p class="pFooterSeccao"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </p>
</li>
</logic:iterate>
</ul>
</div>--%>
<logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<div class="panel panel-default">
<div class="panel-heading">
<html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link>
</div>
<div class="panel-body">
<p>${announcement.formatedText}</p>
</div>
<div class="panel-footer"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </div>
</div>
</logic:iterate>
 
 
</html:form>
</logic:notEmpty>
<logic:empty name="CourseUnitView" property="announcements">
<p><bean:message key="announcement.zero.placed"/></p>
</logic:empty>
 
 
<baco:isAuthenticated>
 
<h2><bean:message key="module.Announcements"/></h2>
<logic:notEmpty name="CourseUnitView" property="announcements">
<%--<div class="listCircleWhite">
<ul>
<logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<li>
<h3><html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link></h3>
<p>${announcement.formatedText}</p>
<p class="pFooterSeccao"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </p>
</li>
</logic:iterate>
</ul>
</div>--%>
<logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<div class="panel panel-default">
<div class="panel-heading">
<html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link>
</baco:isAuthenticated>
</div>
<div class="panel-body">
<p>${announcement.formatedText}</p>
</div>
<div class="panel-footer"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </div>
</div>
</logic:iterate>
</div>
<div class="col-md-4 col-sm-6 col-xs-12">
 
 
</logic:notEmpty>
<logic:empty name="CourseUnitView" property="announcements">
<p><bean:message key="announcement.zero.placed"/></p>
</logic:empty>
</td>
 
</baco:isAuthenticated>
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.teachers"/>
</div>
<div class="panel-body">
<logic:notEmpty name="CourseUnitView" property="responsableTeacher">
<div class="list-group">
<div class="list-group-item"><bean:message key="courseunit.responsable"/></div>
<div class="list-group-item"><html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${CourseUnitView.responsableTeacher.code}&courseUnitView.id=${CourseUnitView.id}">${CourseUnitView.responsableTeacher.name}</html:link> <span class="badge">${CourseUnitView.responsableTeacher.code}</span></div>
<div class="list-group-item disabled"> ${CourseUnitView.responsableTeacher.safeEmail}</div>
</div>
</logic:notEmpty>
<div class="list-group">
<logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<div class="list-group-item"><html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${teacher.code}&courseUnitView.id=${CourseUnitView.id}">${teacher.name}</html:link> <span class="badge">${teacher.code}</span></div>
<div class="list-group-item disabled"> ${teacher.safeEmail}</div>
</logic:iterate>
</div>
 
</td>
<td valign="top" class="seccao">
 
<div class="seccao">
<logic:notEmpty name="CourseUnitView" property="responsableTeacher">
</div>
 
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.responsable"/>
</div>
<div class="panel-body">
<table class="dataTable">
<tr>
<th><bean:message key="number"/></th>
<th><bean:message key="name"/></th>
<th><bean:message key="email"/></th>
</tr>
<tr>
<td>
${CourseUnitView.responsableTeacher.code}
</td>
<td>
<html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${CourseUnitView.responsableTeacher.code}&courseUnitView.id=${CourseUnitView.id}">${CourseUnitView.responsableTeacher.name}</html:link>
</td>
<td>
${CourseUnitView.responsableTeacher.safeEmail}
</td>
</tr>
</table>
</div>
</div>
 
 
 
</logic:notEmpty>
 
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.teachers"/>
</div>
<div class="panel-body">
<table class="dataTable tablesorter">
<tr>
<th><bean:message key="number"/></th>
<th><bean:message key="name"/></th>
<th><bean:message key="email"/></th>
</tr>
<logic:iterate id="teacher" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView">
<tr>
<td>
${teacher.code}
</td>
<td>
<html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${teacher.code}&courseUnitView.id=${CourseUnitView.id}">${teacher.name}</html:link>
</td>
<td>
${teacher.safeEmail}
</td>
</tr>
</logic:iterate>
</table>
</div>
</div>
 
</div>
<div class="seccao">
<h2><bean:message key="courseunit.summaries"/></h2>
<logic:notEmpty name="CourseUnitView" property="summariesFromJson">
<baco:hasRole role="teacher">
<p><a href="<%=request.getContextPath()%>/ftpProxyStream/ionline${CourseUnitView.sumariosPathFileIntranet}">Descarregar PDF</a></p>
<logic:greaterThan value="0" name="CourseUnitView" property="lateSummaries">
<p style="background-color: yellow">Alerta.Tem <bean:write name="CourseUnitView" property="lateSummaries"/>
<logic:equal name="CourseUnitView" property="lateSummaries" value="1">Sumário</logic:equal>
<logic:greaterThan name="CourseUnitView" property="lateSummaries" value="1">Sumários</logic:greaterThan>
lançados pelos serviços que não estão preenchidos e estão abertos há mais de 48 horas. Se este for um falso alerta pedimos desculpa pelo incómodo.
<a target="_blank" href="http://netpa.ipportalegre.pt">Aceda ao NETPA para regularizar</a>
ou entre em contacto com o Sr José Luis para confirmar a situação:</a>
 
</p>
<ul>
<logic:iterate id="sumLate" name="CourseUnitView" property="lateSummariesDates">
<li>Por lançar: <bean:write name="sumLate"/></li>
</logic:iterate>
</ul>
</logic:greaterThan>
</baco:hasRole>
</logic:notEmpty>
<baco:isAuthenticated>
<div class="panel panel-default">
<div class="panel-heading">
<bean:message key="courseunit.summaries"/>
</div>
<div class="panel-body">
 
<logic:notEmpty name="CourseUnitView" property="summariesFromJson">
<baco:hasRole role="teacher">
<p><a href="<%=request.getContextPath()%>/ftpProxyStream/ionline${CourseUnitView.sumariosPathFileIntranet}">Descarregar PDF <img src="<%=request.getContextPath()%>/imgs/mime/pdf.gif"/></a></p>
<logic:greaterThan value="0" name="CourseUnitView" property="lateSummaries">
<p style="background-color: yellow">Alerta.Tem <bean:write name="CourseUnitView" property="lateSummaries"/>
<logic:equal name="CourseUnitView" property="lateSummaries" value="1">Sumário</logic:equal>
<logic:greaterThan name="CourseUnitView" property="lateSummaries" value="1">Sumários</logic:greaterThan>
lançados pelos serviços que não estão preenchidos e estão abertos há mais de 48 horas. Se este for um falso alerta pedimos desculpa pelo incómodo.
<a target="_blank" href="http://netpa.ipportalegre.pt">Aceda ao NETPA para regularizar</a>
ou entre em contacto com o Sr José Luis para confirmar a situação:</a>
 
<logic:notEmpty name="CourseUnitView" property="summariesFromJson">
<logic:iterate id="summary" name="CourseUnitView" property="summariesFromJson" type="pt.estgp.estgweb.domain.views.CourseUnitSummaryView">
<div class="blockData">
<div class="blockDataTitle">Aula ${summary.number} - ${summary.title}</div>
<div class="blockDataContent">${summary.description}</div>
<div class="blockDataFooter">${summary.date} - ${summary.horas} Horas - ${summary.students} <bean:message key="courseunit.summary.present.students"/> </div>
</p>
<ul>
<logic:iterate id="sumLate" name="CourseUnitView" property="lateSummariesDates">
<li>Por lançar: <bean:write name="sumLate"/></li>
</logic:iterate>
</ul>
</logic:greaterThan>
</baco:hasRole>
</logic:notEmpty>
 
 
<logic:notEmpty name="CourseUnitView" property="summariesFromJson">
<logic:iterate id="summary" name="CourseUnitView" property="summariesFromJson" type="pt.estgp.estgweb.domain.views.CourseUnitSummaryView">
<div class="blockData">
<div class="blockDataTitle">Aula ${summary.number} - ${summary.title}</div>
<div class="blockDataContent">${summary.description}</div>
<div class="blockDataFooter">${summary.date} - ${summary.horas} Horas - ${summary.students} <bean:message key="courseunit.summary.present.students"/> </div>
</div>
</logic:iterate>
</logic:notEmpty>
<logic:empty name="CourseUnitView" property="summariesFromJson">
<p><bean:message key="courseunit.summaries.zero.placed"/></p>
</logic:empty>
</div>
</div>
</logic:iterate>
</logic:notEmpty>
<logic:empty name="CourseUnitView" property="summariesFromJson">
<p><bean:message key="courseunit.summaries.zero.placed"/></p>
</logic:empty>
</baco:isAuthenticated>
</div>
</div>
</td>
 
</tr>
 
</table>
 
</html:form>
 
 
 
 
 
 
</div>
</div>
/impl/src/web/user/courseunits/menu.jsp
13,6 → 13,7
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.CourseUnit" %>
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitView" %>
<%@ page import="pt.estgp.estgweb.domain.UserSessionImpl" %>
<%@ 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" %>
21,6 → 22,11
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<jsp:useBean id="CourseUnitView" type="pt.estgp.estgweb.domain.views.CourseUnitView" scope="request"/>
<%
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request);
if(userSession == null)
request.setAttribute("UserSession",new UserSessionImpl());
%>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<%
 
148,7 → 154,7
 
<baco:isAuthenticated>
<%
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request);
 
CourseUnitContentsGrants contentsGrants = CourseUnitContentsGrants.parse(CourseUnitView.getContentsGrants());
if ( contentsGrants == CourseUnitContentsGrants.PUBLIC ||
/impl/src/web/user/home/courseComission.jsp
107,14 → 107,14
{
%>
 
<h2><a href="javascript:showOrHide('evaluationValidate<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%></a> (<%=mis.courseUnits.size()%>)</h2>
<h2><a href="javascript:showOrHide('evaluationValidate<%=mis.course.getId()%>')"><%=mis.course.getName()%> / <%=mis.course.getCode()%> </a> (<%=mis.courseUnits.size()%>)</h2>
<div id="evaluationValidate<%=mis.course.getId()%>" style="display: none">
<ul>
<%
for(CourseUnit cu: mis.courseUnits)
{
%>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%> / <%=cu.getCdTurma()%></a></li>
<%
}
%>
170,7 → 170,7
for(CourseUnit cu: mis.courseUnits)
{
%>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%></a></li>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%> / <%=cu.getCode()%> / <%=cu.getCdTurma()%></a></li>
<%
}
%>
/impl/src/web/user/home/student.jsp
127,7 → 127,7
<ul>
<logic:iterate id="unit" name="units" type="pt.estgp.estgweb.domain.CourseUnit">
<li>
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName} (${unit.courseCode}))</html:link>
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName} (${unit.courseCode}) (${unit.cdTurma})</html:link>
<html:link action="/user/startLoadCourseUnitRootFromHome?courseUnitView.id=${unit.id}"><img border="0" alt="Pastas" src="<%=request.getContextPath()%>/imgs/folder.gif"></html:link>
</li>
</logic:iterate>
/impl/src/web/user/home/teacher.jsp
102,7 → 102,7
<ul>
<logic:iterate id="unit" name="units" type="pt.estgp.estgweb.domain.CourseUnit">
<li>
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName} (${unit.courseCode}))</html:link>
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName} (${unit.courseCode}) (${unit.cdTurma})</html:link>
<html:link action="/user/startLoadCourseUnitRootFromHome?courseUnitView.id=${unit.id}"><img border="0" alt="Pastas" src="<%=request.getContextPath()%>/imgs/folder.gif"></html:link>
</li>
</logic:iterate>
173,7 → 173,7
for(CourseUnit cu: programs)
{
%>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%>/<%=cu.getCode()%> (<%=cu.getCourseName() + "/" +cu.getCourseCode()%>)</a></li>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitEvaluation.do?courseUnitId=<%=cu.getId()%>"><%=cu.getName()%>/<%=cu.getCode()%> (<%=cu.getCourseName() + "/" +cu.getCourseCode() +"/" + cu.getCdTurma()%>)</a></li>
<%
}
%>
211,7 → 211,7
for(CourseUnit cu: evaluations)
{
%>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=<%=cu.getId()%>"><%=cu.getName()%>/<%=cu.getCode()%> (<%=cu.getCourseName() + "/" +cu.getCourseCode()%>)</a></li>
<li><a href="<%=request.getContextPath()%>/user/startLoadCourseUnitFromHome.do?id=<%=cu.getId()%>"><%=cu.getName()%>/<%=cu.getCode()%> (<%=cu.getCourseName() + "/" +cu.getCourseCode()+"/" + cu.getCdTurma()%>)</a></li>
<%
}
%>
/impl/gen/java/pt/ipportalegre/siges/web/services/GetTurmasAuxResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="getTurmasAuxResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfTurma" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"getTurmasAuxResult"
})
@XmlRootElement(name = "getTurmasAuxResponse")
public class GetTurmasAuxResponse {
 
protected ArrayOfTurma getTurmasAuxResult;
 
/**
* Gets the value of the getTurmasAuxResult property.
*
* @return
* possible object is
* {@link ArrayOfTurma }
*
*/
public ArrayOfTurma getGetTurmasAuxResult() {
return getTurmasAuxResult;
}
 
/**
* Sets the value of the getTurmasAuxResult property.
*
* @param value
* allowed object is
* {@link ArrayOfTurma }
*
*/
public void setGetTurmasAuxResult(ArrayOfTurma value) {
this.getTurmasAuxResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/Disciplina.java
27,6 → 27,7
* &lt;element name="nome" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="nomeCurso" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="grauCurso" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdTipoDisciplina" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
45,7 → 46,8
"cdTurma",
"nome",
"nomeCurso",
"grauCurso"
"grauCurso",
"cdTipoDisciplina"
})
public class Disciplina {
 
61,6 → 63,8
protected String nome;
protected String nomeCurso;
protected String grauCurso;
@XmlElement(required = true)
protected BigDecimal cdTipoDisciplina;
 
/**
* Gets the value of the codigo property.
278,4 → 282,28
this.grauCurso = value;
}
 
/**
* Gets the value of the cdTipoDisciplina property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCdTipoDisciplina() {
return cdTipoDisciplina;
}
 
/**
* Sets the value of the cdTipoDisciplina property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCdTipoDisciplina(BigDecimal value) {
this.cdTipoDisciplina = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/SiGesWEBSoap.java
309,4 → 309,97
@WebParam(name = "secret", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String secret);
 
/**
*
* @param codigoInstituicao
* @param cdDuracao
* @param cdLectivo
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfTurmaCurso
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/loadParesTurmaCurso")
@WebResult(name = "loadParesTurmaCursoResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "loadParesTurmaCurso", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.LoadParesTurmaCurso")
@ResponseWrapper(localName = "loadParesTurmaCursoResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.LoadParesTurmaCursoResponse")
public ArrayOfTurmaCurso loadParesTurmaCurso(
@WebParam(name = "codigoInstituicao", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
BigDecimal codigoInstituicao,
@WebParam(name = "cdLectivo", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdLectivo,
@WebParam(name = "cdDuracao", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdDuracao);
 
/**
*
* @param codigoDiscip
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfDisciplina
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getDisciplinasDaInstituicaoSemestreDiscipAux")
@WebResult(name = "getDisciplinasDaInstituicaoSemestreDiscipAuxResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "getDisciplinasDaInstituicaoSemestreDiscipAux", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetDisciplinasDaInstituicaoSemestreDiscipAux")
@ResponseWrapper(localName = "getDisciplinasDaInstituicaoSemestreDiscipAuxResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse")
public ArrayOfDisciplina getDisciplinasDaInstituicaoSemestreDiscipAux(
@WebParam(name = "codigoDiscip", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String codigoDiscip);
 
/**
*
* @param cdAluno
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfInscricao
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getInscricoesAux")
@WebResult(name = "getInscricoesAuxResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "getInscricoesAux", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetInscricoesAux")
@ResponseWrapper(localName = "getInscricoesAuxResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetInscricoesAuxResponse")
public ArrayOfInscricao getInscricoesAux(
@WebParam(name = "cdAluno", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdAluno);
 
/**
*
* @param cdLectivo
* @param cdDiscip
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfInscricao
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getInscricoesDisciplinaAux")
@WebResult(name = "getInscricoesDisciplinaAuxResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "getInscricoesDisciplinaAux", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetInscricoesDisciplinaAux")
@ResponseWrapper(localName = "getInscricoesDisciplinaAuxResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetInscricoesDisciplinaAuxResponse")
public ArrayOfInscricao getInscricoesDisciplinaAux(
@WebParam(name = "cdDiscip", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdDiscip,
@WebParam(name = "cdLectivo", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdLectivo);
 
/**
*
* @param cdTurma
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfTurma
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getTurmasAux")
@WebResult(name = "getTurmasAuxResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "getTurmasAux", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetTurmasAux")
@ResponseWrapper(localName = "getTurmasAuxResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetTurmasAuxResponse")
public ArrayOfTurma getTurmasAux(
@WebParam(name = "cdTurma", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdTurma);
 
/**
*
* @param cdCurso
* @return
* returns pt.ipportalegre.siges.web.services.ArrayOfTurma
*/
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getTurmasCursoAux")
@WebResult(name = "getTurmasCursoAuxResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
@RequestWrapper(localName = "getTurmasCursoAux", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetTurmasCursoAux")
@ResponseWrapper(localName = "getTurmasCursoAuxResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetTurmasCursoAuxResponse")
public ArrayOfTurma getTurmasCursoAux(
@WebParam(name = "cdCurso", targetNamespace = "http://www.ipportalegre.pt/siges/web/services")
String cdCurso);
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/ObjectFactory.java
30,35 → 30,35
}
 
/**
* Create an instance of {@link ArrayOfNota }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreDiscipAux }
*
*/
public ArrayOfNota createArrayOfNota() {
return new ArrayOfNota();
public GetDisciplinasDaInstituicaoSemestreDiscipAux createGetDisciplinasDaInstituicaoSemestreDiscipAux() {
return new GetDisciplinasDaInstituicaoSemestreDiscipAux();
}
 
/**
* Create an instance of {@link Aluno }
* Create an instance of {@link GetAlunoInscritoResponse }
*
*/
public Aluno createAluno() {
return new Aluno();
public GetAlunoInscritoResponse createGetAlunoInscritoResponse() {
return new GetAlunoInscritoResponse();
}
 
/**
* Create an instance of {@link SendSmsSeparatedWithComma }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoResponse }
*
*/
public SendSmsSeparatedWithComma createSendSmsSeparatedWithComma() {
return new SendSmsSeparatedWithComma();
public GetCodigosDisciplinasDaInstituicaoResponse createGetCodigosDisciplinasDaInstituicaoResponse() {
return new GetCodigosDisciplinasDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link Aula }
* Create an instance of {@link GetAulasResponse }
*
*/
public Aula createAula() {
return new Aula();
public GetAulasResponse createGetAulasResponse() {
return new GetAulasResponse();
}
 
/**
70,254 → 70,270
}
 
/**
* Create an instance of {@link GetDocente }
* Create an instance of {@link GetAlunoInscrito }
*
*/
public GetDocente createGetDocente() {
return new GetDocente();
public GetAlunoInscrito createGetAlunoInscrito() {
return new GetAlunoInscrito();
}
 
/**
* Create an instance of {@link AddAlunoLdapResponse }
* Create an instance of {@link Inscricao }
*
*/
public AddAlunoLdapResponse createAddAlunoLdapResponse() {
return new AddAlunoLdapResponse();
public Inscricao createInscricao() {
return new Inscricao();
}
 
/**
* Create an instance of {@link SendSmsSeparatedWithCommaResponse }
* Create an instance of {@link SendSmsSResponse }
*
*/
public SendSmsSeparatedWithCommaResponse createSendSmsSeparatedWithCommaResponse() {
return new SendSmsSeparatedWithCommaResponse();
public SendSmsSResponse createSendSmsSResponse() {
return new SendSmsSResponse();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre }
* Create an instance of {@link GetTurmasCursoAux }
*
*/
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() {
return new GetCodigosDisciplinasDaInstituicaoSemestre();
public GetTurmasCursoAux createGetTurmasCursoAux() {
return new GetTurmasCursoAux();
}
 
/**
* Create an instance of {@link Docente }
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao }
*
*/
public Docente createDocente() {
return new Docente();
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() {
return new GetCodigosAlunosInscritosDaInstituicao();
}
 
/**
* Create an instance of {@link GetAulas }
* Create an instance of {@link ArrayOfAula }
*
*/
public GetAulas createGetAulas() {
return new GetAulas();
public ArrayOfAula createArrayOfAula() {
return new ArrayOfAula();
}
 
/**
* Create an instance of {@link SendSms }
* Create an instance of {@link AddAlunoLdap }
*
*/
public SendSms createSendSms() {
return new SendSms();
public AddAlunoLdap createAddAlunoLdap() {
return new AddAlunoLdap();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicao }
* Create an instance of {@link GetSumarios }
*
*/
public GetCodigosDisciplinasDaInstituicao createGetCodigosDisciplinasDaInstituicao() {
return new GetCodigosDisciplinasDaInstituicao();
public GetSumarios createGetSumarios() {
return new GetSumarios();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre }
* Create an instance of {@link GetInscricoesDisciplinaAuxResponse }
*
*/
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() {
return new GetDisciplinasDaInstituicaoSemestre();
public GetInscricoesDisciplinaAuxResponse createGetInscricoesDisciplinaAuxResponse() {
return new GetInscricoesDisciplinaAuxResponse();
}
 
/**
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse }
* Create an instance of {@link ArrayOfAlunoHistorico }
*
*/
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() {
return new GetCodigosAlunosInscritosDaInstituicaoResponse();
public ArrayOfAlunoHistorico createArrayOfAlunoHistorico() {
return new ArrayOfAlunoHistorico();
}
 
/**
* Create an instance of {@link GetAlunoInscrito }
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse }
*
*/
public GetAlunoInscrito createGetAlunoInscrito() {
return new GetAlunoInscrito();
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() {
return new GetCodigosDocentesInscritosDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link ArrayOfAlunoHistorico }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse }
*
*/
public ArrayOfAlunoHistorico createArrayOfAlunoHistorico() {
return new ArrayOfAlunoHistorico();
public GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse createGetDisciplinasDaInstituicaoSemestreDiscipAuxResponse() {
return new GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse }
* Create an instance of {@link GetDocente }
*
*/
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() {
return new GetDisciplinasDaInstituicaoResponse();
public GetDocente createGetDocente() {
return new GetDocente();
}
 
/**
* Create an instance of {@link SendSmsSResponse }
* Create an instance of {@link GetTurmasCursoAuxResponse }
*
*/
public SendSmsSResponse createSendSmsSResponse() {
return new SendSmsSResponse();
public GetTurmasCursoAuxResponse createGetTurmasCursoAuxResponse() {
return new GetTurmasCursoAuxResponse();
}
 
/**
* Create an instance of {@link AddAlunoLdap }
* Create an instance of {@link ArrayOfNota }
*
*/
public AddAlunoLdap createAddAlunoLdap() {
return new AddAlunoLdap();
public ArrayOfNota createArrayOfNota() {
return new ArrayOfNota();
}
 
/**
* Create an instance of {@link GetSumarios }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicao }
*
*/
public GetSumarios createGetSumarios() {
return new GetSumarios();
public GetCodigosDisciplinasDaInstituicao createGetCodigosDisciplinasDaInstituicao() {
return new GetCodigosDisciplinasDaInstituicao();
}
 
/**
* Create an instance of {@link GetAulasResponse }
* Create an instance of {@link SendSmsResponse }
*
*/
public GetAulasResponse createGetAulasResponse() {
return new GetAulasResponse();
public SendSmsResponse createSendSmsResponse() {
return new SendSmsResponse();
}
 
/**
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse }
* Create an instance of {@link Disciplina }
*
*/
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() {
return new GetCodigosDocentesInscritosDaInstituicaoResponse();
public Disciplina createDisciplina() {
return new Disciplina();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoResponse }
* Create an instance of {@link LoadParesTurmaCursoResponse }
*
*/
public GetCodigosDisciplinasDaInstituicaoResponse createGetCodigosDisciplinasDaInstituicaoResponse() {
return new GetCodigosDisciplinasDaInstituicaoResponse();
public LoadParesTurmaCursoResponse createLoadParesTurmaCursoResponse() {
return new LoadParesTurmaCursoResponse();
}
 
/**
* Create an instance of {@link GetNotasResponse }
* Create an instance of {@link GetAulas }
*
*/
public GetNotasResponse createGetNotasResponse() {
return new GetNotasResponse();
public GetAulas createGetAulas() {
return new GetAulas();
}
 
/**
* Create an instance of {@link ArrayOfDecimal }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre }
*
*/
public ArrayOfDecimal createArrayOfDecimal() {
return new ArrayOfDecimal();
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() {
return new GetCodigosDisciplinasDaInstituicaoSemestre();
}
 
/**
* Create an instance of {@link GetAlunoInscritoResponse }
* Create an instance of {@link ArrayOfTurma }
*
*/
public GetAlunoInscritoResponse createGetAlunoInscritoResponse() {
return new GetAlunoInscritoResponse();
public ArrayOfTurma createArrayOfTurma() {
return new ArrayOfTurma();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse }
* Create an instance of {@link GetInscricoesAuxResponse }
*
*/
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() {
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse();
public GetInscricoesAuxResponse createGetInscricoesAuxResponse() {
return new GetInscricoesAuxResponse();
}
 
/**
* Create an instance of {@link GetDocenteResponse }
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse }
*
*/
public GetDocenteResponse createGetDocenteResponse() {
return new GetDocenteResponse();
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() {
return new GetDisciplinasDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao }
* Create an instance of {@link GetInscricoesAux }
*
*/
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() {
return new GetCodigosAlunosInscritosDaInstituicao();
public GetInscricoesAux createGetInscricoesAux() {
return new GetInscricoesAux();
}
 
/**
* Create an instance of {@link SendSmsS }
* Create an instance of {@link GetTurmasAux }
*
*/
public SendSmsS createSendSmsS() {
return new SendSmsS();
public GetTurmasAux createGetTurmasAux() {
return new GetTurmasAux();
}
 
/**
* Create an instance of {@link ArrayOfAula }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse }
*
*/
public ArrayOfAula createArrayOfAula() {
return new ArrayOfAula();
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() {
return new GetDisciplinasDaInstituicaoSemestreResponse();
}
 
/**
* Create an instance of {@link Disciplina }
* Create an instance of {@link ArrayOfTurmaCurso }
*
*/
public Disciplina createDisciplina() {
return new Disciplina();
public ArrayOfTurmaCurso createArrayOfTurmaCurso() {
return new ArrayOfTurmaCurso();
}
 
/**
* Create an instance of {@link AlunoHistorico }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse }
*
*/
public AlunoHistorico createAlunoHistorico() {
return new AlunoHistorico();
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() {
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse();
}
 
/**
* Create an instance of {@link Nota }
* Create an instance of {@link Aula }
*
*/
public Nota createNota() {
return new Nota();
public Aula createAula() {
return new Aula();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse }
* Create an instance of {@link Docente }
*
*/
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() {
return new GetDisciplinasDaInstituicaoSemestreResponse();
public Docente createDocente() {
return new Docente();
}
 
/**
* Create an instance of {@link SendSmsSeparatedWithCommaResponse }
*
*/
public SendSmsSeparatedWithCommaResponse createSendSmsSeparatedWithCommaResponse() {
return new SendSmsSeparatedWithCommaResponse();
}
 
/**
* Create an instance of {@link ArrayOfDisciplina }
*
*/
public ArrayOfDisciplina createArrayOfDisciplina() {
return new ArrayOfDisciplina();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicao }
*
*/
326,30 → 342,62
}
 
/**
* Create an instance of {@link SendSmsResponse }
* Create an instance of {@link TurmaCurso }
*
*/
public SendSmsResponse createSendSmsResponse() {
return new SendSmsResponse();
public TurmaCurso createTurmaCurso() {
return new TurmaCurso();
}
 
/**
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre }
*
*/
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() {
return new GetCodigosDocentesInscritosDaInstituicao();
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() {
return new GetDisciplinasDaInstituicaoSemestre();
}
 
/**
* Create an instance of {@link ArrayOfDisciplina }
* Create an instance of {@link GetDocenteResponse }
*
*/
public ArrayOfDisciplina createArrayOfDisciplina() {
return new ArrayOfDisciplina();
public GetDocenteResponse createGetDocenteResponse() {
return new GetDocenteResponse();
}
 
/**
* Create an instance of {@link GetNotasResponse }
*
*/
public GetNotasResponse createGetNotasResponse() {
return new GetNotasResponse();
}
 
/**
* Create an instance of {@link AlunoHistorico }
*
*/
public AlunoHistorico createAlunoHistorico() {
return new AlunoHistorico();
}
 
/**
* Create an instance of {@link ArrayOfInscricao }
*
*/
public ArrayOfInscricao createArrayOfInscricao() {
return new ArrayOfInscricao();
}
 
/**
* Create an instance of {@link Nota }
*
*/
public Nota createNota() {
return new Nota();
}
 
/**
* Create an instance of {@link ArrayOfString }
*
*/
358,6 → 406,22
}
 
/**
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao }
*
*/
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() {
return new GetCodigosDocentesInscritosDaInstituicao();
}
 
/**
* Create an instance of {@link Turma }
*
*/
public Turma createTurma() {
return new Turma();
}
 
/**
* Create an instance of {@link GetSumariosResponse }
*
*/
365,4 → 429,84
return new GetSumariosResponse();
}
 
/**
* Create an instance of {@link LoadParesTurmaCurso }
*
*/
public LoadParesTurmaCurso createLoadParesTurmaCurso() {
return new LoadParesTurmaCurso();
}
 
/**
* Create an instance of {@link Aluno }
*
*/
public Aluno createAluno() {
return new Aluno();
}
 
/**
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse }
*
*/
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() {
return new GetCodigosAlunosInscritosDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link AddAlunoLdapResponse }
*
*/
public AddAlunoLdapResponse createAddAlunoLdapResponse() {
return new AddAlunoLdapResponse();
}
 
/**
* Create an instance of {@link ArrayOfDecimal }
*
*/
public ArrayOfDecimal createArrayOfDecimal() {
return new ArrayOfDecimal();
}
 
/**
* Create an instance of {@link GetTurmasAuxResponse }
*
*/
public GetTurmasAuxResponse createGetTurmasAuxResponse() {
return new GetTurmasAuxResponse();
}
 
/**
* Create an instance of {@link GetInscricoesDisciplinaAux }
*
*/
public GetInscricoesDisciplinaAux createGetInscricoesDisciplinaAux() {
return new GetInscricoesDisciplinaAux();
}
 
/**
* Create an instance of {@link SendSmsS }
*
*/
public SendSmsS createSendSmsS() {
return new SendSmsS();
}
 
/**
* Create an instance of {@link SendSms }
*
*/
public SendSms createSendSms() {
return new SendSms();
}
 
/**
* Create an instance of {@link SendSmsSeparatedWithComma }
*
*/
public SendSmsSeparatedWithComma createSendSmsSeparatedWithComma() {
return new SendSmsSeparatedWithComma();
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/LoadParesTurmaCurso.java
New file
0,0 → 1,119
 
package pt.ipportalegre.siges.web.services;
 
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="codigoInstituicao" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cdLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdDuracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"codigoInstituicao",
"cdLectivo",
"cdDuracao"
})
@XmlRootElement(name = "loadParesTurmaCurso")
public class LoadParesTurmaCurso {
 
@XmlElement(required = true)
protected BigDecimal codigoInstituicao;
protected String cdLectivo;
protected String cdDuracao;
 
/**
* Gets the value of the codigoInstituicao property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCodigoInstituicao() {
return codigoInstituicao;
}
 
/**
* Sets the value of the codigoInstituicao property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCodigoInstituicao(BigDecimal value) {
this.codigoInstituicao = value;
}
 
/**
* Gets the value of the cdLectivo property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdLectivo() {
return cdLectivo;
}
 
/**
* Sets the value of the cdLectivo property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdLectivo(String value) {
this.cdLectivo = value;
}
 
/**
* Gets the value of the cdDuracao property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdDuracao() {
return cdDuracao;
}
 
/**
* Sets the value of the cdDuracao property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdDuracao(String value) {
this.cdDuracao = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/TurmaCurso.java
New file
0,0 → 1,144
 
package pt.ipportalegre.siges.web.services;
 
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for TurmaCurso complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="TurmaCurso">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cdLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdDuracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="codigoCurso" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cdTurma" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TurmaCurso", propOrder = {
"cdLectivo",
"cdDuracao",
"codigoCurso",
"cdTurma"
})
public class TurmaCurso {
 
protected String cdLectivo;
protected String cdDuracao;
@XmlElement(required = true)
protected BigDecimal codigoCurso;
protected String cdTurma;
 
/**
* Gets the value of the cdLectivo property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdLectivo() {
return cdLectivo;
}
 
/**
* Sets the value of the cdLectivo property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdLectivo(String value) {
this.cdLectivo = value;
}
 
/**
* Gets the value of the cdDuracao property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdDuracao() {
return cdDuracao;
}
 
/**
* Sets the value of the cdDuracao property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdDuracao(String value) {
this.cdDuracao = value;
}
 
/**
* Gets the value of the codigoCurso property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCodigoCurso() {
return codigoCurso;
}
 
/**
* Sets the value of the codigoCurso property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCodigoCurso(BigDecimal value) {
this.codigoCurso = value;
}
 
/**
* Gets the value of the cdTurma property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdTurma() {
return cdTurma;
}
 
/**
* Sets the value of the cdTurma property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdTurma(String value) {
this.cdTurma = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/Inscricao.java
New file
0,0 → 1,399
 
package pt.ipportalegre.siges.web.services;
 
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for Inscricao complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="Inscricao">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="CD_LECTIVO" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="CD_CURSO" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_ALUNO" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_DISCIP" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_DURACAO" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="CD_STATUS" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_CUR_DIS" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_TIP_INS" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_TIPDIS" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="CD_TIPO_ORIGEM" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="CD_TURMA_T" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="CD_TURMA_P" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="CD_TURMA_L" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Inscricao", propOrder = {
"cdlectivo",
"cdcurso",
"cdaluno",
"cddiscip",
"cdduracao",
"cdstatus",
"cdcurdis",
"cdtipins",
"cdtipdis",
"cdtipoorigem",
"cdturmat",
"cdturmap",
"cdturmal"
})
public class Inscricao {
 
@XmlElement(name = "CD_LECTIVO")
protected String cdlectivo;
@XmlElement(name = "CD_CURSO", required = true)
protected BigDecimal cdcurso;
@XmlElement(name = "CD_ALUNO", required = true)
protected BigDecimal cdaluno;
@XmlElement(name = "CD_DISCIP", required = true)
protected BigDecimal cddiscip;
@XmlElement(name = "CD_DURACAO")
protected String cdduracao;
@XmlElement(name = "CD_STATUS", required = true)
protected BigDecimal cdstatus;
@XmlElement(name = "CD_CUR_DIS", required = true)
protected BigDecimal cdcurdis;
@XmlElement(name = "CD_TIP_INS", required = true)
protected BigDecimal cdtipins;
@XmlElement(name = "CD_TIPDIS", required = true)
protected BigDecimal cdtipdis;
@XmlElement(name = "CD_TIPO_ORIGEM")
protected String cdtipoorigem;
@XmlElement(name = "CD_TURMA_T")
protected String cdturmat;
@XmlElement(name = "CD_TURMA_P")
protected String cdturmap;
@XmlElement(name = "CD_TURMA_L")
protected String cdturmal;
 
/**
* Gets the value of the cdlectivo property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDLECTIVO() {
return cdlectivo;
}
 
/**
* Sets the value of the cdlectivo property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDLECTIVO(String value) {
this.cdlectivo = value;
}
 
/**
* Gets the value of the cdcurso property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDCURSO() {
return cdcurso;
}
 
/**
* Sets the value of the cdcurso property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDCURSO(BigDecimal value) {
this.cdcurso = value;
}
 
/**
* Gets the value of the cdaluno property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDALUNO() {
return cdaluno;
}
 
/**
* Sets the value of the cdaluno property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDALUNO(BigDecimal value) {
this.cdaluno = value;
}
 
/**
* Gets the value of the cddiscip property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDDISCIP() {
return cddiscip;
}
 
/**
* Sets the value of the cddiscip property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDDISCIP(BigDecimal value) {
this.cddiscip = value;
}
 
/**
* Gets the value of the cdduracao property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDDURACAO() {
return cdduracao;
}
 
/**
* Sets the value of the cdduracao property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDDURACAO(String value) {
this.cdduracao = value;
}
 
/**
* Gets the value of the cdstatus property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDSTATUS() {
return cdstatus;
}
 
/**
* Sets the value of the cdstatus property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDSTATUS(BigDecimal value) {
this.cdstatus = value;
}
 
/**
* Gets the value of the cdcurdis property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDCURDIS() {
return cdcurdis;
}
 
/**
* Sets the value of the cdcurdis property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDCURDIS(BigDecimal value) {
this.cdcurdis = value;
}
 
/**
* Gets the value of the cdtipins property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDTIPINS() {
return cdtipins;
}
 
/**
* Sets the value of the cdtipins property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDTIPINS(BigDecimal value) {
this.cdtipins = value;
}
 
/**
* Gets the value of the cdtipdis property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCDTIPDIS() {
return cdtipdis;
}
 
/**
* Sets the value of the cdtipdis property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCDTIPDIS(BigDecimal value) {
this.cdtipdis = value;
}
 
/**
* Gets the value of the cdtipoorigem property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDTIPOORIGEM() {
return cdtipoorigem;
}
 
/**
* Sets the value of the cdtipoorigem property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDTIPOORIGEM(String value) {
this.cdtipoorigem = value;
}
 
/**
* Gets the value of the cdturmat property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDTURMAT() {
return cdturmat;
}
 
/**
* Sets the value of the cdturmat property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDTURMAT(String value) {
this.cdturmat = value;
}
 
/**
* Gets the value of the cdturmap property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDTURMAP() {
return cdturmap;
}
 
/**
* Sets the value of the cdturmap property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDTURMAP(String value) {
this.cdturmap = value;
}
 
/**
* Gets the value of the cdturmal property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCDTURMAL() {
return cdturmal;
}
 
/**
* Sets the value of the cdturmal property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCDTURMAL(String value) {
this.cdturmal = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/LoadParesTurmaCursoResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="loadParesTurmaCursoResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfTurmaCurso" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"loadParesTurmaCursoResult"
})
@XmlRootElement(name = "loadParesTurmaCursoResponse")
public class LoadParesTurmaCursoResponse {
 
protected ArrayOfTurmaCurso loadParesTurmaCursoResult;
 
/**
* Gets the value of the loadParesTurmaCursoResult property.
*
* @return
* possible object is
* {@link ArrayOfTurmaCurso }
*
*/
public ArrayOfTurmaCurso getLoadParesTurmaCursoResult() {
return loadParesTurmaCursoResult;
}
 
/**
* Sets the value of the loadParesTurmaCursoResult property.
*
* @param value
* allowed object is
* {@link ArrayOfTurmaCurso }
*
*/
public void setLoadParesTurmaCursoResult(ArrayOfTurmaCurso value) {
this.loadParesTurmaCursoResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetInscricoesDisciplinaAux.java
New file
0,0 → 1,89
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cdDiscip" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"cdDiscip",
"cdLectivo"
})
@XmlRootElement(name = "getInscricoesDisciplinaAux")
public class GetInscricoesDisciplinaAux {
 
protected String cdDiscip;
protected String cdLectivo;
 
/**
* Gets the value of the cdDiscip property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdDiscip() {
return cdDiscip;
}
 
/**
* Sets the value of the cdDiscip property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdDiscip(String value) {
this.cdDiscip = value;
}
 
/**
* Gets the value of the cdLectivo property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdLectivo() {
return cdLectivo;
}
 
/**
* Sets the value of the cdLectivo property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdLectivo(String value) {
this.cdLectivo = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetInscricoesAux.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cdAluno" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"cdAluno"
})
@XmlRootElement(name = "getInscricoesAux")
public class GetInscricoesAux {
 
protected String cdAluno;
 
/**
* Gets the value of the cdAluno property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdAluno() {
return cdAluno;
}
 
/**
* Sets the value of the cdAluno property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdAluno(String value) {
this.cdAluno = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/Turma.java
New file
0,0 → 1,227
 
package pt.ipportalegre.siges.web.services;
 
import java.math.BigDecimal;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for Turma complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="Turma">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="codigoTurma" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cdLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="codigoCurso" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cdDuracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdTurma" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="cdDisciplina" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="turmaUnica" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Turma", propOrder = {
"codigoTurma",
"cdLectivo",
"codigoCurso",
"cdDuracao",
"cdTurma",
"cdDisciplina",
"turmaUnica"
})
public class Turma {
 
@XmlElement(required = true)
protected BigDecimal codigoTurma;
protected String cdLectivo;
@XmlElement(required = true)
protected BigDecimal codigoCurso;
protected String cdDuracao;
protected String cdTurma;
@XmlElement(required = true)
protected BigDecimal cdDisciplina;
protected String turmaUnica;
 
/**
* Gets the value of the codigoTurma property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCodigoTurma() {
return codigoTurma;
}
 
/**
* Sets the value of the codigoTurma property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCodigoTurma(BigDecimal value) {
this.codigoTurma = value;
}
 
/**
* Gets the value of the cdLectivo property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdLectivo() {
return cdLectivo;
}
 
/**
* Sets the value of the cdLectivo property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdLectivo(String value) {
this.cdLectivo = value;
}
 
/**
* Gets the value of the codigoCurso property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCodigoCurso() {
return codigoCurso;
}
 
/**
* Sets the value of the codigoCurso property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCodigoCurso(BigDecimal value) {
this.codigoCurso = value;
}
 
/**
* Gets the value of the cdDuracao property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdDuracao() {
return cdDuracao;
}
 
/**
* Sets the value of the cdDuracao property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdDuracao(String value) {
this.cdDuracao = value;
}
 
/**
* Gets the value of the cdTurma property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdTurma() {
return cdTurma;
}
 
/**
* Sets the value of the cdTurma property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdTurma(String value) {
this.cdTurma = value;
}
 
/**
* Gets the value of the cdDisciplina property.
*
* @return
* possible object is
* {@link BigDecimal }
*
*/
public BigDecimal getCdDisciplina() {
return cdDisciplina;
}
 
/**
* Sets the value of the cdDisciplina property.
*
* @param value
* allowed object is
* {@link BigDecimal }
*
*/
public void setCdDisciplina(BigDecimal value) {
this.cdDisciplina = value;
}
 
/**
* Gets the value of the turmaUnica property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTurmaUnica() {
return turmaUnica;
}
 
/**
* Sets the value of the turmaUnica property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTurmaUnica(String value) {
this.turmaUnica = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetInscricoesAuxResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="getInscricoesAuxResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfInscricao" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"getInscricoesAuxResult"
})
@XmlRootElement(name = "getInscricoesAuxResponse")
public class GetInscricoesAuxResponse {
 
protected ArrayOfInscricao getInscricoesAuxResult;
 
/**
* Gets the value of the getInscricoesAuxResult property.
*
* @return
* possible object is
* {@link ArrayOfInscricao }
*
*/
public ArrayOfInscricao getGetInscricoesAuxResult() {
return getInscricoesAuxResult;
}
 
/**
* Sets the value of the getInscricoesAuxResult property.
*
* @param value
* allowed object is
* {@link ArrayOfInscricao }
*
*/
public void setGetInscricoesAuxResult(ArrayOfInscricao value) {
this.getInscricoesAuxResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetInscricoesDisciplinaAuxResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="getInscricoesDisciplinaAuxResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfInscricao" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"getInscricoesDisciplinaAuxResult"
})
@XmlRootElement(name = "getInscricoesDisciplinaAuxResponse")
public class GetInscricoesDisciplinaAuxResponse {
 
protected ArrayOfInscricao getInscricoesDisciplinaAuxResult;
 
/**
* Gets the value of the getInscricoesDisciplinaAuxResult property.
*
* @return
* possible object is
* {@link ArrayOfInscricao }
*
*/
public ArrayOfInscricao getGetInscricoesDisciplinaAuxResult() {
return getInscricoesDisciplinaAuxResult;
}
 
/**
* Sets the value of the getInscricoesDisciplinaAuxResult property.
*
* @param value
* allowed object is
* {@link ArrayOfInscricao }
*
*/
public void setGetInscricoesDisciplinaAuxResult(ArrayOfInscricao value) {
this.getInscricoesDisciplinaAuxResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetDisciplinasDaInstituicaoSemestreDiscipAux.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="codigoDiscip" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"codigoDiscip"
})
@XmlRootElement(name = "getDisciplinasDaInstituicaoSemestreDiscipAux")
public class GetDisciplinasDaInstituicaoSemestreDiscipAux {
 
protected String codigoDiscip;
 
/**
* Gets the value of the codigoDiscip property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCodigoDiscip() {
return codigoDiscip;
}
 
/**
* Sets the value of the codigoDiscip property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCodigoDiscip(String value) {
this.codigoDiscip = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetTurmasCursoAux.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cdCurso" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"cdCurso"
})
@XmlRootElement(name = "getTurmasCursoAux")
public class GetTurmasCursoAux {
 
protected String cdCurso;
 
/**
* Gets the value of the cdCurso property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdCurso() {
return cdCurso;
}
 
/**
* Sets the value of the cdCurso property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdCurso(String value) {
this.cdCurso = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="getDisciplinasDaInstituicaoSemestreDiscipAuxResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfDisciplina" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"getDisciplinasDaInstituicaoSemestreDiscipAuxResult"
})
@XmlRootElement(name = "getDisciplinasDaInstituicaoSemestreDiscipAuxResponse")
public class GetDisciplinasDaInstituicaoSemestreDiscipAuxResponse {
 
protected ArrayOfDisciplina getDisciplinasDaInstituicaoSemestreDiscipAuxResult;
 
/**
* Gets the value of the getDisciplinasDaInstituicaoSemestreDiscipAuxResult property.
*
* @return
* possible object is
* {@link ArrayOfDisciplina }
*
*/
public ArrayOfDisciplina getGetDisciplinasDaInstituicaoSemestreDiscipAuxResult() {
return getDisciplinasDaInstituicaoSemestreDiscipAuxResult;
}
 
/**
* Sets the value of the getDisciplinasDaInstituicaoSemestreDiscipAuxResult property.
*
* @param value
* allowed object is
* {@link ArrayOfDisciplina }
*
*/
public void setGetDisciplinasDaInstituicaoSemestreDiscipAuxResult(ArrayOfDisciplina value) {
this.getDisciplinasDaInstituicaoSemestreDiscipAuxResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetTurmasCursoAuxResponse.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="getTurmasCursoAuxResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfTurma" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"getTurmasCursoAuxResult"
})
@XmlRootElement(name = "getTurmasCursoAuxResponse")
public class GetTurmasCursoAuxResponse {
 
protected ArrayOfTurma getTurmasCursoAuxResult;
 
/**
* Gets the value of the getTurmasCursoAuxResult property.
*
* @return
* possible object is
* {@link ArrayOfTurma }
*
*/
public ArrayOfTurma getGetTurmasCursoAuxResult() {
return getTurmasCursoAuxResult;
}
 
/**
* Sets the value of the getTurmasCursoAuxResult property.
*
* @param value
* allowed object is
* {@link ArrayOfTurma }
*
*/
public void setGetTurmasCursoAuxResult(ArrayOfTurma value) {
this.getTurmasCursoAuxResult = value;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/ArrayOfTurmaCurso.java
New file
0,0 → 1,69
 
package pt.ipportalegre.siges.web.services;
 
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.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for ArrayOfTurmaCurso complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ArrayOfTurmaCurso">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="TurmaCurso" type="{http://www.ipportalegre.pt/siges/web/services}TurmaCurso" maxOccurs="unbounded" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfTurmaCurso", propOrder = {
"turmaCurso"
})
public class ArrayOfTurmaCurso {
 
@XmlElement(name = "TurmaCurso", nillable = true)
protected List<TurmaCurso> turmaCurso;
 
/**
* Gets the value of the turmaCurso property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the turmaCurso property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getTurmaCurso().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link TurmaCurso }
*
*
*/
public List<TurmaCurso> getTurmaCurso() {
if (turmaCurso == null) {
turmaCurso = new ArrayList<TurmaCurso>();
}
return this.turmaCurso;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/ArrayOfInscricao.java
New file
0,0 → 1,69
 
package pt.ipportalegre.siges.web.services;
 
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.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for ArrayOfInscricao complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ArrayOfInscricao">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="Inscricao" type="{http://www.ipportalegre.pt/siges/web/services}Inscricao" maxOccurs="unbounded" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfInscricao", propOrder = {
"inscricao"
})
public class ArrayOfInscricao {
 
@XmlElement(name = "Inscricao", nillable = true)
protected List<Inscricao> inscricao;
 
/**
* Gets the value of the inscricao property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the inscricao property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getInscricao().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Inscricao }
*
*
*/
public List<Inscricao> getInscricao() {
if (inscricao == null) {
inscricao = new ArrayList<Inscricao>();
}
return this.inscricao;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/ArrayOfTurma.java
New file
0,0 → 1,69
 
package pt.ipportalegre.siges.web.services;
 
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.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for ArrayOfTurma complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="ArrayOfTurma">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="Turma" type="{http://www.ipportalegre.pt/siges/web/services}Turma" maxOccurs="unbounded" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfTurma", propOrder = {
"turma"
})
public class ArrayOfTurma {
 
@XmlElement(name = "Turma", nillable = true)
protected List<Turma> turma;
 
/**
* Gets the value of the turma property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the turma property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getTurma().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link Turma }
*
*
*/
public List<Turma> getTurma() {
if (turma == null) {
turma = new ArrayList<Turma>();
}
return this.turma;
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/GetTurmasAux.java
New file
0,0 → 1,62
 
package pt.ipportalegre.siges.web.services;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cdTurma" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"cdTurma"
})
@XmlRootElement(name = "getTurmasAux")
public class GetTurmasAux {
 
protected String cdTurma;
 
/**
* Gets the value of the cdTurma property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getCdTurma() {
return cdTurma;
}
 
/**
* Sets the value of the cdTurma property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setCdTurma(String value) {
this.cdTurma = value;
}
 
}