/impl/importRoutines.xml |
---|
61,7 → 61,9 |
<!-- PONTUAIS --> |
<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="201415"/> |
</java> |
</target> |
<target name="setAreas"> |
/impl/conf/language/MessageResources.properties |
---|
160,6 → 160,7 |
fail.authenticate=O nome de utilizador ou a palavra passe estão errados. Por favor tente de novo. |
dontexist.authenticate=O utilizador já existe na rede interna mas ainda não está disponivel no sistema BACO, por favor dirija-se ao Centro Informático. |
top.separators=Separadores Públicos |
#palavras comuns |
courseunit=Unidade Curricular |
grade=Nota |
474,20 → 475,75 |
user.role.courseValidateProgramTGI=Comissão de Curso de TGI |
user.role.courseValidateProgramRU=Comissão de Curso de RU |
configuration.grades=Configuração Pautas |
configuration=Configurações |
configuration.directories=Configuração de Directórios |
configuration.directory=Directório |
directories.leaf.not.found=Nó não encontrado com o id {0} |
directories.removed.leaf=Nó {0} removido com sucesso. Necessita de gravar as alterações para tornar a operação definitiva. |
directories.add.leaf=Nó {0} adicionado com sucesso. Necessita de gravar as alterações para tornar a operação definitiva. |
directories.remove.ask=Têm a certeza que pretende eliminar este nó -> {0}? |
directories.add.right=Direito adicionado com sucesso, por favor atribua as permissões desejadas |
directories.remove.right=Direito removido com sucesso ({0},{1},{2}) |
directories.add.group=Grupo Adicionado cm sucesso, atribua um descritivo |
directories.remove.group=Grupo removido cm sucesso |
directories.refresh=Refrescar Página |
directories.confirm.save=Tem a certeza que deseja SALVAR as alterações? |
directories.confirm.cancel=Tem a certeza que deseja CANCELAR as alterações? |
directories.save=Salvar as Alterações |
directories.cancel=Cancelar e reverter |
directories.canceled=Operação cancelada |
directories.saved=Operação salva com sucesso |
##TAREFAS AGENDADAS |
configuration.tasks=Tarefas Agendadas |
configuration.task=Tarefa Agendada |
configuration.task.weekly=Semanalmente |
configuration.task.monthly=Mensalmente |
configuration.task.dally=Diariamente |
configuration.task.hour=Hora |
configuration.task.minute=Minuto |
configuration.task.second=Segundo |
configuration.task.weekday=Dia da semana |
configuration.task.monthday=Dia do Mês |
configuration.task.now=Agendar para correr agora |
configuration.task.records=Registos de Tarefas Agendadas |
configuration.task.log=Ficheiro de Registo |
configuration.task.progress=Progresso |
configuration.task.PENDING=Hora |
configuration.task.STARTED=Iniciada |
configuration.task.FINISHED=Terminada |
configuration.task.FAILED=Falhada |
configuration.task.UNKNOWN_ERROR=Terminada com erro desconhecido |
targetService.pt.estgp.estgweb.services.sigesimports.ImportTeachersService=Importação de Professores |
targetService.pt.estgp.estgweb.services.sigesimports.ImportStudentsService=Importação de Alunos |
targetService.pt.estgp.estgweb.services.sigesimports.ImportSummariesJson=Importação de Sumários |
targetService.pt.estgp.estgweb.services.sigesimports.ImportGradesService=Importação de Notas |
targetService.pt.estgp.estgweb.services.sigesimports.ImportCourseService=Importação de Cursos |
targetService.pt.estgp.estgweb.services.sigesimports.SincronizeLastYearCourseUnitProgramsService=Clonagem de Fichas Curriculares |
weekday.Mon=Segundas |
weekday.Tue=Terças |
weekday.Wed=Quartas |
weekday.Thu=Quintas |
weekday.Fri=Sextas |
weekday.Sat=Sabados |
weekday.Sun=Domingos |
monthday.day=ao dia |
weekday.day=às |
day.time=às |
509,3 → 565,21 |
/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
6,6 → 6,7 |
module.CourseUnits=Unidades Curriculares |
course={0} > |
courseunit={0} |
course.unit=Unidade Curricular |
course.nav.without.arrow={0} |
courseunit.security.not.implemented=N\u00e3o implementado por raz\u00f5es de seguran\u00e7a |
/impl/conf/WEB-INF/struts/struts-configuration.xml |
---|
New file |
0,0 → 1,73 |
<?xml version="1.0" encoding="UTF-8"?> |
<!--<!DOCTYPE struts-config PUBLIC--> |
<!--"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"--> |
<!--"http://struts.apache.org/dtds/struts-config_1_3.dtd">--> |
<struts-config> |
<form-beans> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm" name="ConfigurationGradesForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.DirectoriesForm" name="DirectoriesForm"/> |
<form-bean type="pt.estgp.estgweb.web.form.configuration.SchedulleTasksForm" name="SchedulleTasksForm"/> |
</form-beans> |
<global-exceptions> |
</global-exceptions> |
<global-forwards> |
</global-forwards> |
<action-mappings> |
<action path="/user/configurationGrades" forward="page.configuration.grades"/> |
<action path="/user/grades" |
type="pt.estgp.estgweb.web.controllers.configuration.GradesController" |
name="ConfigurationGradesForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.separators.serviceZone"> |
<forward name="save" path="page.separators.serviceZone"/> |
<forward name="grades" path="page.configuration.grades"/> |
</action> |
<action path="/user/configurationDirectories" forward="page.configuration.directories"/> |
<action path="/user/configurationDirectory" forward="page.configuration.directory"/> |
<action path="/user/configurationDir" |
type="pt.estgp.estgweb.web.controllers.configuration.DirectoriesController" |
name="DirectoriesForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.separators.serviceZone"> |
<forward name="save" path="page.separators.serviceZone"/> |
<forward name="directory" path="page.configuration.directory"/> |
<forward name="directories" path="page.configuration.directories"/> |
</action> |
<action path="/user/configurationSchedulleTasks" forward="page.configuration.tasks"/> |
<action path="/user/configurationTasks" |
type="pt.estgp.estgweb.web.controllers.configuration.SchedulerTasksController" |
name="SchedulleTasksForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.separators.serviceZone"> |
<forward name="save" path="page.separators.serviceZone"/> |
<forward name="tasks" path="page.configuration.tasks"/> |
<forward name="task" path="page.configuration.task"/> |
</action> |
</action-mappings> |
</struts-config> |
Property changes: |
Added: svn:executable |
+ * |
/impl/conf/WEB-INF/struts/tiles-configuration.xml |
---|
New file |
0,0 → 1,41 |
<?xml version="1.0" encoding="UTF-8" ?> |
<!--<!DOCTYPE tiles-definitions PUBLIC--> |
<!--"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"--> |
<!--"http://struts.apache.org/dtds/tiles-config_1_1.dtd">--> |
<tiles-definitions> |
<definition name="page.configuration.grades" extends="page.separators.serviceZone"> |
<put name="title" value="Configuração Notas"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationGrades.jsp"/> |
<put name="body" value="/admin/configuration/grades.jsp"/> |
</definition> |
<definition name="page.configuration.directories" extends="page.separators.serviceZone"> |
<put name="title" value="Configuração Directorios"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationDirectories.jsp"/> |
<put name="body" value="/admin/configuration/directories.jsp"/> |
</definition> |
<definition name="page.configuration.directory" extends="page.separators.serviceZone"> |
<put name="title" value="Directório"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationDirectory.jsp"/> |
<put name="body" value="/admin/configuration/directory.jsp"/> |
</definition> |
<definition name="page.configuration.tasks" extends="page.separators.serviceZone"> |
<put name="title" value="Tarefas Agendadas"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationTasks.jsp"/> |
<put name="body" value="/admin/configuration/tasks.jsp"/> |
</definition> |
<definition name="page.configuration.task" extends="page.separators.serviceZone"> |
<put name="title" value="Tarefa Agendada"/> |
<put name="topnav" value="/user/serviceZone/topnavConfigurationTask.jsp"/> |
<put name="body" value="/admin/configuration/task.jsp"/> |
</definition> |
</tiles-definitions> |
Property changes: |
Added: svn:executable |
+ * |
/impl/conf/WEB-INF/struts/struts-default.xml |
---|
210,7 → 210,8 |
/WEB-INF/struts/tiles-srusource.xml, |
/WEB-INF/struts/tiles-survey.xml, |
/WEB-INF/struts/tiles-processes.xml, |
/WEB-INF/struts/tiles-comunicationfolder.xml"/> <!-- Duarte Santos --> |
/WEB-INF/struts/tiles-comunicationfolder.xml, |
/WEB-INF/struts/tiles-configuration.xml"/> <!-- Duarte Santos --> |
</plug-in> |
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> |
/impl/conf/WEB-INF/web.xml |
---|
165,7 → 165,8 |
/WEB-INF/struts/struts-srusource.xml, |
/WEB-INF/struts/struts-survey.xml, <!-- Duarte Santos --> |
/WEB-INF/struts/struts-comunicationfolder.xml, |
/WEB-INF/struts/struts-processes.xml |
/WEB-INF/struts/struts-processes.xml, |
/WEB-INF/struts/struts-configuration.xml |
</param-value> |
</init-param> |
<init-param> |
/impl/conf/app.properties |
---|
10,6 → 10,7 |
user.session.timeout.minutes=60 |
site.url=@site.url@ |
#USAR APENAS ESTES DOIS EMAILS NAO DA PARA MAIS |
admin.email=ci@estgp.pt |
admin.email.2=jmachado@estgp.pt |
55,7 → 56,7 |
email.courseunit.blogpost.subject.pt={0}: {1} (ESTG) |
email.courseunit.blogpost.subject.en={0}: {1} (ESTG) |
email.new.grades=true |
email.new.grades=false |
email.courseunit.announcements=true |
email.courseunit.blogs=true |
126,6 → 127,8 |
server.ionline.start.path= |
ionline.pass=baco |
ionline.user=Baco_web |
ionline.use.default.credentials.to.updates.and.deletes=false |
ionline.use.default.credentials.to.read=false |
##ESTA CONFIGURACAO ESTA FUNCIONAL |
## Ver nos Ficheiros FtpService metodo run |
## Ver LayoutController |
137,14 → 140,15 |
## Todos o sistema de ficheiros tem codigo espalhado das classes FTPServer e FTPClient |
## Para se conseguir isolar o sistema deste código tem de se fazer um nivel de abstracao |
## e remover todos o código de FTPServer e FTPClient |
ionline.use.default.credentials.to.updates.and.deletes=false |
server.grupos=ftp://ftppublic:ftppublic@w2.estgp.pt |
server.grupos=ftp://w2.estgp.pt |
server.grupos.start.path=/grupos |
grupos.pass=ftppublic |
grupos.user=ftppublic |
grupos.use.default.credentials.to.read=true |
grupos.use.default.credentials.to.updates.and.deletes=false |
server.estgp.start.path= |
server.estgp=http://localhost:9090/static |
estgp.encoding=UTF-8 |
/impl/conf/template/email/GradeUnit.txt |
---|
3,4 → 3,4 |
# 0: Unidade |
# 1: Nota |
################################################## |
{0}:{1}; |
{0} {1} {2} {3} |
/impl/conf/directories/futureStudent.xml |
---|
1,82 → 1,87 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory label="Futuros Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="futureStudent" id="futureStudent" menuKey="menu.futuroAlunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/directory.xsd"> |
<directory label="Futuros Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="futureStudent" id="futureStudent" menuKey="menu.futuroAlunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<groupsDeclaration> |
<group>1</group> |
<group>2</group> |
<group> |
<name>1</name> |
<description>1</description> |
</group> |
<group> |
<name>2</name> |
<description>2</description> |
</group> |
</groupsDeclaration> |
<node label="A ESTG" id="ESTG" group="1"> |
<leaf absolute="false" url="/pagina.php?nome_id=MensagemDirector" proxy="conteudos" id="estgDirector" label="Mensagem do Director"></leaf> |
<leaf absolute="false" url="/public/portal/estgComoChegarEstg.html" proxy="estgp" id="estgChegar" label="Como Chegar à ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/estgPassado.html" proxy="estgp" id="estgPassado" label="O nosso Passado"></leaf> |
<leaf absolute="false" url="/public/portal/estgPresente.html" proxy="estgp" id="estgPresente" label="O Presente"></leaf> |
<leaf absolute="false" url="/public/portal/estgEdificio.html" proxy="estgp" id="estgCidade" label="O Edifício"></leaf> |
<leaf absolute="false" url="/public/portal/estgMissao.html" proxy="estgp" id="estgMissao" label="Missao"></leaf> |
<leaf absolute="false" url="/public/portal/estgFotos.html" proxy="estgp" id="estgFotos" label="Fotografias"></leaf> |
</node> |
<node label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf absolute="true" url="http://mail.estgp.pt/exchange/" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf> |
<leaf absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro Informático"></leaf> |
</node> |
<node label="Contactos" id="contactos" group="2"> |
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</node> |
<node label="Biblioteca" id="biblioteca" group="1"> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Colecções"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf> |
</node> |
<node label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Sectorial - Erasmus"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Actividades Elegiveis"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</node> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf node="true" label="A ESTG" id="ESTG" group="1"> |
<leaf node="false" absolute="false" url="/pagina.php?nome_id=MensagemDirector" proxy="conteudos" id="estgDirector" label="Mensagem do Director"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgComoChegarEstg.html" proxy="estgp" id="estgChegar" label="Como Chegar à ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgPassado.html" proxy="estgp" id="estgPassado" label="O nosso Passado"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgPresente.html" proxy="estgp" id="estgPresente" label="O Presente"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgEdificio.html" proxy="estgp" id="estgCidade" label="O Edifício"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgMissao.html" proxy="estgp" id="estgMissao" label="Missao"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/estgFotos.html" proxy="estgp" id="estgFotos" label="Fotografias"></leaf> |
</leaf> |
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf node="false" absolute="true" url="http://mail.estgp.pt/exchange/" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro Informático"></leaf> |
</leaf> |
<leaf node="true" label="Contactos" id="contactos" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</leaf> |
<leaf node="true" label="Biblioteca" id="biblioteca" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Colecções"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf> |
</leaf> |
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Sectorial - Erasmus"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Actividades Elegiveis"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</leaf> |
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Departamental"></leaf> |
</node> |
<node label="Informação Académica" id="infoAcademica" group="2"> |
<leaf absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
</node> |
<node label="O IPP" id="IPP" group="2"> |
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf> |
</node> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Departamental"></leaf> |
</leaf> |
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2"> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
</leaf> |
<leaf node="true" label="O IPP" id="IPP" group="2"> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf> |
</leaf> |
</directory> |
/impl/conf/directories/directory.xsd |
---|
1,6 → 1,8 |
<?xml version="1.0" encoding="UTF-8"?> |
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Jorge Machado (Escola Superior de tecnologia e Gestao, Portalegre) --> |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" targetNamespace="http://www.estgp.pt/baco/directory/" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" |
xmlns:xsl="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.estgp.pt/baco/directory/" |
elementFormDefault="qualified" attributeFormDefault="unqualified"> |
<xs:element name="directory"> |
<xs:annotation> |
<xs:documentation>This schema is to define information structured directories</xs:documentation> |
8,14 → 10,13 |
<xs:complexType> |
<xs:sequence> |
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:element name="leaf" type="leafT" maxOccurs="unbounded"/> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="id" type="xs:ID" use="required"/> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="place" use="required"/> |
<xs:attribute name="style" use="required"/> |
<xs:attribute name="layout" use="required"/> |
30,13 → 31,12 |
</xs:annotation> |
<xs:sequence> |
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:element name="leaf" type="leafT" maxOccurs="unbounded"/> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="group" use="optional"> |
<xs:annotation> |
<xs:documentation>Grouping purposes in styling</xs:documentation> |
65,18 → 65,19 |
<xs:documentation>A leaf is an URL for an external or internal WEB site</xs:documentation> |
</xs:annotation> |
<xs:sequence> |
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
<xs:annotation> |
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation> |
</xs:annotation> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:annotation> |
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation> |
</xs:annotation> |
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/> |
<xs:element name="leaf" type="leafT" minOccurs="0" maxOccurs="unbounded"/> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="url" type="xs:string" use="required"/> |
<xs:attribute name="node" type="xs:boolean" use="optional"/> |
<xs:attribute name="url" type="xs:string" use="optional"/> |
<xs:attribute name="id" type="xs:ID" use="required"/> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="xml" type="xs:boolean" use="optional"> |
<xs:annotation> |
<xs:documentation>False by default</xs:documentation> |
93,7 → 94,7 |
When style=false and layout=false external file will be directly writed in TopWindow</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="absolute" type="xs:boolean" use="required"> |
<xs:attribute name="absolute" type="xs:boolean" use="optional"> |
<xs:annotation> |
<xs:documentation>follow parameter will be evaluated only If this parameter is set to false</xs:documentation> |
</xs:annotation> |
139,11 → 140,36 |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
<!-- NODE ATTRIBUTES --> |
<xs:attribute name="showNav" type="xs:boolean" use="optional"> |
<xs:annotation> |
<xs:documentation>Show link to this node in navigation menus, true by default</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="type" use="optional"> |
<xs:annotation> |
<xs:documentation>Type of node, by default HTTP link</xs:documentation> |
</xs:annotation> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="ftp"/> |
<xs:enumeration value="http"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
</xs:complexType> |
<xs:complexType name="groupDeclarationT"> |
<xs:sequence> |
<xs:element name="group" maxOccurs="unbounded"/> |
<xs:element name="group" maxOccurs="unbounded"> |
<xs:complexType> |
<xs:sequence> |
<xs:element name="name" type="xs:string"/> |
<xs:element name="description" type="xs:string"/> |
</xs:sequence> |
</xs:complexType> |
</xs:element> |
</xs:sequence> |
</xs:complexType> |
<xs:complexType name="rightsT"> |
151,24 → 177,34 |
<xs:documentation>Rights define who is authorized to enter in a node</xs:documentation> |
</xs:annotation> |
<xs:sequence> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="role" type="rightT1"/> |
<xs:element name="user" type="rightT1"/> |
</xs:choice> |
<xs:element name="right" maxOccurs="unbounded"> |
<xs:complexType > |
<xs:annotation> |
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation> |
</xs:annotation> |
<xs:attribute name="target" use="required"> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="user"/> |
<xs:enumeration value="role"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
<xs:attribute name="type" use="required"> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="permit"/> |
<xs:enumeration value="restrict"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
<xs:attribute name="name" use="required" type="xs:string"/> |
</xs:complexType> |
</xs:element> |
<xs:element name="internal" type="xs:boolean" minOccurs="0"/> |
</xs:sequence> |
</xs:complexType> |
<xs:complexType name="rightT1" mixed="true"> |
<xs:annotation> |
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation> |
</xs:annotation> |
<xs:attribute name="type" use="required"> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="permit"/> |
<xs:enumeration value="restrict"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
</xs:complexType> |
</xs:schema> |
/impl/conf/directories/styleMapaDir.xsl |
---|
13,11 → 13,11 |
<td>ULR</td> |
<td width="20%">NOTAS</td> |
</tr> |
<xsl:for-each select="//d:node"> |
<xsl:for-each select="//d:leaf[@node='true']"> |
<tr> |
<td colspan="4" style="background-color:#aaaaaa"><xsl:value-of select="@label"/></td> |
</tr> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<tr> |
<td><xsl:text>-></xsl:text><xsl:value-of select="@label"/></td> |
<td> |
/impl/conf/directories/utilsIntranet.xml |
---|
1,22 → 1,23 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory place="intranetUtils" label="Utilitários" layout="layoutIntranetUtils" layoutRoot="layoutIntranetUtils" targetRole="student" id="utilsIntranet" menuKey="intranet.separator.utils" style="styleIntranet.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<leaf absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/> |
<leaf absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html"> |
<leaf absolute="false" label="Documentos de Apoio" layout="true" proxy="estgp" id="documentosApoio" url="/intranet/escola/secretaria/documentosApoio.html"/> |
<leaf absolute="false" label="Formulários [alunos]" layout="true" proxy="estgp" id="Forms.Alunos" url="/intranet/escola/secretaria/formulariosAlunos.html"/> |
<leaf absolute="false" label="Legislação" layout="true" proxy="estgp" id="legislacao" url="/intranet/escola/secretaria/legislacao.html"/> |
<leaf label="Folhas de Presenças" id="Folhas.Presencas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Folhas.Presencas"/> |
<leaf label="Projetos-AA,CA,GE,MKT" id="Projectos.Finais" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Projectos.Finais"/> |
<leaf label="Atas" id="Actas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Actas"/> |
<leaf node="false" absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/> |
<leaf node="false" absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html"> |
<leaf node="false" absolute="false" label="Documentos de Apoio" layout="true" proxy="estgp" id="documentosApoio" url="/intranet/escola/secretaria/documentosApoio.html"/> |
<leaf node="false" absolute="false" label="Formulários [alunos]" layout="true" proxy="estgp" id="Forms.Alunos" url="/intranet/escola/secretaria/formulariosAlunos.html"/> |
<leaf node="false" absolute="false" label="Legislação" layout="true" proxy="estgp" id="legislacao" url="/intranet/escola/secretaria/legislacao.html"/> |
<leaf node="false" label="Folhas de Presenças" id="Folhas.Presencas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Folhas.Presencas"/> |
<leaf node="false" label="Projetos-AA,CA,GE,MKT" id="Projectos.Finais" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Projectos.Finais"/> |
<leaf node="false" label="Atas" id="Actas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Actas"/> |
</leaf> |
<leaf absolute="false" label="Horários" layout="true" proxy="estgp" id="horarios" url="/intranet/escola/horarios.html"> |
<leaf absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/> |
<leaf absolute="false" label="Horários de Licenciaturas" layout="true" proxy="estgp" id="horariosLicenciaturas" url="/intranet/escola/horarios_licenciaturas.html"/> |
<leaf absolute="false" label="Horários de Mestrados" layout="true" proxy="estgp" id="horariosMestrados" url="/intranet/escola/horarios_mestrados.html"/> |
<leaf absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/> |
<leaf absolute="false" label="Horários de Salas" layout="true" proxy="estgp" id="horariosSalas" url="/intranet/escola/horarios_salas.html"/> |
<leaf node="false" absolute="false" label="Horários" layout="true" proxy="estgp" id="horarios" url="/intranet/escola/horarios.html"> |
<leaf node="false" absolute="false" label="Horários de CTeSP" layout="true" proxy="estgp" id="horariosCTeSP" url="/intranet/escola/horarios_ctesp.html"/> |
<leaf node="false" absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/> |
<leaf node="false" absolute="false" label="Horários de Licenciaturas" layout="true" proxy="estgp" id="horariosLicenciaturas" url="/intranet/escola/horarios_licenciaturas.html"/> |
<leaf node="false" absolute="false" label="Horários de Mestrados" layout="true" proxy="estgp" id="horariosMestrados" url="/intranet/escola/horarios_mestrados.html"/> |
<leaf node="false" absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/> |
<leaf node="false" absolute="false" label="Horários de Salas" layout="true" proxy="estgp" id="horariosSalas" url="/intranet/escola/horarios_salas.html"/> |
</leaf> |
<leaf label="Calendário Escolar" id="calEscolar" absolute="false" url="/public/portal/CL20102011.pdf" layout="false" proxy="estgp"/> |
<leaf absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/> |
<leaf absolute="false" label="Centro Informático" layout="true" proxy="estgp" id="ci" url="/intranet/escola/ci.html"/> |
<leaf node="false" label="Calendário Escolar" id="calEscolar" absolute="false" url="/public/portal/CL20102011.pdf" layout="false" proxy="estgp"/> |
<leaf node="false" absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/> |
<leaf node="false" absolute="false" label="Centro Informático" layout="true" proxy="estgp" id="ci" url="/intranet/escola/ci.html"/> |
</directory> |
/impl/conf/directories/student.xml |
---|
1,77 → 1,93 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory label="Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="student" id="student" menuKey="menu.alunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<groupsDeclaration> |
<group>1</group> |
<group>2</group> |
</groupsDeclaration> |
<node label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf> |
<leaf absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro informático"></leaf> |
</node> |
<node label="Contactos" id="contactos" group="2"> |
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</node> |
<node label="Biblioteca" id="biblioteca" group="1"> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contatos e Horários"></leaf> |
</node> |
<node label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</node> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Diretor"></leaf> |
<groupsDeclaration> |
<group> |
<name>1</name> |
<description>1</description> |
</group> |
<group> |
<name>2</name> |
<description>2</description> |
</group> |
</groupsDeclaration> |
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro informático"></leaf> |
</leaf> |
<leaf node="true" label="Contactos" id="contactos" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</leaf> |
<leaf node="true" label="Biblioteca" id="biblioteca" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contatos e Horários"></leaf> |
</leaf> |
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</leaf> |
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Diretor"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Interdepartamental"></leaf> |
</node> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Interdepartamental"></leaf> |
<rights> |
<right target="role" type="restrict" name="student"/> |
<internal>true</internal> |
</rights> |
</leaf> |
<node label="Informação Académica" id="infoAcademica" group="2"> |
<leaf absolute="false" url="/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
</node> |
<node label="O IPP" id="IPP" group="1"> |
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf> |
</node> |
<node label="Departamentos" id="departamentos" group="2"> |
<leaf absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf> |
<leaf absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf> |
</node> |
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
<rights> |
<right target="user" type="restrict" name="jmachado"/> |
</rights> |
</leaf> |
<leaf node="true" label="O IPP" id="IPP" group="1"> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf> |
</leaf> |
<leaf node="true" label="Departamentos" id="departamentos" group="2"> |
<leaf node="false" absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf> |
<leaf node="false" absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf> |
</leaf> |
<rights> |
<right target="role" type="permit" name="admin"/> |
<right target="role" type="restrict" name="student"/> |
</rights> |
</directory> |
/impl/conf/directories/utils.xsl |
---|
11,7 → 11,7 |
</a> |
</xsl:template> |
<xsl:template match="d:node" mode="link"> |
<xsl:template match="d:leaf[@node='true']" mode="link"> |
<a> |
<xsl:attribute name="href"> |
<xsl:choose> |
26,14 → 26,14 |
<xsl:apply-templates select="." mode="label"/> |
</a> |
</xsl:template> |
<xsl:template match="d:leaf" mode="link"> |
<xsl:template match="d:leaf[@node='false']" mode="link"> |
<a> |
<xsl:attribute name="href"> |
<xsl:choose> |
<xsl:when test="string(@absolute)='true'"> |
<xsl:value-of select="@url"/> |
</xsl:when> |
<xsl:when test="@idPrefixSize"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when> |
<xsl:when test="@idPrefixSize"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when> |
<xsl:when test="@remoteExtensionRoot='true'"><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:when> |
<xsl:otherwise><xsl:value-of select="$dirStartPath"/><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/><xsl:value-of select="@url"/></xsl:otherwise> |
</xsl:choose> |
41,12 → 41,24 |
<xsl:apply-templates select="." mode="label"/> |
</a> |
</xsl:template> |
<!-- |
- A variavel de ambiente dirStartPath é o contextPath + /dir |
- Os templates linkparent tem por objectivo escrever toda a hierarquia de ID's até ao elemento directory |
- Todos os nós que trazem o atributo idPrefixSize significa que foram extendidos a partir de um FTP |
não são orginais do XML do directório |
- por exemplo para o id gerado FTP_4_DTP será |
um elemento representativo de uma pasta DTP, o id é unico porque 4 é a profundidade onde ele |
está logo o par 4 + DTP é único supostamente a menos que alguém vá criar uma pasta com este nome |
o que é quase impossivel |
substring(@id,@idPrefixSize+1) este código com o id de exemplo vai originar DTP no link |
--> |
<xsl:template match="d:directory" mode="linkParent">/<xsl:value-of select="@id"/></xsl:template> |
<xsl:template match="d:node" mode="linkParent"> |
<xsl:template match="d:leaf[@node='true']" mode="linkParent"> |
<xsl:choose> |
<xsl:when test="@idPrefixSize"><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when> |
<xsl:otherwise><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:otherwise> |
55,11 → 67,11 |
<xsl:template match="d:leaf" mode="linkParent"> |
<xsl:template match="d:leaf[@node='false']" mode="linkParent"> |
<xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/> |
</xsl:template> |
<xsl:template match="d:leaf" mode="bodyContent"> |
<xsl:template match="d:leaf[@node='false']" mode="bodyContent"> |
<xsl:choose> |
<xsl:when test="string(@xml) = 'true'"> |
<xsl:variable name="bodyDoc" select="document($includeXML)"/> |
74,10 → 86,10 |
<xsl:template match="d:directory" mode="label"> |
<xsl:value-of select="@label"/> |
</xsl:template> |
<xsl:template match="d:node" mode="label"> |
<xsl:template match="d:leaf[@node='true']" mode="label"> |
<xsl:value-of select="@label"/> |
</xsl:template> |
<xsl:template match="d:leaf" mode="label"> |
<xsl:template match="d:leaf[@node='false']" mode="label"> |
<xsl:value-of select="@label"/> |
</xsl:template> |
/impl/conf/directories/style1.xsl |
---|
247,7 → 247,7 |
<xsl:apply-templates select="." mode="childs"/> |
</xsl:template> |
<xsl:template match="d:node" mode="root"> |
<xsl:template match="d:leaf[@node='true']" mode="root"> |
<xsl:apply-templates select="." mode="topNav"/> |
<table cellpadding="0" cellspacing="0" width="100%" border="0"> |
<tr> |
267,11 → 267,11 |
<table class="columnTable"> |
<tr> |
<td class="column"> |
<xsl:if test="d:leaf"> |
<xsl:if test="d:leaf[@node='false']"> |
<div class="block links"> |
<p><xsl:call-template name="leafsBlockLabel"/></p> |
<ul> |
<xsl:for-each select="d:leaf"> |
<xsl:for-each select="d:leaf[@node='false']"> |
<li> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
280,13 → 280,13 |
</div> |
</xsl:if> |
</td> |
<xsl:if test="d:node"> |
<xsl:if test="d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="d:groupsDeclaration"> |
<xsl:for-each select="d:groupsDeclaration/d:group"> |
<xsl:when test="d:groupsDeclaration/d:group/d:name"> |
<xsl:for-each select="d:groupsDeclaration/d:group/d:name"> |
<tr> |
<xsl:variable name="group" select="."/> |
<xsl:for-each select="../../d:node[@group=$group]"> |
<xsl:for-each select="../../../d:leaf[@node='true' and @group=$group]"> |
<td class="column"> |
<xsl:apply-templates select="." mode="block"/> |
</td> |
295,7 → 295,7 |
</xsl:for-each> |
</xsl:when> |
<xsl:otherwise> |
<xsl:for-each select="d:node"> |
<xsl:for-each select="d:leaf[@node='true']"> |
<td class="column"> |
<xsl:apply-templates select="." mode="block"/> |
</td> |
307,15 → 307,15 |
</table> |
</xsl:template> |
<xsl:template match="d:node" mode="childs"> |
<xsl:template match="d:leaf[@node='true']" mode="childs"> |
<table class="columnTable"> |
<tr> |
<td class="column"> |
<xsl:if test="d:leaf"> |
<xsl:if test="d:leaf[@node='false']"> |
<div class="block links"> |
<p><xsl:call-template name="leafsBlockLabel"/></p> |
<ul> |
<xsl:for-each select="d:leaf"> |
<xsl:for-each select="d:leaf[@node='false']"> |
<li> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
324,13 → 324,13 |
</div> |
</xsl:if> |
</td> |
<xsl:if test="d:node"> |
<xsl:if test="d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="d:groupsDeclaration"> |
<xsl:for-each select="d:groupsDeclaration/d:group"> |
<xsl:when test="d:groupsDeclaration/d:group/d:name"> |
<xsl:for-each select="d:groupsDeclaration/d:group/d:name"> |
<tr> |
<xsl:variable name="group" select="."/> |
<xsl:for-each select="../../d:node[@group=$group]"> |
<xsl:for-each select="../../../d:leaf[@node='true' and @group=$group]"> |
<td class="column"> |
<xsl:apply-templates select="." mode="block"/> |
</td> |
339,7 → 339,7 |
</xsl:for-each> |
</xsl:when> |
<xsl:otherwise> |
<xsl:for-each select="d:node"> |
<xsl:for-each select="d:leaf[@node='true']"> |
<td class="column"> |
<xsl:apply-templates select="." mode="block"/> |
</td> |
351,16 → 351,16 |
</table> |
</xsl:template> |
<xsl:template match="d:node" mode="block"> |
<xsl:template match="d:leaf[@node='true']" mode="block"> |
<div class="block"> |
<p><xsl:apply-templates select="." mode="link"/></p> |
<ul> |
<xsl:for-each select="d:leaf"> |
<xsl:for-each select="d:leaf[@node='false']"> |
<li> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:for-each> |
<xsl:for-each select="d:node"> |
<xsl:for-each select="d:leaf[@node='true']"> |
<li> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
373,7 → 373,7 |
| Página de Apresentação de uma Folha no Corpo da Página |
=========================================================== |
--> |
<xsl:template match="d:leaf" mode="root"> |
<xsl:template match="d:leaf[@node='false']" mode="root"> |
<xsl:apply-templates select="." mode="topNav"/> |
<table id="bigTable" cellspacing="0" cellpadding="0"> |
<tr> |
417,12 → 417,12 |
Tamanho |
</th> |
</tr> |
<xsl:apply-templates select="./d:leaf[@ftpDirectory='true']" mode="ftpLine"/> |
<xsl:apply-templates select="./d:leaf[@ftpDirectory='false']" mode="ftpLine"/> |
<xsl:apply-templates select="./d:leaf[@node='false' and @ftpDirectory='true']" mode="ftpLine"/> |
<xsl:apply-templates select="./d:leaf[@node='false' and @ftpDirectory='false']" mode="ftpLine"/> |
</table> |
</div> |
</xsl:template> |
<xsl:template match="d:leaf" mode="ftpLine"> |
<xsl:template match="d:leaf[@node='false']" mode="ftpLine"> |
<xsl:choose> |
<xsl:when test="./@ftpDirectory='true'"> |
<tr class="dir"> |
451,7 → 451,7 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:template> |
<xsl:template match="d:leaf" mode="mime"> |
<xsl:template match="d:leaf[@node='false']" mode="mime"> |
<img> |
<xsl:attribute name="alt"><xsl:value-of select="."/></xsl:attribute> |
<xsl:attribute name="src"> |
490,7 → 490,7 |
--> |
<xsl:template match="d:leaf" mode="topNav"> |
<xsl:template match="d:leaf[@node='false']" mode="topNav"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBack"/> |
502,7 → 502,7 |
</div> |
</xsl:template> |
<xsl:template match="d:node" mode="topNav"> |
<xsl:template match="d:leaf[@node='true']" mode="topNav"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBack"/> |
529,7 → 529,7 |
</div>--> |
</xsl:template> |
<xsl:template match="d:leaf" mode="topNavRemote"> |
<xsl:template match="d:leaf[@node='false']" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<li class="navPlace"> |
538,7 → 538,7 |
</div> |
</xsl:template> |
<xsl:template match="d:node" mode="topNavRemote"> |
<xsl:template match="d:leaf[@node='true']" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
561,7 → 561,7 |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBack"> |
<xsl:template match="d:leaf[@node='true']" mode="navBack"> |
<xsl:apply-templates select=".." mode="navBack"/> |
<li class="navPlace"> |
570,7 → 570,7 |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBack"> |
<xsl:template match="d:leaf[@node='false']" mode="navBack"> |
<xsl:apply-templates select=".." mode="navBack"/> |
<li class="navPlace"> |
579,12 → 579,12 |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBackRemote"> |
<xsl:template match="d:leaf[@node='false']" mode="navBackRemote"> |
<li class="navPlace"> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBackRemote"> |
<xsl:template match="d:leaf[@node='true']" mode="navBackRemote"> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
<li class="navPlace"> |
> |
597,15 → 597,15 |
| Barra de Navegação Lateral Esquerda |
=========================================================== |
--> |
<xsl:template match="d:node" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<xsl:template match="d:leaf[@node='true']" mode="latNav"> |
<!--<xsl:if test="./d:leaf or ./d:node">--> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
619,24 → 619,24 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
<!--</xsl:if>--> |
</xsl:template> |
<xsl:template match="d:leaf" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<xsl:template match="d:leaf[@node='false']" mode="latNav"> |
<!--<xsl:if test="./d:leaf or ./d:node">--> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
650,24 → 650,24 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
<!--</xsl:if>--> |
</xsl:template> |
<xsl:template match="d:directory" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<!--<xsl:if test="./d:leaf or ./d:node">--> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
681,14 → 681,14 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<li class="navPlace"><xsl:call-template name="linkPrefix"/><xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
<!--</xsl:if>--> |
</xsl:template> |
<xsl:template name="linkPrefix"> |
701,9 → 701,9 |
--> |
<xsl:template name="treeRoot"> |
<xsl:if test="/d:directory/d:node"> |
<xsl:if test="/d:directory/d:leaf[@node='true']"> |
<ul> |
<xsl:for-each select="/d:directory/d:node"> |
<xsl:for-each select="/d:directory/d:leaf[@node='true']"> |
<li> |
<xsl:apply-templates select="." mode="treeLoop"/> |
</li> |
712,20 → 712,20 |
</xsl:if> |
</xsl:template> |
<xsl:template match="d:node" mode="treeLoop"> |
<xsl:template match="d:leaf[@node='true']" mode="treeLoop"> |
<div> |
<xsl:if test="$ACTUAL=@id"> |
<xsl:attribute name="style">background-color:yellow</xsl:attribute> |
</xsl:if> |
<p><xsl:value-of select="@label"/></p> |
<xsl:if test="./d:leaf"> |
<xsl:for-each select="./d:leaf"> |
<xsl:if test="./d:leaf[@node='false']"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<xsl:apply-templates select="." mode="tree"/> |
</xsl:for-each> |
</xsl:if> |
<xsl:if test="./d:node"> |
<xsl:if test="./d:leaf[@node='true']"> |
<ul> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<li> |
<xsl:apply-templates select="." mode="treeLoop"/> |
</li> |
735,7 → 735,7 |
</div> |
</xsl:template> |
<xsl:template match="d:leaf" mode="tree"> |
<xsl:template match="d:leaf[@node='false']" mode="tree"> |
<div> |
<xsl:if test="$ACTUAL=@id"> |
<xsl:attribute name="style">background-color:yellow</xsl:attribute> |
/impl/conf/directories/topMenus.xml |
---|
New file |
0,0 → 1,50 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory id="topMenus" label="Menus de Top" place="home" layout="" layoutRoot="" targetRole="" menuKey="" style="topMenus.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<leaf node="true" label="Apresentação" id="app"> |
<leaf node="false" id="msgDir" label="Mensagem do Director" absolute="false" url="/dir/futureStudent/ESTG/estgDirector/public/portal/estgMensagemDirector.html" proxy="local"/> |
<leaf node="false" id="missao" label="A ESTG e a sua missão" absolute="false" url="/dir/futureStudent/ESTG/estgMissao/public/portal/estgMissao.html" proxy="local"/> |
<leaf node="false" id="historia" label="História" absolute="false" url="/dir/futureStudent/ESTG/estgPassado/public/portal/estgPassado.html" proxy="local"/> |
<leaf node="false" id="localizacao" label="Localização" absolute="false" url="/dir/futureStudent/ESTG/estgChegar/public/portal/estgComoChegarEstg.html" proxy="local"/> |
<leaf node="false" id="fotos" label="A ESTG em Fotografias" absolute="false" url="/dir/futureStudent/ESTG/estgFotos/public/portal/estgFotos.html" proxy="local"/> |
</leaf> |
<leaf node="true" label="Organização" id="org"> |
<leaf node="false" id="director" label="Director" absolute="false" url="/dir/student/OrgaosGestao/orgaosDirector/public/portal/orgaoDirector.html" proxy="local"/> |
<leaf node="false" id="ctc" label="Conselho Tecnico Cientifico" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoTecnicoCientifico/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="local"/> |
<leaf node="false" id="cr" label="Conselho de Representantes" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoRepresentantes/public/portal/orgaosConselhoRepresentantes.html" proxy="local"/> |
<leaf node="false" id="cp" label="Conselho Pedagógico" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhoPedagogico/public/portal/orgaosConselhoPedagogico.html" proxy="local"/> |
<leaf node="false" id="cg" label="Conselho de Gestão" absolute="false" url="/dir/student/OrgaosGestao/orgaosConselhogestao/public/portal/orgaosConselhoGestao.html" proxy="local"/> |
<leaf node="false" id="cint" label="Conselho Interdepartamental" absolute="false" url="/dir/teacher/OrgaosGestao/orgaosConselhoInterdepartamental/public/portal/orgaosConselhoInterdepartamental.html" proxy="local"/> |
</leaf> |
<leaf node="true" label="Departamentos" id="departamentos"> |
<leaf node="false" id="dtd" label="Tecnologia e Design" absolute="false" url="/dir/student/departamentos/depTD/public/departamentos/depTD.html" proxy="local"/> |
<leaf node="false" id="cesh" label="Ciencias Empresariais Sociais e Humanas" absolute="false" url="/dir/student/departamentos/depTD/public/departamentos/depCESH.html" proxy="local"/> |
</leaf> |
<leaf node="true" label="Ensino" id="ensino"> |
<leaf node="false" id="lecenciaturas" label="Licenciaturas" absolute="false" url="/courses?type=L" proxy="local"/> |
<leaf node="false" id="mestrados" label="Mestrados" absolute="false" url="/courses?type=M" proxy="local"/> |
<leaf node="false" id="accurtadur" label="Acções de Formação de Curta Duração" absolute="false" url="/courses?type=C" proxy="local"/> |
<leaf node="false" id="cet" label="CET" absolute="false" url="/courses?type=E" proxy="local"/> |
<leaf node="false" id="favanc" label="Formações Avançadas" absolute="false" url="/courses?type=A" proxy="local"/> |
<leaf node="false" id="pgrad" label="Pós Graduação" absolute="false" url="/courses?type=P" proxy="local"/> |
<leaf node="false" id="tesp" label="TeSP" absolute="false" url="/courses?type=T" proxy="local"/> |
</leaf> |
<leaf node="true" label="I&D" id="ied"> |
<leaf node="false" id="poliempreende" label="Poliempreende" absolute="true" url="http://www.ipportalegre.pt/poliempreende/" proxy="local"/> |
<leaf node="false" id="alimentsaud" label="Alimentação Saudável" absolute="true" url="http://alimentacaosaudavel.ipportalegre.pt" proxy="local"/> |
<leaf node="false" id="c3i" label="C3i" absolute="true" url="http://www.c3i.ipportalegre.pt/" proxy="local"/> |
</leaf> |
<leaf node="false" id="contactos" label="Contactos" absolute="false" url="/dir/student/contactos/contGerais/public/portal/contactosGeraisEstg.html" proxy="local"/> |
<leaf node="true" label="O Politécnico" id="politecnico"> |
<leaf node="false" id="ipp" label="Instituto Politécnico de Portalegre" absolute="true" url="http://www.ipportalegre.pt/" proxy="local"/> |
<leaf node="false" id="esep" label="E. S. Educação" absolute="true" url="http://www.esep.pt/" proxy="local"/> |
<leaf node="false" id="esae" label="E. S. Agrária de Elvas" absolute="true" url="http://www.esaelvas.pt/" proxy="local"/> |
<leaf node="false" id="essp" label="E. S. Saúde" absolute="true" url="http://www.essp.pt/" proxy="local"/> |
<leaf node="false" id="sas" label="SAS" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="local"/> |
</leaf> |
</directory> |
/impl/conf/directories/styleIntranet.xsl |
---|
12,7 → 12,7 |
</xsl:template> |
<xsl:template match="d:leaf" mode="topNav"> |
<xsl:template match="d:leaf[@node='false']" mode="topNav"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<div id="topnav"> |
<ul> |
26,7 → 26,7 |
</xsl:if> |
</xsl:template> |
<xsl:template match="d:node" mode="topNav"> |
<xsl:template match="d:leaf[@node='true']" mode="topNav"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<div id="topnav"> |
<ul> |
48,7 → 48,7 |
</xsl:template> |
<xsl:template match="d:leaf" mode="topNavRemote"> |
<xsl:template match="d:leaf[@node='false']" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<li class="navPlace"> |
57,7 → 57,7 |
</div> |
</xsl:template> |
<xsl:template match="d:node" mode="topNavRemote"> |
<xsl:template match="d:leaf[@node='true']" mode="topNavRemote"> |
<div id="topnav"> |
<ul> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
80,7 → 80,7 |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBack"> |
<xsl:template match="d:leaf[@node='true']" mode="navBack"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<xsl:apply-templates select=".." mode="navBack"/> |
</xsl:if> |
94,7 → 94,7 |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBack"> |
<xsl:template match="d:leaf[@node='false']" mode="navBack"> |
<xsl:if test="not(local-name(..) = 'directory')"> |
<xsl:apply-templates select=".." mode="navBack"/> |
</xsl:if> |
107,12 → 107,12 |
</li> |
</xsl:template> |
<xsl:template match="d:leaf" mode="navBackRemote"> |
<xsl:template match="d:leaf[@node='false']" mode="navBackRemote"> |
<li class="navPlace"> |
<xsl:apply-templates select="." mode="link"/> |
</li> |
</xsl:template> |
<xsl:template match="d:node" mode="navBackRemote"> |
<xsl:template match="d:leaf[@node='true']" mode="navBackRemote"> |
<xsl:apply-templates select=".." mode="navBackRemote"/> |
<li class="navPlace"> |
> |
125,15 → 125,15 |
| Barra de Navegação Lateral Esquerda |
=========================================================== |
--> |
<xsl:template match="d:node" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<xsl:template match="d:leaf[@node='true']" mode="latNav"> |
<!--<xsl:if test="./d:leaf or ./d:node">--> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
147,24 → 147,24 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
<!--</xsl:if>--> |
</xsl:template> |
<xsl:template match="d:leaf" mode="latNav"> |
<xsl:if test="./d:leaf or ./d:node"> |
<xsl:template match="d:leaf[@node='false']" mode="latNav"> |
<!--<xsl:if test="./d:leaf or ./d:node">--> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul id="portalMenu"> |
<xsl:for-each select="./d:node"> |
<xsl:for-each select="./d:leaf[@node='true']"> |
<xsl:choose> |
<xsl:when test="@id = $ACTUAL"> |
<li class="navPlace selected"> |
178,14 → 178,14 |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
<xsl:for-each select="./d:leaf"> |
<xsl:for-each select="./d:leaf[@node='false']"> |
<li class="navPlace"><xsl:apply-templates select="." mode="link"/></li> |
</xsl:for-each> |
</ul> |
</div> |
</div> |
</div> |
</xsl:if> |
<!--</xsl:if>--> |
</xsl:template> |
/impl/conf/directories/teacher.xml |
---|
1,74 → 1,80 |
<?xml version="1.0" encoding="UTF-8"?> |
<directory label="Docentes" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="teacher" id="teacher" menuKey="menu.docentes" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<groupsDeclaration> |
<group>1</group> |
<group>2</group> |
</groupsDeclaration> |
<node label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf absolute="true" url="http://assiduidade.ipportalegre.pt/mymillenium/" proxy="estgp" id="servPortalAssiduidade" label="Portal de Assiduidade"></leaf> |
<leaf absolute="true" url="http://sisgor.ipportalegre.pt/" proxy="estgp" id="servSisgom" label="Sisgor Ocorrências"></leaf> |
<leaf absolute="true" url="https://www.siadap.gov.pt/" proxy="estgp" id="siadap" label="Siadap"></leaf> |
</node> |
<node label="Contactos" id="contactos" group="2"> |
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</node> |
<node label="Biblioteca" id="biblioteca" group="1"> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf> |
</node> |
<node label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf absolute="false" url="/public/portal/PALVErasmusDocentesEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusDocentesEstrangeiros" label="Os Docentes Estrangeiros na ESTG"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusDocentesESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroDocentes" label="Os Docentes da ESTG no Estrangeiro"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioDocentes.html" proxy="estgp" id="PALVErasmusFomularioDocentes" label="Formulários Docentes"></leaf> |
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</node> |
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoInterdepartamental" label="Conselho Interdepartamental"></leaf> |
</node> |
<node label="Informação Académica" id="infoAcademica" group="2"> |
<leaf absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
</node> |
<node label="O IPP" id="IPP" group="1"> |
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Ação Social"></leaf> |
</node> |
<node label="Departamentos" id="departamentos" group="2"> |
<leaf absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf> |
<leaf absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf> |
</node> |
<groupsDeclaration> |
<group> |
<name>1</name> |
<description>1</description> |
</group> |
<group> |
<name>2</name> |
<description>2</description> |
</group> |
</groupsDeclaration> |
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1"> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
<leaf node="false" absolute="true" url="http://assiduidade.ipportalegre.pt/mymillenium/" proxy="estgp" id="servPortalAssiduidade" label="Portal de Assiduidade"></leaf> |
<leaf node="false" absolute="true" url="http://sisgor.ipportalegre.pt/" proxy="estgp" id="servSisgom" label="Sisgor Ocorrências"></leaf> |
<leaf node="false" absolute="true" url="https://www.siadap.gov.pt/" proxy="estgp" id="siadap" label="Siadap"></leaf> |
</leaf> |
<leaf node="true" label="Contactos" id="contactos" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf> |
</leaf> |
<leaf node="true" label="Biblioteca" id="biblioteca" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf> |
</leaf> |
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2"> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusDocentesEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusDocentesEstrangeiros" label="Os Docentes Estrangeiros na ESTG"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusDocentesESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroDocentes" label="Os Docentes da ESTG no Estrangeiro"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioDocentes.html" proxy="estgp" id="PALVErasmusFomularioDocentes" label="Formulários Docentes"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf> |
</leaf> |
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1"> |
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf> |
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" /> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf> |
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoInterdepartamental" label="Conselho Interdepartamental"></leaf> |
</leaf> |
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2"> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf> |
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf> |
</leaf> |
<leaf node="true" label="O IPP" id="IPP" group="1"> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf> |
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf> |
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf> |
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf> |
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Ação Social"></leaf> |
</leaf> |
<leaf node="true" label="Departamentos" id="departamentos" group="2"> |
<leaf node="false" absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf> |
<leaf node="false" absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf> |
</leaf> |
</directory> |
/impl/conf/directories/directoryBeforeConfiguration.xsd |
---|
New file |
0,0 → 1,180 |
<?xml version="1.0" encoding="UTF-8"?> |
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Jorge Machado (Escola Superior de tecnologia e Gestao, Portalegre) --> |
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" targetNamespace="http://www.estgp.pt/baco/directory/" elementFormDefault="qualified" attributeFormDefault="unqualified"> |
<xs:element name="directory"> |
<xs:annotation> |
<xs:documentation>This schema is to define information structured directories</xs:documentation> |
</xs:annotation> |
<xs:complexType> |
<xs:sequence> |
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="id" type="xs:ID" use="required"/> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="place" use="required"/> |
<xs:attribute name="style" use="required"/> |
<xs:attribute name="layout" use="required"/> |
<xs:attribute name="layoutRoot" use="required"/> |
<xs:attribute name="targetRole" use="required"/> |
<xs:attribute name="menuKey" use="required"/> |
</xs:complexType> |
</xs:element> |
<xs:complexType name="nodeT"> |
<xs:annotation> |
<xs:documentation>A node is a directory internal object, it has a label and an identifier and can have children nodes and/or leafs</xs:documentation> |
</xs:annotation> |
<xs:sequence> |
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="group" use="optional"> |
<xs:annotation> |
<xs:documentation>Grouping purposes in styling</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="showNav" type="xs:boolean" use="optional"> |
<xs:annotation> |
<xs:documentation>Show link to this node in navigation menus, true by default</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="type" use="optional"> |
<xs:annotation> |
<xs:documentation>Type of node, by default HTTP link</xs:documentation> |
</xs:annotation> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="ftp"/> |
<xs:enumeration value="http"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
<xs:attribute name="id" type="xs:ID" use="required"/> |
</xs:complexType> |
<xs:complexType name="leafT"> |
<xs:annotation> |
<xs:documentation>A leaf is an URL for an external or internal WEB site</xs:documentation> |
</xs:annotation> |
<xs:sequence> |
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
<xs:annotation> |
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation> |
</xs:annotation> |
<xs:element name="node" type="nodeT"/> |
<xs:element name="leaf" type="leafT"/> |
</xs:choice> |
<xs:element name="rights" type="rightsT" minOccurs="0"/> |
</xs:sequence> |
<xs:attribute name="url" type="xs:string" use="required"/> |
<xs:attribute name="id" type="xs:ID" use="required"/> |
<xs:attribute name="label" use="required"/> |
<xs:attribute name="label_en" use="optional"/> |
<xs:attribute name="label_es" use="optional"/> |
<xs:attribute name="xml" type="xs:boolean" use="optional"> |
<xs:annotation> |
<xs:documentation>False by default</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="layout" type="xs:boolean"> |
<xs:annotation> |
<xs:documentation>True by default, define if a source is to be included in layout or opened in all window</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="style" type="xs:boolean"> |
<xs:annotation> |
<xs:documentation>True by default, define if a source is to be styled by the XSLT. |
When style=false and layout=false external file will be directly writed in TopWindow</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="absolute" type="xs:boolean" use="required"> |
<xs:annotation> |
<xs:documentation>follow parameter will be evaluated only If this parameter is set to false</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="proxy" type="xs:string" use="optional"> |
<xs:annotation> |
<xs:documentation>Only consider a proxy if it is here defined</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="group" use="optional"> |
<xs:annotation> |
<xs:documentation>Grouping purposes in styling</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="remoteExtensionRoot" type="xs:boolean" use="optional"/> |
<!-- |
The next attributes are filled by system BACO when remoteExtensionPoint is reached |
--> |
<xs:attribute name="ftpDirectory" type="xs:boolean"/> |
<xs:attribute name="size" use="optional"> |
<xs:annotation> |
<xs:documentation>Size of content in Kb</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="mimeType" use="optional"> |
<xs:annotation> |
<xs:documentation>Mime Type of content in Kb</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="lastModification" use="optional"> |
<xs:annotation> |
<xs:documentation>Last Modification of content in Kb</xs:documentation> |
</xs:annotation> |
</xs:attribute> |
<xs:attribute name="visualization" use="optional"> |
<xs:annotation> |
<xs:documentation>Type of node, by default HTTP link</xs:documentation> |
</xs:annotation> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="filesystem"/> |
<xs:enumeration value="normal"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
</xs:complexType> |
<xs:complexType name="groupDeclarationT"> |
<xs:sequence> |
<xs:element name="group" maxOccurs="unbounded"/> |
</xs:sequence> |
</xs:complexType> |
<xs:complexType name="rightsT"> |
<xs:annotation> |
<xs:documentation>Rights define who is authorized to enter in a node</xs:documentation> |
</xs:annotation> |
<xs:sequence> |
<xs:choice maxOccurs="unbounded"> |
<xs:element name="role" type="rightT1"/> |
<xs:element name="user" type="rightT1"/> |
</xs:choice> |
<xs:element name="internal" type="xs:boolean" minOccurs="0"/> |
</xs:sequence> |
</xs:complexType> |
<xs:complexType name="rightT1" mixed="true"> |
<xs:annotation> |
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation> |
</xs:annotation> |
<xs:attribute name="type" use="required"> |
<xs:simpleType> |
<xs:restriction base="xs:string"> |
<xs:enumeration value="permit"/> |
<xs:enumeration value="restrict"/> |
</xs:restriction> |
</xs:simpleType> |
</xs:attribute> |
</xs:complexType> |
</xs:schema> |
Property changes: |
Added: svn:executable |
+ * |
/impl/conf/directories/editados/teacher.xml |
---|
1,4 → 1,4 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
<directory label="Docentes" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="teacher" id="teacher" menuKey="menu.docentes" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd"> |
<groupsDeclaration> |
<group>1</group> |
/impl/conf/berserk/sd.xml |
---|
2085,5 → 2085,58 |
</service> |
<!--DIRECTORIES--> |
<service> |
<name>LoadDirectoryService</name> |
<implementationClass>pt.estgp.estgweb.services.directories.DirectoryService</implementationClass> |
<description>Loads a Directory</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadDirectory</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="ServicesOrAdmin"/> |
</filterChains> |
</service> |
<service> |
<name>LoadDirectoryServiceXml</name> |
<implementationClass>pt.estgp.estgweb.services.directories.DirectoryService</implementationClass> |
<description>Loads a Directory</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadDirectoryXml</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
<name>LoadDirectoryServiceHtml</name> |
<implementationClass>pt.estgp.estgweb.services.directories.DirectoryService</implementationClass> |
<description>Loads a Directory and style it with XSL</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadDirectoryHtml</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
<name>SaveDirectoryService</name> |
<implementationClass>pt.estgp.estgweb.services.directories.DirectoryService</implementationClass> |
<description>Save a Directory Object</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>saveDirectory</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<chain name="Admins"/> |
</filterChains> |
</service> |
</serviceDefinitions> |
/impl/conf/berserk/fcd.xml |
---|
49,6 → 49,13 |
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>ServicesOrAdmin</name> |
<expression>AuthenticatedUsers && (RoleUsers("admin") || RoleUsers("services"))</expression> |
<description>Validate if a user is coordinator or director</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>IdentifiersManager</name> |
<expression>AuthenticatedUsers && RoleUsers("identifiersManager")</expression> |
<description>Admins Control Chain</description> |
/impl/src/java/jomm/dao/impl/AbstractDao.java |
---|
13,9 → 13,7 |
import pt.estgp.estgweb.domain.DomainSerializableObject; |
import java.io.Serializable; |
import java.util.Collection; |
import java.util.Date; |
import java.util.List; |
import java.util.*; |
import static org.hibernate.criterion.Restrictions.eq; |
258,6 → 256,8 |
} |
} |
/** |
* Returns results as a page. |
* <p/> |
903,4 → 903,38 |
return criteria; |
} |
/** |
* return deleted objects |
* @param incompleteList |
* @param persistentList |
* @param comparator |
* @return |
*/ |
public List<CLAZZ> deleteMissing(Collection<CLAZZ> incompleteList, Collection<CLAZZ> persistentList,Comparator<CLAZZ> comparator) |
{ |
List<CLAZZ> deletedObjects = new ArrayList<CLAZZ>(); |
//Remover apagados |
Iterator<CLAZZ> iterPersistentObjects = persistentList.iterator(); |
while(iterPersistentObjects.hasNext()) |
{ |
CLAZZ persisitentObj = iterPersistentObjects.next(); |
boolean found = false; |
for(CLAZZ incompleteListObj: incompleteList) |
{ |
if(comparator.compare(incompleteListObj,persisitentObj)==0) |
{ |
found = true; |
break; |
} |
} |
if(!found) |
{ |
iterPersistentObjects.remove(); |
deletedObjects.add(persisitentObj); |
delete(persisitentObj); |
} |
} |
return deletedObjects; |
} |
} |
/impl/src/java/jomm/web/ftp/impl/FtpFile.java |
---|
189,7 → 189,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); |
else |
iFile = new FtpFile(ftpFile, server + URIUtil.encodePath(path + "/" + ftpFile.getName(),"ISO-8859-1"), path); |
iFiles.add(iFile); |
} |
return iFiles; |
/impl/src/java/pt/estgp/estgweb/utils/Dom4jUtil.java |
---|
256,7 → 256,7 |
private static Transformer getTransformerFromSystem(String xsltFile) throws TransformerConfigurationException, IOException |
{ |
Templates tpl= templates.get(xsltFile); |
Templates tpl = templates.get(xsltFile); |
if (tpl==null) |
{ |
String path = Globals.CLASSES_ABSOLUTE_PATH + xsltFile; |
/impl/src/java/pt/estgp/estgweb/utils/DynamicArrayList.java |
---|
New file |
0,0 → 1,70 |
package pt.estgp.estgweb.utils; |
import java.util.ArrayList; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class DynamicArrayList<E> extends ArrayList<E> |
{ |
Class referenceClass; |
public DynamicArrayList(Class clazz) |
{ |
this.referenceClass = clazz; |
} |
@Override |
public E get(int i) { |
if(i >= size()) |
{ |
while(i >= size()) |
{ |
try { |
super.add((E)referenceClass.newInstance()); |
} catch (InstantiationException e) { |
e.printStackTrace(); |
} catch (IllegalAccessException e) { |
e.printStackTrace(); |
} |
} |
} |
return super.get(i); |
} |
@Override |
public void add(int i, E obj) { |
if(i >= size()) |
{ |
while(i >= size()) |
{ |
try { |
super.add((E)referenceClass.newInstance()); |
} catch (InstantiationException e) { |
e.printStackTrace(); |
} catch (IllegalAccessException e) { |
e.printStackTrace(); |
} |
} |
} |
super.add(i,obj); |
} |
@Override |
public E set(int i, E obj) { |
if(i >= size()) |
{ |
while(i >= size()) |
{ |
try { |
super.add((E)referenceClass.newInstance()); |
} catch (InstantiationException e) { |
e.printStackTrace(); |
} catch (IllegalAccessException e) { |
e.printStackTrace(); |
} |
} |
} |
return super.set(i,obj); |
} |
} |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
1,12 → 1,8 |
package pt.estgp.estgweb; |
import pt.estgp.estgweb.domain.DirectoryImpl; |
import pt.estgp.estgweb.services.directories.DirectoryService; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
/** |
* @author Jorge Machado |
28,6 → 24,7 |
CLASSES_ABSOLUTE_PATH = CLASSES_ABSOLUTE_PATH.substring(0,CLASSES_ABSOLUTE_PATH.length()-1); |
} |
/* |
//place, List |
public static Map<String,List<DirectoryImpl>> DIRECTORIES = new HashMap<String,List<DirectoryImpl>>(); |
47,9 → 44,9 |
return directories; |
} |
} |
*/ |
public static final String ROLE_PROCESSES_ADMIN = "processes.admin"; |
public static final String INTRANET_IMPRESSAO_SERVICO_API = ConfigProperties.getProperty("impressao.servicos.api"); |
public static final boolean INTRANET_IMPRESSAO_SERVICO_AUTH = ConfigProperties.getBooleanProperty("impressao.servicos.auth"); |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java |
---|
45,11 → 45,39 |
public ILogMessages run(String year) throws ServiceException |
{ |
DefaultLogMessages logMessages = new DefaultLogMessages(); |
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode())); |
logger.info("starting grades import"); |
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode() + " ano : " + year)); |
logger.info("starting grades import " + year); |
try |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
logger.info("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"); |
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"); |
return logMessages; |
} |
HashMap<String,String> mapaEpocasAvaliacao = new HashMap<String, String>(); |
for(ConfigurationGradesEpocaAvaliacao epoca: epocas) |
{ |
mapaEpocasAvaliacao.put(epoca.getCodigoEpoca() + "-" + epoca.getCodigoMomento(), epoca.getDescricao()); |
} |
HashMap<String,String> mapaStatusEpocas = new HashMap<String, String>(); |
for(ConfigurationGradesStatusEpoca statusEpoca: statusEpocas) |
{ |
mapaStatusEpocas.put(statusEpoca.getStatus(), statusEpoca.getDescricao()); |
} |
//AbstractDao.getCurrentSession().beginTransaction(); |
String WSDL = DaoFactory.getConfigurationDaoImpl().getSigesWebServicesWsdl(); |
SiGesWEB service; |
try |
74,6 → 102,16 |
AbstractDao.getCurrentSession().beginTransaction(); |
} |
/** |
* n.codigo_aluno = getDecimal("CD_ALUNO",aReader); ----- OK |
n.codigo_curso = getDecimal("CD_CURSO", aReader); ----- OK |
n.codigo_disciplina = getDecimal("CD_DISCIP", aReader);- OK |
n.nota = getDecimal("NR_AVALIA", aReader); ---------- OK |
n.data_avaliacao = getDateTime("DT_AVALIA", aReader); - OK |
n.status_epoca = getDecimal("CD_STA_EPO", aReader); -- OK |
n.cd_duracao = getString("CD_DURACAO",aReader); - ------ OK |
*/ |
int codAluno = nota.getCodigoAluno().intValue(); |
int codUnidade = nota.getCodigoDisciplina().intValue(); |
int codCurso = nota.getCodigoCurso().intValue(); |
81,18 → 119,23 |
int valor = nota.getNota().intValue(); |
int statusEpoca = nota.getStatusEpoca().intValue(); |
Date data = nota.getDataAvaliacao().toGregorianCalendar().getTime(); |
int momento = nota.getMomentoAvaliacao().intValue(); |
int epoca = nota.getEpocaAvaliacao().intValue(); |
//boolean eFinal = nota.get |
String descricaoEpoca = mapaEpocasAvaliacao.get(epoca + "-" + momento); |
String descricaoStatusEpoca = mapaStatusEpocas.get(""+statusEpoca) == null ? ""+statusEpoca : mapaStatusEpocas.get(statusEpoca+""); |
Student s = DaoFactory.getStudentDaoImpl().loadBySigesCode(codAluno); |
if(s != null) |
if(descricaoEpoca!= null && s != null) |
{ |
CourseUnit courseUnit; |
try{ |
courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueSubscribed("" + codUnidade, year, "" + codCurso,s.getId(),cdDuracao); |
if(courseUnit != null) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId()); |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId(),""+momento,""+epoca); |
if(grade == null) |
{ |
grade = DomainObjectFactory.createCourseUnitGradeImpl(); |
100,8 → 143,14 |
grade.setCourseUnit(courseUnit); |
grade.setNormalizedCourseUnitName(courseUnit.getNormalizedName()); |
grade.setImportYear(year); |
grade.setCodigoEpoca("" + epoca); |
grade.setCodigoMomento("" + momento); |
grade.setDescEpoca(descricaoEpoca); |
grade.setStatusEpoca(statusEpoca); |
grade.setDescStatusEpoca(descricaoStatusEpoca); |
DaoFactory.getCourseUnitGradeDaoImpl().save(grade); |
if(grade.getGrade() > 0) |
if(grade.getGrade() >= 0) |
addGrade(grade); |
} |
if(grade.getGrade() != valor || grade.getStatusEpoca() != statusEpoca || (grade.getPublishDate() != null && grade.getPublishDate().getTime() != data.getTime())) |
109,14 → 158,16 |
grade.setPublishDate(data); |
grade.setGrade(valor); |
grade.setStatusEpoca(statusEpoca); |
if(grade.getGrade() > 0) |
grade.setDescStatusEpoca(descricaoStatusEpoca); |
if(grade.getGrade() >= 0) |
addGrade(grade); |
} |
} |
else |
{ |
logMessages.addMessage(new DefaultLogMessage("import.warning","","CourseUnit: " + codUnidade + ": course: " + codCurso + " does not exist or is not subscribed by student: " + codAluno + " with id:" + s.getId(), LogMessageTypeEnum.WARNING)); |
logger.warn("CourseUnit: " + codUnidade + ": course: " + codCurso + " does not exist"); |
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"); |
} |
}catch(Exception e) |
{ |
126,20 → 177,28 |
} |
else |
{ |
logMessages.addMessage(new DefaultLogMessage("import.warning","","Student: " + codAluno + " does not exist", LogMessageTypeEnum.WARNING)); |
logger.warn("Student: " + codAluno + " does not exist"); |
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)); |
}else |
{ |
logMessages.addMessage(new DefaultLogMessage("import.warning","","Student: " + codAluno + " does not exist", LogMessageTypeEnum.WARNING)); |
logger.warn("Student: " + codAluno + " does not exist"); |
} |
} |
} |
sendSms(null); |
sendEmail(null); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
//AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
AbstractDao.getCurrentSession().getTransaction().rollback(); |
//AbstractDao.getCurrentSession().getTransaction().rollback(); |
logMessages.addMessage(new DefaultLogMessage("import.error", e.toString(), "see log for details", LogMessageTypeEnum.ERROR)); |
throw new ServiceException(e.toString(), e); |
} |
189,6 → 248,7 |
private void sendEmail(UserSession userSession) |
{ |
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0) |
{ |
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet(); |
202,7 → 262,7 |
for(long gradeId: studentGrades) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId); |
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade()}; |
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade(),grade.getDescEpoca()}; |
gradesArray.add(gradeArray); |
} |
EMAILJob emailJob = new EMAILJob(sendEmailService.getNewGradesEmail(gradesArray, LangEnum.PORTUGUESE,s.getEmail(),s.getName())); |
222,7 → 282,9 |
String year = DaoFactory.getConfigurationDaoImpl().getImportsDefaultImportYearCreateTransaction();; |
if(args != null && args.length > 0) |
year = args[0]; |
AbstractDao.getCurrentSession().beginTransaction(); |
new ImportGradesService().run(year); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumaries.java |
---|
89,7 → 89,7 |
//comentario de teste |
try |
{ |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre()); |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre(),null); |
break; |
} |
catch(Throwable t) |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java |
---|
65,6 → 65,8 |
studentsChangeBI = 0; |
unitsAddedToStudents = 0; |
String activeImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear(); |
String msgS = "STARTING STUDENTS IMPORT SERVICE FOR YEAR: " + year; |
serviceLogInfo(msgS); |
logger.info(msgS); |
148,7 → 150,7 |
DaoFactory.getStudentDaoImpl().save(s); |
newUser = true; |
} |
persist(alunoSiges, s, newUser,year); |
persist(alunoSiges, s, newUser,year,activeImportYear); |
//Advising CommonsServicesManager before change password |
if (newUser) |
256,6 → 258,7 |
} |
/** |
* Nao esta testado |
* jm |
263,7 → 266,7 |
* @param alunoSiges Aluno |
* @param student Student |
*/ |
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year) |
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year, String activeImportYear) |
{ |
if(newUser) |
{ |
311,6 → 314,35 |
} |
if(alunoSiges.getHistoricos() == null || alunoSiges.getHistoricos().getAlunoHistorico() == null || alunoSiges.getHistoricos().getAlunoHistorico().size() == 0) |
{ |
student.setPropinasEmDia(false); |
serviceLogWarn("ATENTION Estudante sem historico de Matriculas para aferir propinas: codigo " + alunoSiges.getCodigo()); |
logger.warn("ATENTION Estudante sem historico de Matriculas para aferir propinas: codigo " + alunoSiges.getCodigo()); |
} |
else |
{ |
student.setPropinasEmDia(false); |
student.setPropinasEmDiaYear(activeImportYear); |
for(AlunoHistorico hist: alunoSiges.getHistoricos().getAlunoHistorico()) |
{ |
if(hist.getCodigoLectivo()!=null && hist.getCodigoLectivo().equals(activeImportYear)) |
{ |
if(hist.getPropinaEmDia().equalsIgnoreCase("s")) |
{ |
student.setPropinasEmDia(true); |
student.setPropinasEmDiaYear(activeImportYear); |
} |
break; |
} |
} |
if(!student.isPropinasEmDia()) |
{ |
serviceLogWarn("ATENTION Estudante sem propina em dia: codigo " + alunoSiges.getCodigo()); |
logger.warn("ATENTION Estudante sem propina em dia: codigo " + alunoSiges.getCodigo()); |
} |
} |
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas */ |
if (alunoSiges.getDisciplinasInscrito() == null || alunoSiges.getDisciplinasInscrito().getDisciplina() == null || alunoSiges.getDisciplinasInscrito().getDisciplina().size() == 0) |
{ |
453,10 → 485,11 |
public static final String JOB_importYear_KEY = "JOB_importYear_KEY"; |
@Override |
protected void runJobServiceTask() throws Throwable { |
protected ILogMessages runJobServiceTask() throws Throwable { |
String importYear = (String) getParametersMap().get(JOB_importYear_KEY).getObject(); |
run(importYear); |
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject(); |
ILogMessages messages = run(importYear); |
return messages; |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/LoadSumariesToPDF.java |
---|
67,7 → 67,7 |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(courseUnitId); |
ArrayOfAula arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), c.getImportYear(),c.getCode(),c.getSemestre()); |
ArrayOfAula arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), c.getImportYear(),c.getCode(),c.getSemestre(),c.getCourse().getCode()); |
if(arrayOfAulas != null && arrayOfAulas.getAula() != null) |
{ |
139,7 → 139,7 |
//comentario de teste |
try |
{ |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre()); |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre(),c.getCourse().getCode()); |
break; |
} |
catch(Throwable t) |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/SincronizeLastYearCourseUnitProgramsService.java |
---|
80,8 → 80,10 |
serviceLogInfo(logMessages.getLastMessage()); |
int i = 0; |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadYear(year); |
for (CourseUnit cu: units) |
List<Long> units = DaoFactory.getCourseUnitDaoImpl().loadIds(year); |
//List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadYear(year); |
for (Long cuId: units) |
// for (CourseUnit cu: units) |
{ |
SaveCourseUnitProgram service = new SaveCourseUnitProgram(); |
96,6 → 98,7 |
AbstractDao.getCurrentSession().beginTransaction(); |
serviceLogInfo("Commiting database"); |
} |
CourseUnit cu = DaoFactory.getCourseUnitDaoImpl().load(cuId); |
if(cu.getCourseUnitProgram() == null || !cloneOnlyNews) |
{ |
183,6 → 186,7 |
//cu.setValidProgram(true); |
} |
setProgress(100); |
logger.info("######################################"); |
serviceLogInfo("######################################"); |
logger.info("######################################"); |
263,7 → 267,6 |
logger.info("terminating programs sincronization"); |
serviceLogInfo("terminating programs sincronization"); |
logMessages.addMessage(new DefaultLogMessage("courseunitprograms.sincronization.terminating", LogMessageTypeEnum.INFO)); |
setProgress(100); |
return logMessages; |
} |
399,13 → 402,16 |
* @throws Throwable |
*/ |
@Override |
protected void runJobServiceTask() throws Throwable |
protected ILogMessages runJobServiceTask() throws Throwable |
{ |
String importYear = (String) getParametersMap().get(JOB_importYear_KEY).getObject(); |
Boolean cloneOnlyNews = (Boolean) getParametersMap().get(JOB_cloneOnlyNews_KEY).getObject(); |
Boolean generateAllPdfs = (Boolean) getParametersMap().get(JOB_generateAllPdfs_KEY).getObject(); |
Boolean validate = (Boolean) getParametersMap().get(JOB_validate_KEY).getObject(); |
run(importYear,cloneOnlyNews,generateAllPdfs,validate); |
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject(); |
String cloneOnlyNewsStr = getParametersMap().get(JOB_cloneOnlyNews_KEY).getObject(); |
String generateAllPdfsStr = getParametersMap().get(JOB_generateAllPdfs_KEY).getObject(); |
String validateStr = getParametersMap().get(JOB_validate_KEY).getObject(); |
boolean cloneOnlyNews = cloneOnlyNewsStr != null && Boolean.parseBoolean(cloneOnlyNewsStr); |
boolean generateAllPdfs = generateAllPdfsStr != null && Boolean.parseBoolean(generateAllPdfsStr); |
boolean validate = validateStr != null && Boolean.parseBoolean(validateStr); |
return run(importYear,cloneOnlyNews,generateAllPdfs,validate); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java |
---|
572,11 → 572,10 |
} |
@Override |
protected void runJobServiceTask() throws Throwable { |
protected ILogMessages runJobServiceTask() throws Throwable { |
String importYear = (String) getParametersMap().get(JOB_importYear_KEY).getObject(); |
run(importYear); |
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject(); |
return run(importYear); |
} |
public static final String JOB_importYear_KEY = "JOB_importYear_KEY"; |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
271,10 → 271,11 |
public static final String JOB_importYear_KEY = "JOB_importYear_KEY"; |
@Override |
protected void runJobServiceTask() throws Throwable { |
protected ILogMessages runJobServiceTask() throws Throwable { |
String importYear = (String) getParametersMap().get(JOB_importYear_KEY).getObject(); |
run(importYear); |
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject(); |
ILogMessages messages = run(importYear); |
return messages; |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumariesJson.java |
---|
132,7 → 132,7 |
//comentario de teste |
try |
{ |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),semestre); |
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),semestre,c.getCourse().getCode()); |
break; |
} |
catch(Throwable t) |
386,14 → 386,15 |
public static final String JOB_sendEmail_KEY = "JOB_sendEmail_KEY"; |
@Override |
protected void runJobServiceTask() throws Throwable { |
protected ILogMessages runJobServiceTask() throws Throwable { |
String importYear = (String) getParametersMap().get(JOB_importYear_KEY).getObject(); |
String semestre = (String) getParametersMap().get(JOB_semestre_KEY).getObject(); |
Boolean sendIonline = (Boolean) getParametersMap().get(JOB_sendIonline_KEY).getObject(); |
Boolean sendEmail = (Boolean) getParametersMap().get(JOB_sendEmail_KEY).getObject(); |
run(importYear,semestre,sendIonline,sendEmail); |
String importYear = getParametersMap().get(JOB_importYear_KEY).getObject(); |
String semestre = getParametersMap().get(JOB_semestre_KEY).getObject(); |
String sendIonlineStr = getParametersMap().get(JOB_sendIonline_KEY).getObject(); |
String sendEmailStr = getParametersMap().get(JOB_sendEmail_KEY).getObject(); |
boolean sendIonline = sendIonlineStr != null && Boolean.parseBoolean(sendIonlineStr); |
boolean sendEmail = sendEmailStr != null && Boolean.parseBoolean(sendEmailStr); |
return run(importYear,semestre,sendIonline,sendEmail); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/ftpservices/FtpService.java |
---|
69,13 → 69,13 |
{ |
} |
else if(passwordCode != null) |
else |
{ |
logger.info("using saved password"); |
password = DesUtils.getInstance().decrypt(passwordCode); |
//System.out.println("SAVEDPASS:" + password); |
} |
else if(userSession.getUser().getPop3password() != null && userSession.getUser().getPop3password().length() > 0) |
/*else if(userSession.getUser().getPop3password() != null && userSession.getUser().getPop3password().length() > 0) |
{ |
logger.info("trying pop 3 password"); |
password = DesUtils.getInstance().decrypt(userSession.getUser().getPop3password()); |
84,7 → 84,7 |
{ |
logger.info("trying last used login password"); |
password = DesUtils.getInstance().decrypt(userSession.getUser().getPassword()); |
} |
}*/ |
username = ftpRequestForm.getUsername(); |
if(username == null || username.trim().length() == 0) |
username = userSession.getUsername(); |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobScheduleService.java |
---|
106,7 → 106,8 |
public static void main(String[] args) throws SQLException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
scheduleImportStudents(); |
scheduleSincronizePrograms(); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
130,10 → 131,10 |
param2.setDescription("desc2"); |
param3.setDescription("desc3"); |
param4.setDescription("desc4"); |
param1.setObject(new Boolean(false)); |
param2.setObject(new Boolean(true)); |
param1.setObject("false"); |
param2.setObject("true"); |
param3.setObject("201415"); |
param4.setObject(new Boolean(true)); |
param4.setObject("true"); |
Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>(); |
params.add(param1); |
params.add(param2); |
142,7 → 143,7 |
jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params); |
jobServiceTaskScheduler.setDaily(true); |
jobServiceTaskScheduler.setMonthday(GregorianCalendar.NOVEMBER); |
jobServiceTaskScheduler.setMonthday(1); |
jobServiceTaskScheduler.setWeekday(GregorianCalendar.MONDAY); |
jobServiceTaskScheduler.setHour(01); |
jobServiceTaskScheduler.setMinute(0); |
183,8 → 184,8 |
param4.setDescription("desc4"); |
param1.setObject("201415"); |
param2.setObject("S1"); |
param3.setObject(new Boolean(false)); |
param4.setObject(new Boolean(false)); |
param3.setObject("false"); |
param4.setObject("false"); |
Set<JobServiceTaskSchedulerParameter> params = new HashSet<JobServiceTaskSchedulerParameter>(); |
params.add(param1); |
params.add(param2); |
193,7 → 194,7 |
jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params); |
jobServiceTaskScheduler.setDaily(true); |
jobServiceTaskScheduler.setMonthday(GregorianCalendar.NOVEMBER); |
jobServiceTaskScheduler.setMonthday(1); |
jobServiceTaskScheduler.setWeekday(GregorianCalendar.MONDAY); |
jobServiceTaskScheduler.setHour(01); |
jobServiceTaskScheduler.setMinute(0); |
225,8 → 226,8 |
params.add(param1); |
jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params); |
jobServiceTaskScheduler.setDaily(true); |
jobServiceTaskScheduler.setMonthday(GregorianCalendar.NOVEMBER); |
jobServiceTaskScheduler.setMonthly(true); |
jobServiceTaskScheduler.setMonthday(1); |
jobServiceTaskScheduler.setWeekday(GregorianCalendar.MONDAY); |
jobServiceTaskScheduler.setHour(01); |
jobServiceTaskScheduler.setMinute(0); |
293,7 → 294,7 |
params.add(param1); |
jobServiceTaskScheduler.setServiceTaskSchedulerParameters(params); |
jobServiceTaskScheduler.setDaily(true); |
jobServiceTaskScheduler.setWeekly(true); |
jobServiceTaskScheduler.setMonthday(GregorianCalendar.NOVEMBER); |
jobServiceTaskScheduler.setWeekday(GregorianCalendar.MONDAY); |
jobServiceTaskScheduler.setHour(01); |
/impl/src/java/pt/estgp/estgweb/services/jobs/ServiceJob.java |
---|
7,6 → 7,7 |
import pt.estgp.estgweb.domain.JobServiceTask; |
import pt.estgp.estgweb.domain.JobServiceTaskImpl; |
import pt.estgp.estgweb.domain.JobServiceTaskParameter; |
import pt.estgp.estgweb.services.logresults.ILogMessages; |
import java.io.IOException; |
import java.util.*; |
99,8 → 100,13 |
jobServiceTask.setServiceLastUpdateDate(new Date()); |
try { |
//call the implementation of service this will update serviceLog and progress |
runJobServiceTask(); |
jobServiceTask.setStatusEnum(JobServiceTaskImpl.JobStatus.FINISHED); |
ILogMessages messages = runJobServiceTask(); |
if(messages.hasErrors()) |
jobServiceTask.setStatusEnum(JobServiceTaskImpl.JobStatus.FINISHED_ERRORS); |
else if(messages.hasWarnings()) |
jobServiceTask.setStatusEnum(JobServiceTaskImpl.JobStatus.FINISHED_WARNINGS); |
else |
jobServiceTask.setStatusEnum(JobServiceTaskImpl.JobStatus.FINISHED); |
jobServiceTask.setServiceLastUpdateDate(new Date()); |
jobServiceTask.setServiceFinishDate(new Date()); |
serviceLog.info("FINISHING SERVICE"); |
125,5 → 131,5 |
public void serviceLogFatal(String str, Throwable e){ if(jobServiceTask != null) serviceLog.fatal(str,e);} |
//Implemented in SubService to run the Job |
protected abstract void runJobServiceTask() throws Throwable; |
protected abstract ILogMessages runJobServiceTask() throws Throwable; |
} |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobDeamon.java |
---|
109,9 → 109,7 |
{ |
logger.info("Schedulling one job " + schedule.getTargetService() + " to run"); |
JobServiceTaskImpl jobServiceTask = DomainObjectFactory.createJobServiceTaskImpl(); |
DaoFactory.getJobServiceTaskDaoImpl().save(jobServiceTask); |
jobServiceTask.setStartDate(new Date()); |
DaoFactory.getJobServiceTaskDaoImpl().flush(); |
jobServiceTask.setTargetService(schedule.getTargetService()); |
jobServiceTask.setCreatedBy(schedule.getCreatedBy()); |
jobServiceTask.setExecuted(false); |
122,6 → 120,7 |
jobServiceTask.setRequestStop(false); |
jobServiceTask.setOwner(schedule.getCreatedBy()); |
jobServiceTask.setJobHandler(new SerializableNullJobHandler()); |
DaoFactory.getJobServiceTaskDaoImpl().save(jobServiceTask); |
try { |
String filePath = Class.forName(schedule.getTargetService()).getSimpleName() + "-" + DatesUtils.getFormatedFileSystem(new Date()); |
jobServiceTask.setLogFilePath( filePath + ".log"); |
140,10 → 139,10 |
paramJob.setJobServiceTask(jobServiceTask); |
DaoFactory.getJobServiceTaskParameterDaoImpl().save(paramJob); |
} |
DaoFactory.getJobServiceTaskParameterDaoImpl().flush(); |
jobServiceTask.setServiceTaskParameters(paramsJob); |
DaoFactory.getJobServiceTaskDaoImpl().saveOrUpdate(jobServiceTask); |
//DaoFactory.getJobServiceTaskDaoImpl().saveOrUpdate(jobServiceTask); |
//a last schedule date e a hora a que foi marcado para correr a ultima vez |
//a partir do momento que e' agendado o trabalho ele vai correr portanto |
//e' esta a hora que se considera para a corrida |
/impl/src/java/pt/estgp/estgweb/services/logresults/impl/DefaultLogMessages.java |
---|
3,6 → 3,7 |
import pt.estgp.estgweb.domain.CourseUnitSummary; |
import pt.estgp.estgweb.services.logresults.ILogMessages; |
import pt.estgp.estgweb.services.logresults.ILogMessage; |
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum; |
import java.util.List; |
import java.util.ArrayList; |
40,6 → 41,26 |
return summaries; |
} |
@Override |
public boolean hasErrors() { |
if(logMessages == null) |
return false; |
for(ILogMessage m:logMessages) |
if(m.getType() == LogMessageTypeEnum.ERROR || m.getType() == LogMessageTypeEnum.FATAL) |
return true; |
return false; |
} |
@Override |
public boolean hasWarnings() { |
if(logMessages == null) |
return false; |
for(ILogMessage m:logMessages) |
if(m.getType() == LogMessageTypeEnum.WARNING) |
return true; |
return false; |
} |
public void setSummaries(List<CourseUnitSummary> summaries) { |
this.summaries = summaries; |
} |
/impl/src/java/pt/estgp/estgweb/services/logresults/ILogMessages.java |
---|
13,4 → 13,6 |
{ |
public List<ILogMessage> getLogMessages(); |
List<CourseUnitSummary> getSummaries(); |
public boolean hasErrors(); |
public boolean hasWarnings(); |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/DirectoryService.java |
---|
3,23 → 3,35 |
import org.apache.log4j.Logger; |
import org.dom4j.Document; |
import org.dom4j.DocumentException; |
import pt.estgp.estgweb.domain.DirectoryImpl; |
import pt.estgp.estgweb.domain.ConfigurationDirectoryImpl; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.services.directories.xsd.Directory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.io.File; |
import java.net.MalformedURLException; |
import java.util.ArrayList; |
import java.util.List; |
import javax.xml.bind.JAXBContext; |
import javax.xml.bind.JAXBException; |
import javax.xml.bind.Marshaller; |
import javax.xml.bind.Unmarshaller; |
import java.io.StringReader; |
import java.io.StringWriter; |
import java.util.HashMap; |
import java.util.Map; |
/** |
* @author Jorge Machado |
*/ |
public class DirectoryService |
public class DirectoryService implements IService |
{ |
private static final Logger logger = Logger.getLogger(DirectoryService.class); |
/* |
public List<DirectoryImpl> loadDirectories(String classesPath, String place) |
{ |
List<DirectoryImpl> directories = new ArrayList<DirectoryImpl>(); |
68,4 → 80,159 |
} |
return directories; |
} |
*/ |
public Directory loadDirectory(String identifier, UserSession sess) |
{ |
Directory directory = null; |
ConfigurationDirectoryImpl dir = DaoFactory.getConfigurationDirectoryDaoImpl().loadDirectory(identifier); |
JAXBContext jc; |
if(dir == null) |
{ |
try |
{ |
jc = JAXBContext.newInstance(Directory.class); |
Unmarshaller unmarshaller = jc.createUnmarshaller(); |
directory = (Directory) unmarshaller.unmarshal(DirectoryService.class.getResourceAsStream("/pt/estgp/estgweb/directories/" + identifier + ".xml")); |
dir = DomainObjectFactory.createConfigurationDirectoryImpl(); |
dir.setDescricao(""); |
dir.setIdDir(identifier); |
Marshaller marshaller = jc.createMarshaller(); |
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); |
StringWriter sw = new StringWriter(); |
marshaller.marshal(directory, sw); |
dir.setXml(sw.toString()); |
DaoFactory.getConfigurationDirectoryDaoImpl().save(dir); |
return directory; |
} catch (JAXBException e) { |
logger.error(e,e); |
} |
} |
else |
{ |
try |
{ |
jc = JAXBContext.newInstance(Directory.class); |
Unmarshaller unmarshaller = jc.createUnmarshaller(); |
StringReader r = new StringReader(dir.getXml()); |
directory = (Directory) unmarshaller.unmarshal(r); |
return directory; |
} catch (JAXBException e) { |
logger.error(e,e); |
} |
} |
return directory; |
} |
public String loadDirectoryXml(String identifier, UserSession sess) |
{ |
ConfigurationDirectoryImpl dir = DaoFactory.getConfigurationDirectoryDaoImpl().loadDirectory(identifier); |
JAXBContext jc; |
if(dir == null) |
{ |
try |
{ |
jc = JAXBContext.newInstance(Directory.class); |
Unmarshaller unmarshaller = jc.createUnmarshaller(); |
Directory directory = (Directory) unmarshaller.unmarshal(DirectoryService.class.getResourceAsStream("/pt/estgp/estgweb/directories/" + identifier + ".xml")); |
dir = DomainObjectFactory.createConfigurationDirectoryImpl(); |
dir.setDescricao(""); |
dir.setIdDir(identifier); |
Marshaller marshaller = jc.createMarshaller(); |
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); |
StringWriter sw = new StringWriter(); |
marshaller.marshal(directory, sw); |
dir.setXml(sw.toString()); |
DaoFactory.getConfigurationDirectoryDaoImpl().save(dir); |
return sw.toString(); |
} catch (JAXBException e) { |
logger.error(e,e); |
} |
} |
else |
{ |
return dir.getXml(); |
} |
return null; |
} |
private static Map<String,String> cachedHtml = new HashMap<String, String>(); |
private static synchronized String getOrAddOrRemove(String id,String html,boolean remove) |
{ |
if(remove) |
cachedHtml.remove(id); |
else if(html != null) |
cachedHtml.put(id,html); |
else |
return cachedHtml.get(id); |
return null; |
} |
public String loadDirectoryHtml(String identifier, Map<String,Object> parameters, UserSession sess) throws ServiceException { |
String html = getOrAddOrRemove(identifier,null,false); |
if(html != null) |
return html; |
String xml = loadDirectoryXml(identifier,sess); |
try |
{ |
JAXBContext jc = JAXBContext.newInstance(Directory.class); |
Unmarshaller unmarshaller = jc.createUnmarshaller(); |
Directory directory = (Directory) unmarshaller.unmarshal(DirectoryService.class.getResourceAsStream("/pt/estgp/estgweb/directories/" + identifier + ".xml")); |
Document dom = Dom4jUtil.parse(xml); |
html = Dom4jUtil.styleDocument(dom,"/pt/estgp/estgweb/directories/" + directory.getStyle(), parameters); |
getOrAddOrRemove(identifier,html,false); |
} catch (JAXBException e) { |
logger.error(e,e); |
throw new ServiceException("Cant load Menu"); |
} catch (DocumentException e) { |
logger.error(e, e); |
throw new ServiceException("Cant load Menu"); |
} catch (Exception e) { |
logger.error(e, e); |
throw new ServiceException("Cant load Menu"); |
} |
return html; |
} |
public void saveDirectory(Directory directory,UserSession sess) throws NotFoundException, ServiceException { |
ConfigurationDirectoryImpl dir = DaoFactory.getConfigurationDirectoryDaoImpl().loadDirectory(directory.getId()); |
if(dir != null) |
{ |
JAXBContext jc = null; |
try { |
jc = JAXBContext.newInstance(Directory.class); |
Marshaller marshaller = jc.createMarshaller(); |
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); |
StringWriter sw = new StringWriter(); |
marshaller.marshal(directory, sw); |
dir.setXml(sw.toString()); |
getOrAddOrRemove(directory.getId(),null,true); |
} |
catch (JAXBException e) |
{ |
logger.error(e,e); |
throw new ServiceException(e.toString(),e); |
} |
} |
else |
{ |
throw new NotFoundException("Directory does not exist with that ID " + directory.getId()); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/RightImpl.java |
---|
New file |
0,0 → 1,7 |
package pt.estgp.estgweb.services.directories.xsd; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class RightImpl extends RightsT.Right { |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/TestDynamicLists.java |
---|
New file |
0,0 → 1,43 |
package pt.estgp.estgweb.services.directories.xsd; |
import junit.framework.TestCase; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class TestDynamicLists extends TestCase |
{ |
public void testLists() |
{ |
Directory d = new DirectoryImpl(); |
d.getGroupsDeclaration().getGroup().get(0).setName("teste"); |
d.getGroupsDeclaration().getGroup().get(1).setName("teste"); |
d.getRights().getRight().get(0).setName("teste"); |
d.getRights().getRight().get(1).setName("teste"); |
d.getLeaf().get(0).setAbsolute(true); |
d.getLeaf().get(1).setAbsolute(true); |
d.getLeaf().get(2).setAbsolute(true); |
d.getLeaf().get(2).getLeaf().get(3).setAbsolute(true); |
d.getLeaf().get(2).getLeaf().get(2).setAbsolute(false); |
d.getLeaf().get(2).getLeaf().get(1).setAbsolute(true); |
d.getLeaf().get(2).getLeaf().get(0).setAbsolute(false); |
assertTrue(d.getGroupsDeclaration().getGroup().size() == 2); |
assertTrue(d.getRights().getRight().size() == 2); |
assertTrue(d.getLeaf().size() == 3); |
assertTrue(d.getLeaf().get(2).getLeaf().get(0).getAbsolute() == false); |
assertTrue(d.getLeaf().get(2).getLeaf().get(1).getAbsolute() == true); |
assertTrue(d.getLeaf().get(2).getLeaf().get(2).getAbsolute() == false); |
assertTrue(d.getLeaf().get(2).getLeaf().get(3).getAbsolute() == true); |
d.getLeaf().get(3).getRights().getRight().get(0).setName("teste55"); |
assertEquals(d.getLeaf().get(3).getRights().getRight().get(0).getName(), "teste55"); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/DirectoryImpl.java |
---|
New file |
0,0 → 1,32 |
package pt.estgp.estgweb.services.directories.xsd; |
import pt.estgp.estgweb.utils.DynamicArrayList; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class DirectoryImpl extends Directory |
{ |
public DirectoryImpl() |
{ |
super(); |
setRights(new RightsTImpl()); |
setGroupsDeclaration(new GroupsDeclarationTImpl()); |
leaf = new DynamicArrayList<LeafT>(LeafTImpl.class); |
} |
public boolean isGroupDeclarationEmpty() |
{ |
return groupsDeclaration == null || groupsDeclaration.getGroup() == null || groupsDeclaration.getGroup().size() == 0; |
} |
public boolean isRightsEmpty() |
{ |
return rights == null || rights.getRight() == null || rights.getRight().size() == 0; |
} |
public boolean isLeafEmpty() |
{ |
return leaf == null || leaf.size() == 0; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/RightsTImpl.java |
---|
New file |
0,0 → 1,22 |
package pt.estgp.estgweb.services.directories.xsd; |
import pt.estgp.estgweb.utils.DynamicArrayList; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class RightsTImpl extends RightsT { |
public RightsTImpl() |
{ |
super(); |
right = new DynamicArrayList<Right>(RightImpl.class); |
} |
public boolean isRightEmpty() |
{ |
return right == null || right.size() == 0; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/GroupsDeclarationTImpl.java |
---|
New file |
0,0 → 1,20 |
package pt.estgp.estgweb.services.directories.xsd; |
import pt.estgp.estgweb.utils.DynamicArrayList; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class GroupsDeclarationTImpl extends GroupDeclarationT |
{ |
public GroupsDeclarationTImpl() |
{ |
super(); |
group = new DynamicArrayList<Group>(GroupImpl.class); |
} |
public boolean isGroupEmpty() |
{ |
return group == null || group.size() == 0; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/LeafTImpl.java |
---|
New file |
0,0 → 1,89 |
package pt.estgp.estgweb.services.directories.xsd; |
import pt.estgp.estgweb.utils.DynamicArrayList; |
import java.util.Iterator; |
import java.util.List; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class LeafTImpl extends LeafT |
{ |
public LeafTImpl() |
{ |
super(); |
setRights(new RightsTImpl()); |
setGroupsDeclaration(new GroupsDeclarationTImpl()); |
leaf = new DynamicArrayList<LeafT>(LeafTImpl.class); |
} |
public boolean isGroupDeclarationEmpty() |
{ |
return groupsDeclaration == null || groupsDeclaration.getGroup() == null || groupsDeclaration.getGroup().size() == 0; |
} |
public boolean isRightsEmpty() |
{ |
return rights == null || rights.getRight() == null || rights.getRight().size() == 0; |
} |
public boolean isLeafEmpty() |
{ |
return leaf == null || leaf.size() == 0; |
} |
public static LeafT findLeaf(Directory d,String id) |
{ |
return findLeafT(d.getLeaf(),id); |
} |
public static LeafT removeLeaf(Directory d,String id) |
{ |
return removeLeafT(d.getLeaf(), id); |
} |
public static LeafT removeLeaf(LeafT l,String id) |
{ |
return removeLeafT(l.getLeaf(), id); |
} |
public static LeafT findLeaf(LeafT l,String id) |
{ |
return findLeafT(l.getLeaf(),id); |
} |
private static LeafT findLeafT(List<LeafT> leafs,String id) |
{ |
if(leafs == null || leafs.size() == 0) |
return null; |
for(LeafT l: leafs) |
{ |
if(l.getId().equals(id)) |
return l; |
LeafT inside = findLeafT(l.getLeaf(),id); |
if(inside != null) |
return inside; |
} |
return null; |
} |
private static LeafT removeLeafT(List<LeafT> leafs,String id) |
{ |
if(leafs == null || leafs.size() == 0) |
return null; |
Iterator<LeafT> iter = leafs.iterator(); |
while(iter.hasNext()) |
{ |
LeafT l = iter.next(); |
if(l.getId().equals(id)) |
{ |
iter.remove(); |
return l; |
} |
LeafT inside = removeLeafT(l.getLeaf(),id); |
if(inside != null) |
return inside; |
} |
return null; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/GroupImpl.java |
---|
New file |
0,0 → 1,9 |
package pt.estgp.estgweb.services.directories.xsd; |
/** |
* Created by jorgemachado on 16/11/15. |
*/ |
public class GroupImpl extends GroupDeclarationT.Group |
{ |
} |
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java |
---|
91,6 → 91,7 |
List<User> usersToConsume = new ArrayList<User>(); |
for(User u: users) |
usersToConsume.add(u); |
logger.info("Scheduling mail jobs to " + usersToConsume.size() + " recipients"); |
while(usersToConsume.size() > 0) |
{ |
Iterator<User> iter = usersToConsume.iterator(); |
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpocaImpl.java |
---|
New file |
0,0 → 1,27 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
import java.util.Date; |
/** |
* Created by jorgemachado on 02/11/15. |
*/ |
public class ConfigurationGradesStatusEpocaImpl extends ConfigurationGradesStatusEpoca { |
public ConfigurationGradesStatusEpocaImpl() |
{ |
} |
@Override |
public Serializable getSerializable() { |
return getId(); |
} |
public static ConfigurationGradesStatusEpocaImpl create(String status, String descricao) |
{ |
ConfigurationGradesStatusEpocaImpl obj = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl(); |
obj.setStatus(status); |
obj.setDescricao(descricao); |
obj.setSaveDate(new Date()); |
return obj; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/JobServiceTaskSchedulerView.java |
---|
New file |
0,0 → 1,130 |
package pt.estgp.estgweb.domain.views; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.JobServiceTaskScheduler; |
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl; |
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerParameter; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.DynamicArrayList; |
import java.io.Serializable; |
import java.util.ArrayList; |
import java.util.Comparator; |
import java.util.Date; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
* @time 19:34:49 |
* @see pt.estgp.estgweb.domain.views |
*/ |
public class JobServiceTaskSchedulerView extends DomainObjectView |
{ |
private static Logger logger = Logger.getLogger(JobServiceTaskSchedulerView.class); |
JobServiceTaskSchedulerImpl jobServiceTaskScheduler; |
List<JobServiceTaskSchedulerParameter> parameters; |
@Override |
public Class getReferenceClass() { |
return JobServiceTaskScheduler.class; |
} |
@Override |
public Serializable getSerializable() |
{ |
return jobServiceTaskScheduler.getId(); |
} |
public JobServiceTaskSchedulerView() |
{ |
} |
public JobServiceTaskSchedulerView(JobServiceTaskSchedulerImpl jobServiceTaskScheduler) |
{ |
super(jobServiceTaskScheduler); |
init(jobServiceTaskScheduler); |
} |
public void init(JobServiceTaskSchedulerImpl jobServiceTaskScheduler) |
{ |
parameters = new ArrayList<JobServiceTaskSchedulerParameter>(); |
if(jobServiceTaskScheduler.getServiceTaskSchedulerParameters() != null) |
{ |
parameters.addAll(jobServiceTaskScheduler.getServiceTaskSchedulerParameters()); |
} |
} |
public void persistViewInObject(JobServiceTaskScheduler jobServiceTaskScheduler) |
{ |
jobServiceTaskScheduler.setDescription(this.jobServiceTaskScheduler.getDescription()); |
jobServiceTaskScheduler.setTargetService(this.jobServiceTaskScheduler.getTargetService()); |
jobServiceTaskScheduler.setWeekly(this.jobServiceTaskScheduler.isWeekly()); |
jobServiceTaskScheduler.setWeekday(this.jobServiceTaskScheduler.getWeekday()); |
jobServiceTaskScheduler.setDaily(this.jobServiceTaskScheduler.isDaily()); |
jobServiceTaskScheduler.setHour(this.jobServiceTaskScheduler.getHour()); |
jobServiceTaskScheduler.setMinute(this.jobServiceTaskScheduler.getMinute()); |
jobServiceTaskScheduler.setSecond(this.jobServiceTaskScheduler.getSecond()); |
jobServiceTaskScheduler.setMonthly(this.jobServiceTaskScheduler.isMonthly()); |
jobServiceTaskScheduler.setMonthday(this.jobServiceTaskScheduler.getMonthday()); |
jobServiceTaskScheduler.setNow(this.jobServiceTaskScheduler.isNow()); |
//Remover apagados |
List<JobServiceTaskSchedulerParameter> deleted = DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl() |
.deleteMissing( |
this.parameters, |
jobServiceTaskScheduler.getServiceTaskSchedulerParameters(), |
new Comparator<JobServiceTaskSchedulerParameter>() |
{ |
@Override |
public int compare(JobServiceTaskSchedulerParameter j1, JobServiceTaskSchedulerParameter j2) { |
return (int) (j1.getId() - j2.getId()); |
} |
}); |
for(JobServiceTaskSchedulerParameter d: deleted) |
d.setJobServiceTaskScheduler(null); |
for(JobServiceTaskSchedulerParameter newParam: parameters) |
{ |
if(newParam.getId() <= 0) |
{ |
newParam.setJobServiceTaskScheduler(jobServiceTaskScheduler); |
jobServiceTaskScheduler.getServiceTaskSchedulerParameters().add(newParam); |
newParam.setSaveDate(new Date()); |
DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().save(newParam); |
} |
else |
{ |
JobServiceTaskSchedulerParameter persistentParam = DaoFactory.getJobServiceTaskSchedulerParameterDaoImpl().load(newParam.getId()); |
persistentParam.setDescription(newParam.getDescription()); |
persistentParam.setName(newParam.getName()); |
persistentParam.setObject(newParam.getObject()); |
} |
} |
} |
public JobServiceTaskSchedulerImpl getJobServiceTaskScheduler() { |
return jobServiceTaskScheduler; |
} |
public void setJobServiceTaskScheduler(JobServiceTaskSchedulerImpl jobServiceTaskScheduler) { |
this.jobServiceTaskScheduler = jobServiceTaskScheduler; |
} |
public List<JobServiceTaskSchedulerParameter> getParameters() { |
if(parameters == null) |
parameters = new DynamicArrayList<JobServiceTaskSchedulerParameter>(JobServiceTaskSchedulerParameter.class); |
return parameters; |
} |
public void setParameters(List<JobServiceTaskSchedulerParameter> parameters) { |
this.parameters = parameters; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/views/ConfigurationGradesView.java |
---|
New file |
0,0 → 1,64 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.domain.*; |
import java.io.Serializable; |
import java.util.ArrayList; |
import java.util.List; |
/** |
* Created by jorgemachado on 12/11/15. |
*/ |
public class ConfigurationGradesView extends DomainObjectView { |
long id; |
List<ConfigurationGradesStatusEpoca> statusEpocas; |
List<ConfigurationGradesEpocaAvaliacao> epocasAvaliacao; |
@Override |
public Class getReferenceClass() { |
return ConfigurationGrades.class; |
} |
@Override |
public Serializable getSerializable() { |
return id; |
} |
public void init(ConfigurationGrades configurationGrades) |
{ |
this.id = configurationGrades.getId(); |
statusEpocas = new ArrayList<ConfigurationGradesStatusEpoca>(configurationGrades.getStatusEpoca()); |
epocasAvaliacao = new ArrayList<ConfigurationGradesEpocaAvaliacao>(configurationGrades.getEpocasAvaliacao()); |
} |
public long getId() { |
return id; |
} |
public void setId(long id) { |
this.id = id; |
} |
public List<ConfigurationGradesStatusEpoca> getStatusEpocas() { |
return statusEpocas; |
} |
public void setStatusEpocas(List<ConfigurationGradesStatusEpoca> statusEpocas) { |
this.statusEpocas = statusEpocas; |
} |
public List<ConfigurationGradesEpocaAvaliacao> getEpocasAvaliacao() { |
return epocasAvaliacao; |
} |
public void setEpocasAvaliacao(List<ConfigurationGradesEpocaAvaliacao> epocasAvaliacao) { |
this.epocasAvaliacao = epocasAvaliacao; |
} |
public void persist(ConfigurationGrades grades) |
{ |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitGradeView.java |
---|
1,15 → 1,12 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.CourseUnitGrade; |
import pt.estgp.estgweb.domain.CourseUnitGradeImpl; |
import pt.estgp.estgweb.services.courseunits.LoadCourseUnitAnnouncements; |
import org.apache.log4j.Logger; |
import java.util.List; |
import java.util.Set; |
import java.util.HashSet; |
import java.io.Serializable; |
import java.util.Date; |
import java.io.Serializable; |
/** |
* @author Jorge Machado |
31,6 → 28,8 |
private int statusEpoca; |
private UserView student; |
private Date publishDate; |
private String descEpoca; |
private String descStatusEpoca; |
private CourseUnitGrade courseUnitGrade; |
57,6 → 56,8 |
grade = courseUnitGrade.getGrade(); |
statusEpoca = courseUnitGrade.getStatusEpoca(); |
publishDate = courseUnitGrade.getPublishDate(); |
descEpoca = courseUnitGrade.getDescEpoca(); |
descStatusEpoca = courseUnitGrade.getDescStatusEpoca(); |
} |
126,4 → 127,20 |
return df.format(publishDate); |
return ""; |
} |
public String getDescEpoca() { |
return descEpoca; |
} |
public void setDescEpoca(String descEpoca) { |
this.descEpoca = descEpoca; |
} |
public String getDescStatusEpoca() { |
return descStatusEpoca; |
} |
public void setDescStatusEpoca(String descStatusEpoca) { |
this.descStatusEpoca = descStatusEpoca; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java |
---|
1,18 → 1,17 |
package pt.estgp.estgweb.domain.views; |
import jomm.utils.BytesUtils; |
import jomm.utils.DesUtils; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.enums.RecordEnum; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.Globals; |
import java.io.Serializable; |
import java.util.*; |
import jomm.utils.DesUtils; |
import jomm.utils.BytesUtils; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
73,6 → 72,8 |
private List<CourseUnitView> responsableCourseUnits; |
private boolean propinasEmDia = false; |
public UserView() |
{} |
122,6 → 123,7 |
{ |
mainArea = ((Student)user).getMainArea(); |
code = ((Student)user).getSigesCode(); |
propinasEmDia = ((Student)user).isPropinasEmDia(); |
} |
} |
718,7 → 720,15 |
this.deleted = deleted; |
} |
// public List<Course> getCourses() |
public boolean isPropinasEmDia() { |
return propinasEmDia; |
} |
public void setPropinasEmDia(boolean propinasEmDia) { |
this.propinasEmDia = propinasEmDia; |
} |
// public List<Course> getCourses() |
// { |
// if(courses == null) |
// { |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java |
---|
507,7 → 507,7 |
else |
{ |
CourseUnitSummaryView view = new CourseUnitSummaryView(sum); |
if(view.getNumber() < 0 && view.getOriginalDate().getTime() < System.currentTimeMillis()) |
if(view.getNumber() < 0 && view.getOriginalDate().getTime() + 48*60*60*1000 < System.currentTimeMillis()) |
{ |
//System.out.println(view.getNumber() + " " + view.getDate() + " " + view.getOriginalDate()); |
lateSummaries++; |
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
337,4 → 337,24 |
{ |
return new JobServiceTaskSchedulerParameterImpl(); |
} |
public static ConfigurationGradesImpl createConfigurationGradesImpl() |
{ |
return new ConfigurationGradesImpl(); |
} |
public static ConfigurationGradesStatusEpocaImpl createConfigurationGradesStatusEpocaImpl() |
{ |
return new ConfigurationGradesStatusEpocaImpl(); |
} |
public static ConfigurationGradesEpocaAvaliacaoImpl createConfigurationGradesEpocaAvaliacaoImpl() |
{ |
return new ConfigurationGradesEpocaAvaliacaoImpl(); |
} |
public static ConfigurationDirectoryImpl createConfigurationDirectoryImpl() |
{ |
return new ConfigurationDirectoryImpl(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/JobServiceTaskImpl.java |
---|
43,6 → 43,8 |
PENDING, |
STARTED, |
FINISHED, |
FINISHED_ERRORS, |
FINISHED_WARNINGS, |
FAILED, |
UNKNOWN_ERROR; |
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationDirectoryImpl.java |
---|
New file |
0,0 → 1,26 |
package pt.estgp.estgweb.domain; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
/** |
* Created by IntelliJ IDEA. |
* User: Filipe Matos |
* Date: 4/Abr/2013 |
* Time: 17:02:06 |
* To change this template use File | Settings | File Templates. |
*/ |
public class ConfigurationDirectoryImpl extends ConfigurationDirectory |
{ |
private static final Logger logger = Logger.getLogger(ConfigurationDirectoryImpl.class); |
@Override |
public Serializable getSerializable() { |
return getId(); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesStatusEpocaDaoImpl.java |
---|
New file |
0,0 → 1,21 |
package pt.estgp.estgweb.domain.dao.impl; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class ConfigurationGradesStatusEpocaDaoImpl extends ConfigurationGradesStatusEpocaDao |
{ |
public static ConfigurationGradesStatusEpocaDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new ConfigurationGradesStatusEpocaDaoImpl(); |
return (ConfigurationGradesStatusEpocaDaoImpl) myInstance; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesEpocaAvaliacaoDaoImpl.java |
---|
New file |
0,0 → 1,23 |
package pt.estgp.estgweb.domain.dao.impl; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class ConfigurationGradesEpocaAvaliacaoDaoImpl extends ConfigurationGradesEpocaAvaliacaoDao |
{ |
public static ConfigurationGradesEpocaAvaliacaoDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new ConfigurationGradesEpocaAvaliacaoDaoImpl(); |
return (ConfigurationGradesEpocaAvaliacaoDaoImpl) myInstance; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationDaoImpl.java |
---|
1,7 → 1,8 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.Configuration; |
import pt.estgp.estgweb.domain.ConfigurationImpl; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.StringsUtils; |
import java.util.Date; |
import java.util.List; |
27,6 → 28,7 |
public Configuration load() |
{ |
List<Configuration> configs = createCriteria().list(); |
Configuration config = null; |
if(configs.size() == 0) |
{ |
Configuration configuration = new ConfigurationImpl(); |
37,9 → 39,24 |
configuration.setSaveDate(new Date()); |
configuration.setSigesInstitutionCode(1); |
save(configuration); |
return configuration; |
config = configuration; |
} |
return configs.get(0); |
else |
config = configs.get(0); |
if(config.getConfigurationGrades() == null) |
{ |
//init by default with ESTG values |
ConfigurationGradesImpl grades = DomainObjectFactory.createConfigurationGradesImpl(); |
grades.create(); |
for(ConfigurationGradesEpocaAvaliacao epoca: grades.getEpocasAvaliacao()) |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca); |
for(ConfigurationGradesStatusEpoca status: grades.getStatusEpoca()) |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status); |
DaoFactory.getConfigurationGradesDaoImpl().save(grades); |
config.setConfigurationGrades(grades); |
} |
return config; |
} |
public void updateInterfaceImportYearCreateTransaction(String importYear) |
105,6 → 122,15 |
return load().getCourseUnitEvaluationActiveYear(); |
} |
public List<String> getCourseUnitEvaluationActiveDegrees() |
{ |
String degrees = load().getCourseUnitEvaluationActiveDegrees(); |
if(degrees == null || degrees.trim().length() == 0) |
return null; |
List<String> degreesList = StringsUtils.getStringsFromSerial(degrees,";"); |
return degreesList; |
} |
public String getCourseUnitEvaluationActiveYearCreateTransaction() |
{ |
getCurrentSession().beginTransaction(); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java |
---|
133,18 → 133,44 |
{ |
Criteria c = createCriteria(); |
/* c.setProjection(Projections.projectionList() |
.add(Projections.distinct(Projections.id())));*/ |
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); |
c.createAlias("courseUnits","cu"); |
if (importYear != null && importYear.length() > 0) |
c.add(eq("cu.importYear", importYear)); |
String query = "select distinct c from c in class Course join c.courseUnits cu where "; |
String logic = " "; |
if (importYear != null && importYear.length() > 0) |
{ |
query += logic + "cu.importYear = :importYear "; |
logic = " and "; |
} |
if (area != null && area.length() > 0) |
c.add(eq("area", area)); |
{ |
query += logic + "c.area = :area "; |
logic = " and "; |
} |
if (type != null && type.length() > 0) |
c.add(eq("degree", type)); |
return c.addOrder(Order.asc("name")) |
.list(); |
{ |
query += logic + "c.degree = :degree "; |
logic = " and "; |
} |
query += " order by c.name asc"; |
Query q = getCurrentSession().createQuery(query); |
if (importYear != null && importYear.length() > 0) |
{ |
q.setString("importYear",importYear); |
} |
if (area != null && area.length() > 0) |
{ |
q.setString("area",area); |
} |
if (type != null && type.length() > 0) |
{ |
q.setString("degree",type); |
} |
/* c.setProjection(Projections.projectionList() |
.add(Projections.distinct(Projections.id())));*/ |
return q.list(); |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationDirectoryDaoImpl.java |
---|
New file |
0,0 → 1,46 |
package pt.estgp.estgweb.domain.dao.impl; |
import jomm.dao.impl.AbstractDao; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.ConfigurationDirectoryImpl; |
import java.util.List; |
import static org.hibernate.criterion.Restrictions.eq; |
/** |
* Created by IntelliJ IDEA. |
* User: Filipe Matos |
* Date: 18/Jul/2013 |
* Time: 19:37:29 |
* To change this template use File | Settings | File Templates. |
*/ |
public class ConfigurationDirectoryDaoImpl extends AbstractDao<ConfigurationDirectoryImpl>{ |
private static final Logger logger = Logger.getLogger(ConfigurationDirectoryDaoImpl.class); |
protected static ConfigurationDirectoryDaoImpl myInstance = null; |
public static ConfigurationDirectoryDaoImpl getInstance() { |
if (myInstance == null || !(myInstance instanceof ConfigurationDirectoryDaoImpl)) |
myInstance = new ConfigurationDirectoryDaoImpl(); |
return (ConfigurationDirectoryDaoImpl) myInstance; |
} |
@Override |
protected Class getReferenceClass() { |
return ConfigurationDirectoryImpl.class; |
} |
public ConfigurationDirectoryImpl loadDirectory(String identifier) |
{ |
List<ConfigurationDirectoryImpl> dirs = createCriteria().add(eq("idDir", identifier)).list(); |
if(dirs != null && dirs.size() > 0) |
{ |
return dirs.get(0); |
} |
else |
{ |
return null; |
} |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesDaoImpl.java |
---|
New file |
0,0 → 1,21 |
package pt.estgp.estgweb.domain.dao.impl; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class ConfigurationGradesDaoImpl extends ConfigurationGradesDao |
{ |
public static ConfigurationGradesDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new ConfigurationGradesDaoImpl(); |
return (ConfigurationGradesDaoImpl) myInstance; |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
492,8 → 492,10 |
public List<CourseMissingValidationEvaluation> loadMissingEvaluationValidate(UserSession userSession) |
{ |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
if(activeYear == null) |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
if(activeYear == null || activeDegrees == null || activeDegrees.size() == 0) |
return new ArrayList<CourseMissingValidationEvaluation>(); |
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>(); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(); |
for(Course course: courses) |
518,28 → 520,49 |
public List<CourseUnit> loadMissingEvaluationValidateGivenCourse(long courseId) |
{ |
if(DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear()==null) |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
if(activeDegrees == null || activeYear==null || activeDegrees.size() == 0) |
return new ArrayList<CourseUnit>(); |
Criterion degreesCrit = getCourseUnitActiveDegreeCriterion(activeDegrees); |
return createCriteria() |
.createAlias("course", "c") |
.createAlias("courseUnitEvaluation", "ce") |
.add(eq("c.id", courseId)) |
.add(eq("importYear", DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear())) |
//.add(ge("importYear", "201415"))//FirstYear where there was configurations |
.add(eq("importYear", activeYear)) |
.add(degreesCrit) |
.add((eq("ce.closed", false))) |
.add((eq("ce.teacherComplete", true))) |
.list(); |
} |
private Criterion getCourseUnitActiveDegreeCriterion(List<String> activeDegres) |
{ |
Criterion degreesCrit = null; |
for(String degree: activeDegres) |
{ |
if(degreesCrit == null) |
degreesCrit = eq("c.degree",degree); |
else |
degreesCrit = or(degreesCrit,eq("c.degree",degree)); |
} |
return degreesCrit; |
} |
public List<CourseUnit> loadTeacherUnitsMissingEvaluation(UserSession userSession) |
{ |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
if(activeYear == null) |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
if(activeYear == null || activeDegrees == null || activeDegrees.size() == 0) |
return new ArrayList<CourseUnit>(); |
Criterion degreesCrit = getCourseUnitActiveDegreeCriterion(activeDegrees); |
List<CourseUnit> nulls = |
createCriteria() |
.createAlias("course", "c") |
.createAlias("teachers","t") |
.add(eq("importYear", DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear())) |
//.add(not(eq("importYear", DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()))) |
547,11 → 570,13 |
//.add(isNull("courseUnitEvaluation")) |
//todo novo testar |
.add(eq("t.id", userSession.getUser().getId())) |
.add(degreesCrit) |
.add(isNull("courseUnitEvaluation")) |
.list(); |
List<CourseUnit> teacherCompleteFalse = |
createCriteria() |
.createAlias("course", "c") |
.createAlias("courseUnitEvaluation", "ce") |
.createAlias("teachers","t") |
.add(eq("t.id", userSession.getUser().getId())) |
560,6 → 585,7 |
//.add(ge("importYear", "201415" )) |
//.add(isNull("courseUnitEvaluation")) |
//todo novo testar |
.add(degreesCrit) |
.add(eq("ce.teacherComplete",false)) |
.list(); |
teacherCompleteFalse.addAll(nulls); |
570,8 → 596,10 |
public List<CourseMissingValidationEvaluation> loadMissingEvaluation(UserSession userSession) |
{ |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
if(activeYear == null) |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
if(activeYear == null || activeDegrees == null || activeDegrees.size() == 0) |
return new ArrayList<CourseMissingValidationEvaluation>(); |
List<CourseMissingValidationEvaluation> result = new ArrayList<CourseMissingValidationEvaluation>(); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(); |
for(Course course: courses) |
593,18 → 621,21 |
public List<CourseUnit> loadMissingEvaluation(long courseId) |
{ |
if(DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear()==null) |
String activeYear = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear(); |
List<String> activeDegrees = DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveDegrees(); |
if(activeYear == null || activeDegrees == null || activeDegrees.size() == 0) |
return new ArrayList<CourseUnit>(); |
Criterion degreesCrit = getCourseUnitActiveDegreeCriterion(activeDegrees); |
List<CourseUnit> nulls = |
createCriteria() |
.createAlias("course", "c") |
.add(eq("c.id", courseId)) |
.add(eq("importYear", DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear())) |
//.add(not(eq("importYear", DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()))) |
//.add(ge("importYear", "201415" )) |
//.add(isNull("courseUnitEvaluation")) |
//todo novo testar |
.add(eq("importYear", activeYear)) |
.add(degreesCrit) |
.add(isNull("courseUnitEvaluation")) |
.list(); |
613,11 → 644,8 |
.createAlias("course", "c") |
.createAlias("courseUnitEvaluation", "ce") |
.add(eq("c.id", courseId)) |
.add(eq("importYear", DaoFactory.getConfigurationDaoImpl().getCourseUnitEvaluationActiveYear())) |
//.add(not(eq("importYear", DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear()))) |
//.add(ge("importYear", "201415" )) |
//.add(isNull("courseUnitEvaluation")) |
//todo novo testar |
.add(degreesCrit) |
.add(eq("importYear", activeYear)) |
.add(eq("ce.teacherComplete", false)) |
.list(); |
teacherCompleteFalse.addAll(nulls); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitGradeDaoImpl.java |
---|
1,19 → 1,9 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.BlogImpl; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.CourseUnitGrade; |
import pt.estgp.estgweb.domain.dao.DaoUtils; |
import pt.estgp.estgweb.services.common.SearchTypeEnum; |
import java.util.List; |
import java.util.ArrayList; |
import static org.hibernate.criterion.Restrictions.eq; |
import org.hibernate.Criteria; |
import org.hibernate.criterion.Criterion; |
import org.hibernate.criterion.Order; |
import static org.hibernate.criterion.Restrictions.*; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
40,5 → 30,14 |
.uniqueResult(); |
} |
public CourseUnitGrade find(long courseUnitId, long studentId, String momento,String epoca) |
{ |
return (CourseUnitGrade) createCriteria().add(eq("student.id",studentId)) |
.add(eq("courseUnit.id",courseUnitId)) |
.add(eq("codigoMomento",momento)) |
.add(eq("codigoEpoca",epoca)) |
.uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java |
---|
327,5 → 327,22 |
return ConfigurationDaoImpl.getInstance(); |
} |
public static ConfigurationGradesDaoImpl getConfigurationGradesDaoImpl() { |
return ConfigurationGradesDaoImpl.getInstance(); |
} |
public static ConfigurationGradesEpocaAvaliacaoDaoImpl getConfigurationGradesEpocaAvaliacaoDaoImpl() { |
return ConfigurationGradesEpocaAvaliacaoDaoImpl.getInstance(); |
} |
public static ConfigurationGradesStatusEpocaDaoImpl getConfigurationGradesStatusEpocaDaoImpl() { |
return ConfigurationGradesStatusEpocaDaoImpl.getInstance(); |
} |
public static ConfigurationDirectoryDaoImpl getConfigurationDirectoryDaoImpl() { |
return ConfigurationDirectoryDaoImpl.getInstance(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacaoImpl.java |
---|
New file |
0,0 → 1,29 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
import java.util.Date; |
/** |
* Created by jorgemachado on 02/11/15. |
*/ |
public class ConfigurationGradesEpocaAvaliacaoImpl extends ConfigurationGradesEpocaAvaliacao { |
public ConfigurationGradesEpocaAvaliacaoImpl() |
{ |
} |
@Override |
public Serializable getSerializable() { |
return getId(); |
} |
public static ConfigurationGradesEpocaAvaliacao create(String epoca, String momento, String descricao) |
{ |
ConfigurationGradesEpocaAvaliacao obj = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl(); |
obj.setCodigoMomento(momento); |
obj.setCodigoEpoca(epoca); |
obj.setDescricao(descricao); |
obj.setSaveDate(new Date()); |
return obj; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/JobServiceTaskSchedulerImpl.java |
---|
16,4 → 16,41 |
public Serializable getSerializable() { |
return getId(); |
} |
public String getWeekDayMsgKey() |
{ |
String dayOfTheWeek = ""; |
int i = getWeekday(); |
if(i == 2){ |
dayOfTheWeek = "Mon"; |
} else if (i==3){ |
dayOfTheWeek = "Tue"; |
} else if (i==4){ |
dayOfTheWeek = "Wed"; |
} else if (i==5){ |
dayOfTheWeek = "Thu"; |
} else if (i==6){ |
dayOfTheWeek = "Fri"; |
} else if (i==7){ |
dayOfTheWeek = "Sat"; |
} else if (i==1){ |
dayOfTheWeek = "Sun"; |
} |
return dayOfTheWeek; |
} |
public String getTypeMsgKey() |
{ |
if(isDaily()) |
return "dally"; |
else if(isMonthly()) |
return "monthly"; |
else if(isWeekly()) |
return "weekly"; |
else if(isNow()) |
return "now"; |
else |
return "unknown"; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesImpl.java |
---|
New file |
0,0 → 1,68 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
import java.util.HashSet; |
import java.util.Set; |
/** |
* Created by jorgemachado on 02/11/15. |
*/ |
public class ConfigurationGradesImpl extends ConfigurationGrades { |
public ConfigurationGradesImpl() |
{ |
} |
@Override |
public Serializable getSerializable() { |
return getId(); |
} |
public void create() |
{ |
Set<ConfigurationGradesEpocaAvaliacao> epocas = new HashSet<ConfigurationGradesEpocaAvaliacao>(); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("3", "99", "Época de Recurso")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("4", "99", "Exame de Melhoria")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("5", "99", "Época Especial")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("14", "99", "2ª Oportunidade - Bolonha (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("6", "99", "Equivalência")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("7", "99", "Estatutos Especiais/Dirigente Associativo (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("12", "99", "Equivalência Vasco da Gama (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("13", "99", "Atleta de Alta Competição (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("20", "99", "Época Normal (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("22", "99", "Equivalência Erasmus (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("36", "99", "Época de Recurso (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("37", "99", "Época de Melhoria (ESTG)")); |
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("38", "99", "Época Especial (ESTG)")); |
setEpocasAvaliacao(epocas); |
Set<ConfigurationGradesStatusEpoca> status = new HashSet<ConfigurationGradesStatusEpoca>(); |
status.add(ConfigurationGradesStatusEpocaImpl.create("1","Inscrito")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("2","Avaliado")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("19","A Terminar Posteriormente 6 A pagamento")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("5","Anulou")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("7","Faltou")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("8","Desistiu")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("9","Dispensado")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("3","Aprovado")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("4","Reprovado")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("10","Admitido a Exame")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("11","Não Admitido")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("12","Sem avaliação")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("13","Insc. Pendente")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("14","Sem elementos de avaliação")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("15","Reprovado por faltas")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("16","Não atingiu a nota minima")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("18","Aguarda Equivalência")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("17","Não cumpriu critérios de avaliação")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("20","Prova anulada")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("21","Não atingiu todas as competências da unidade")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("22","Sem Nota Lançada")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("23","Frequentou")); |
status.add(ConfigurationGradesStatusEpocaImpl.create("24","Melhoria não Atribuida")); |
setStatusEpoca(status); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java |
---|
1,5 → 1,6 |
package pt.estgp.estgweb.web; |
import jomm.utils.DesUtils; |
import jomm.web.ftp.FileType; |
import jomm.web.ftp.IFile; |
import jomm.web.ftp.impl.FtpFile; |
12,6 → 13,8 |
import org.dom4j.DocumentException; |
import org.dom4j.Element; |
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.utils.Dom4jUtil; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
169,7 → 172,12 |
{ |
endPath = path.substring(startPath.length()); |
} |
path = startPath + leafUrl + endPath; |
if(leafUrl.endsWith("/") && endPath.startsWith("/")) |
{ |
path = startPath + leafUrl.substring(0,leafUrl.length()-1) + endPath; |
} |
else |
path = startPath + leafUrl + endPath; |
} |
if(!extendDiretoryDocument(request, response, path, proxyKey, server, startPath + leafUrl, directoryDocument)) |
return; |
220,6 → 228,22 |
{ |
String user = ConfigProperties.getProperty(serverStr + ".user"); |
String pass = ConfigProperties.getProperty(serverStr + ".pass"); |
boolean useDefaultCredentialsRead = ConfigProperties.getBooleanProperty(serverStr + ".use.default.credentials.to.read"); |
if(!useDefaultCredentialsRead) |
{ |
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request); |
String passwordUserInSession = (String) ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD); |
if(passwordUserInSession == null || userSession.getUser() == null) |
{ |
logger.warn("There is no user authenticated, is configured to not use default credentials, but will use default password for server " + serverStr); |
} |
else |
{ |
user = userSession.getUsername(); |
pass = DesUtils.getInstance().decrypt(passwordUserInSession); |
logger.warn("Will use User Credentials for server " + serverStr + " and user " + user); |
} |
} |
if (path != null) |
{ |
251,6 → 275,7 |
for (IFile iFile : iFiles) |
{ |
Element iFileElem = actualNode.addElement("leaf"); |
addAttribute(iFileElem, "node", "false"); |
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + "0_" + iFile.getName()); |
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + "0_").length()); |
276,7 → 301,7 |
String pathAux = path.substring(startPath.length()); |
String[] pathFragments; |
if(path.startsWith("/")) |
if(pathAux.startsWith("/")) |
pathFragments = pathAux.substring(1).split("/"); |
else |
pathFragments = pathAux.split("/"); |
292,8 → 317,8 |
String actualId = null; |
for (IFile iFile : iFiles) |
{ |
Element iFileElem = actualNode.addElement("node"); |
Element iFileElem = actualNode.addElement("leaf"); |
addAttribute(iFileElem, "node", "true"); |
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + "0_" + iFile.getName()); |
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + "0_").length()); |
342,9 → 367,15 |
Element iFileElem; |
if(i == pathFragments.length - 1) |
{ |
iFileElem = goDeepElement.addElement("leaf"); |
addAttribute(iFileElem, "node","false"); |
} |
else |
iFileElem = goDeepElement.addElement("node"); |
{ |
iFileElem = goDeepElement.addElement("leaf"); |
addAttribute(iFileElem, "node","true"); |
} |
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + (i+1) + "_" + iFile.getName()); |
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + (i+1) + "_").length()); |
/impl/src/java/pt/estgp/estgweb/web/utils/DatesUtils.java |
---|
1,13 → 1,12 |
package pt.estgp.estgweb.web.utils; |
import jomm.utils.MyCalendar; |
import org.apache.log4j.Logger; |
import java.text.SimpleDateFormat; |
import java.util.Calendar; |
import java.util.Date; |
import java.util.Calendar; |
import java.text.SimpleDateFormat; |
import org.apache.log4j.Logger; |
/** |
* @author Jorge Machado |
* @date 6/Mar/2008 |
19,6 → 18,7 |
private static final Logger logger = Logger.getLogger(DatesUtils.class); |
private static SimpleDateFormat hourMinute = new SimpleDateFormat("HH:mm"); |
private static SimpleDateFormat minutesSecondsDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); |
private static SimpleDateFormat filenameDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss"); |
private static SimpleDateFormat userViewDateFormat = new SimpleDateFormat("yyyy/MM/dd"); |
64,4 → 64,9 |
return null; |
} |
} |
public String getTimeHHMM(Date d) |
{ |
return hourMinute.format(d); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/DirLayoutController.java |
---|
1,36 → 1,29 |
package pt.estgp.estgweb.web; |
import org.apache.struts.action.Action; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.log4j.Logger; |
import org.apache.commons.net.ftp.FTPClient; |
import org.apache.commons.net.ftp.FTPFile; |
import org.apache.commons.httpclient.util.URIUtil; |
import org.dom4j.*; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.services.directories.DirectoryNodeType; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.*; |
import java.util.List; |
import java.io.IOException; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
import java.net.URL; |
import java.net.MalformedURLException; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.services.directories.DirectoryNodeType; |
import jomm.web.ftp.IFile; |
import jomm.web.ftp.impl.FtpFile; |
import jomm.web.utils.NavPlace; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
107,8 → 100,24 |
try |
{ |
Document directoryDocument = Dom4jUtil.parseSourceFileFromCache("/pt/estgp/estgweb/directories/" + directory + ".xml"); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{directory}; |
Document directoryDocument; |
try |
{ |
String dXml = (String) sm.execute(RequestUtils.getRequester(request, response), "LoadDirectoryServiceXml", args, names); |
directoryDocument = Dom4jUtil.parse(dXml); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw new IOException(e.toString()); |
} |
if (path.startsWith("/")) |
path = path.substring(1); |
String[] ids = path.split("/"); |
133,13 → 142,14 |
if (r != null) |
rights.add(r); |
String name = idElem.getQName().getName(); |
if (name.equals("leaf")) |
boolean node = Boolean.parseBoolean(idElem.attributeValue("node")); |
if (name.equals("leaf") && !node) |
{ |
directoryNodeType = DirectoryNodeType.leaf; |
actualNodeId = id; |
actualNode = idElem; |
} |
else if (name.equals("node")) |
else if (name.equals("leaf") && node) |
{ |
directoryNodeType = DirectoryNodeType.node; |
actualNodeId = id; |
234,8 → 244,7 |
} |
} |
} |
catch (DocumentException e) |
{ |
catch (Throwable e) { |
logger.error(e, e); |
throw new IOException(e.toString()); |
} |
350,8 → 359,8 |
} |
public static Namespace dirNamespace = new Namespace("d", "http://www.estgp.pt/baco/directory/"); |
public static QName nodeDir = new QName("node", dirNamespace); |
public static QName leafDir = new QName("leaf", dirNamespace); |
//public static QName nodeDir = new QName("node", dirNamespace); |
//public static QName leafDir = new QName("leaf", dirNamespace); |
private boolean pruneDocument(Element startElem, Map namespaces, UserSession userSession) |
{ |
363,8 → 372,12 |
parentNode.remove(startElem); |
return false; |
} |
List<Element> nodes = startElem.elements(nodeDir); |
List<Element> leafs = startElem.elements(leafDir); |
XPath leafXpath = startElem.createXPath("./d:leaf[@node='false']"); |
XPath nodeXpath = startElem.createXPath("./d:leaf[@node='true']"); |
leafXpath.setNamespaceURIs(namespaces); |
nodeXpath.setNamespaceURIs(namespaces); |
List<Element> nodes = nodeXpath.selectNodes(startElem); |
List<Element> leafs = leafXpath.selectNodes(startElem); |
for (Element childNode : nodes) |
{ |
pruneDocument(childNode, namespaces, userSession); |
387,11 → 400,11 |
{ |
Rights rights = new Rights(); |
XPath userXpath = rightsElem.createXPath("./d:user"); |
XPath userXpath = rightsElem.createXPath("./d:right[@target='user']"); |
userXpath.setNamespaceURIs(namespaces); |
List<Element> userElems = userXpath.selectNodes(rightsElem); |
XPath roleXpath = rightsElem.createXPath("./d:role"); |
XPath roleXpath = rightsElem.createXPath("./d:right[@target='role']"); |
roleXpath.setNamespaceURIs(namespaces); |
List<Element> rolesElems = roleXpath.selectNodes(rightsElem); |
408,7 → 421,7 |
{ |
RightsT rightsT = new RightsT(); |
rightsT.rightsTClass = RightsT.RightsTClass.user; |
rightsT.text = userElem.getText(); |
rightsT.text = userElem.attribute("name").getText(); |
String type = userElem.attribute("type").getText(); |
if (type.equals("permit")) |
rightsT.type = RightsT.RightsTType.permit; |
424,7 → 437,7 |
{ |
RightsT rightsT = new RightsT(); |
rightsT.rightsTClass = RightsT.RightsTClass.role; |
rightsT.text = roleElem.getText(); |
rightsT.text = roleElem.attribute("name").getText(); |
String type = roleElem.attribute("type").getText(); |
if (type.equals("permit")) |
rightsT.type = RightsT.RightsTType.permit; |
/impl/src/java/pt/estgp/estgweb/web/form/configuration/DirectoriesForm.java |
---|
New file |
0,0 → 1,71 |
package pt.estgp.estgweb.web.form.configuration; |
import pt.estgp.estgweb.services.directories.xsd.Directory; |
import pt.estgp.estgweb.services.directories.xsd.DirectoryImpl; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
* @see pt.estgp.estgweb.web.form.courses |
*/ |
public class DirectoriesForm extends ApplicationForm |
{ |
private Directory directory; |
private String id; |
private String rtarget; |
private String rtype; |
private String rname; |
public DirectoriesForm() |
{ |
} |
public Directory getDirectory() |
{ |
if(directory == null) |
directory = new DirectoryImpl(); |
return directory; |
} |
public void setDirectory(Directory directory) |
{ |
this.directory = directory; |
} |
public String getId() { |
return id; |
} |
public void setId(String id) { |
this.id = id; |
} |
public String getRtarget() { |
return rtarget; |
} |
public void setRtarget(String rtarget) { |
this.rtarget = rtarget; |
} |
public String getRtype() { |
return rtype; |
} |
public void setRtype(String rtype) { |
this.rtype = rtype; |
} |
public String getRname() { |
return rname; |
} |
public void setRname(String rname) { |
this.rname = rname; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/form/configuration/ConfigurationGradesForm.java |
---|
New file |
0,0 → 1,60 |
package pt.estgp.estgweb.web.form.configuration; |
import jomm.utils.AutoFillArrayList; |
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacaoImpl; |
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpocaImpl; |
import pt.estgp.estgweb.domain.views.ConfigurationGradesView; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
* @see pt.estgp.estgweb.web.form.courses |
*/ |
public class ConfigurationGradesForm extends ApplicationForm |
{ |
private String dispatch; |
private long id; |
private ConfigurationGradesView configurationGrades; |
public ConfigurationGradesForm() |
{ |
} |
public ConfigurationGradesView getConfigurationGrades() { |
if(configurationGrades == null) |
{ |
configurationGrades = new ConfigurationGradesView(); |
List o = new AutoFillArrayList<ConfigurationGradesEpocaAvaliacaoImpl>(ConfigurationGradesEpocaAvaliacaoImpl.class); |
List o2 = new AutoFillArrayList<ConfigurationGradesStatusEpocaImpl>(ConfigurationGradesStatusEpocaImpl.class); |
configurationGrades.setEpocasAvaliacao(o); |
configurationGrades.setStatusEpocas(o2); |
} |
return configurationGrades; |
} |
public String getOp() { |
return dispatch; |
} |
public void setOp(String dispatch) { |
this.dispatch = dispatch; |
} |
public void setConfigurationGrades(ConfigurationGradesView configurationGrades) { |
this.configurationGrades = configurationGrades; |
} |
public long getId() { |
return id; |
} |
public void setId(long id) { |
this.id = id; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/form/configuration/SchedulleTasksForm.java |
---|
New file |
0,0 → 1,46 |
package pt.estgp.estgweb.web.form.configuration; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.JobServiceTaskSchedulerImpl; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
/** |
* @author Jorge Machado |
* @date 25/Jun/2008 |
* @see pt.estgp.estgweb.web.form.courses |
*/ |
public class SchedulleTasksForm extends ApplicationForm |
{ |
private JobServiceTaskSchedulerImpl jobScheduller; |
private String id; |
public SchedulleTasksForm() |
{ |
} |
public JobServiceTaskSchedulerImpl getDirectory() |
{ |
if(jobScheduller == null) |
jobScheduller = DomainObjectFactory.createJobServiceTaskSchedulerImpl(); |
return jobScheduller; |
} |
public void setJobScheduller(JobServiceTaskSchedulerImpl jobScheduller) { |
this.jobScheduller = jobScheduller; |
} |
public String getId() { |
return id; |
} |
public void setId(String id) { |
this.id = id; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/profile/ProfileController.java |
---|
1,33 → 1,38 |
package pt.estgp.estgweb.web.controllers.profile; |
import java.io.Serializable; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.views.RecordView; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.AddRolesController; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
import pt.estgp.estgweb.web.form.profile.ProfileForm; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.domain.views.RecordView; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.*; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.*; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.Serializable; |
import java.util.List; |
import java.util.ArrayList; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
522,4 → 527,32 |
} |
} |
public ActionForward addRole(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
ProfileForm profileForm = (ProfileForm) form; |
UserView uV = loadUser(profileForm.getUserView().getId(), request, response); |
profileForm.getUserView().setPasswordLocal(uV.isPasswordLocal()); |
profileForm.setUserView(uV); |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request, response); |
return super.addRole(mapping,form,request,response); |
} |
public ActionForward removeRole(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
ProfileForm profileForm = (ProfileForm) form; |
UserView uV = loadUser(profileForm.getUserView().getId(), request, response); |
profileForm.setUserView(uV); |
profileForm.getUserView().setPasswordLocal(uV.isPasswordLocal()); |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request, response); |
return super.removeRole(mapping,form,request,response); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/DirectoriesController.java |
---|
New file |
0,0 → 1,339 |
package pt.estgp.estgweb.web.controllers.configuration; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.services.directories.xsd.*; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.configuration.DirectoriesForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.Iterator; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class DirectoriesController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(DirectoriesController.class); |
public ActionForward load(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.getId()}; |
try |
{ |
Directory d = (Directory) sm.execute(RequestUtils.getRequester(request, response), "LoadDirectoryService", args, names); |
df.setDirectory(d); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
return mapping.findForward("directory"); |
} |
public ActionForward addLeaf(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"); |
} |
addMessage(request,"directories.add.leaf",idParent); |
leaf.getLeaf().add(new LeafTImpl()); |
return mapping.findForward("directory"); |
} |
public ActionForward refresh(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.refresh"); |
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"); |
} |
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"); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/SchedulerTasksController.java |
---|
New file |
0,0 → 1,339 |
package pt.estgp.estgweb.web.controllers.configuration; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.services.directories.xsd.*; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.configuration.DirectoriesForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.Iterator; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class SchedulerTasksController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(SchedulerTasksController.class); |
public ActionForward load(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.getId()}; |
try |
{ |
Directory d = (Directory) sm.execute(RequestUtils.getRequester(request, response), "LoadDirectoryService", args, names); |
df.setDirectory(d); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
return mapping.findForward("directory"); |
} |
public ActionForward addLeaf(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"); |
} |
addMessage(request,"directories.add.leaf",idParent); |
leaf.getLeaf().add(new LeafTImpl()); |
return mapping.findForward("directory"); |
} |
public ActionForward refresh(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.refresh"); |
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"); |
} |
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"); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/GradesController.java |
---|
New file |
0,0 → 1,151 |
package pt.estgp.estgweb.web.controllers.configuration; |
import jomm.dao.impl.AbstractDao; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacao; |
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class GradesController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(GradesController.class); |
public ActionForward saveGrades(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"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
for(ConfigurationGradesEpocaAvaliacao a: f.getConfigurationGrades().getEpocasAvaliacao()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesEpocaAvaliacao persist = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().load(a.getId()); |
persist.setCodigoEpoca(a.getCodigoEpoca()); |
persist.setCodigoMomento(a.getCodigoMomento()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
for(ConfigurationGradesStatusEpoca a: f.getConfigurationGrades().getStatusEpocas()) |
{ |
if(a.getId() > 0) |
{ |
ConfigurationGradesStatusEpoca persist = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().load(a.getId()); |
persist.setStatus(a.getStatus()); |
persist.setObs(a.getObs()); |
persist.setDescricao(a.getDescricao()); |
} |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addEpocaAvaliacao(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"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesEpocaAvaliacao epoca = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getEpocasAvaliacao().add(epoca); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward addSatusEpoca(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"); |
} |
AbstractDao.getCurrentSession().beginTransaction(); |
ConfigurationGradesStatusEpoca status = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl(); |
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getStatusEpoca().add(status); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteEpocaAvaliacao(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"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
public ActionForward deleteStatusEpoca(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"); |
} |
ConfigurationGradesForm f = (ConfigurationGradesForm) form; |
AbstractDao.getCurrentSession().beginTransaction(); |
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().delete(f.getId()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
return mapping.findForward("grades"); |
} |
} |
Property changes: |
Added: svn:executable |
+ * |
/impl/src/java/pt/estgp/estgweb/web/controllers/announcements/MessagesController.java |
---|
1,36 → 1,26 |
package pt.estgp.estgweb.web.controllers.announcements; |
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController; |
import pt.estgp.estgweb.web.form.courses.CourseForm; |
import pt.estgp.estgweb.web.form.announcements.MessagesForm; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.domain.views.CourseView; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
import pt.estgp.estgweb.domain.views.CourseView; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException; |
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService; |
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses; |
import pt.estgp.estgweb.services.announcements.CreateAnnouncementService; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController; |
import pt.estgp.estgweb.web.form.announcements.MessagesForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.List; |
/** |
* @author Jorge Machado |
58,7 → 48,7 |
MessagesForm mF = (MessagesForm) form; |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new String[]{"",mF.getDepartamento()}; |
Object[] args = new String[]{mF.getImportYear(),mF.getDepartamento()}; |
List<CourseView> courseViews = (List<CourseView>) sm.execute(RequestUtils.getRequester(request, response), "LoadCoursesImportYearArea", args, names); |
mF.setCourseViews(courseViews); |
addMessage(request,"submit.todo.message.courses.loaded"); |
/impl/src/java/pt/estgp/estgweb/web/FTPFileProxy.java |
---|
10,6 → 10,7 |
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 javax.servlet.ServletException; |
import javax.servlet.http.HttpServlet; |
40,19 → 41,32 |
String server = objectRequired.substring(0,objectRequired.indexOf("/")); |
String path = objectRequired.substring(objectRequired.indexOf("/")); |
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request); |
String username = ConfigProperties.getProperty(server + ".user"); |
String passwordUserInSession = ConfigProperties.getProperty(server + ".pass"); |
boolean useDefaultCredentialsRead = ConfigProperties.getBooleanProperty(server + ".use.default.credentials.to.read"); |
if(!useDefaultCredentialsRead) |
{ |
String passwordUserInSessionCript = (String) ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD); |
if(passwordUserInSession == null || userSession.getUser() == null) |
{ |
logger.warn("There is no user authenticated, is configured to use not default credentials, but will use default password for server " + server); |
} |
else |
{ |
username = userSession.getUsername(); |
passwordUserInSession = DesUtils.getInstance().decrypt(passwordUserInSessionCript); |
logger.warn("Will use User Credentials for server " + server + " and user " + username); |
} |
} |
UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request); |
String username = userSession != null ? userSession.getUsername() : "UNKNOWN"; |
String passwordUserInSession = (String) ((UserSessionImpl)userSession).get(FtpService.FTP_PASSWORD); |
logger.info("server:" + server); |
logger.info("path:" + path); |
if(username == null || passwordUserInSession == null) |
{ |
response.sendError(401); |
return; |
} |
passwordUserInSession = DesUtils.getInstance().decrypt(passwordUserInSession); |
if(path != null) |
{ |
server = pt.estgp.estgweb.utils.ConfigProperties.getProperty("server." + server); |
/impl/src/java/pt/estgp/estgweb/examples/DBInit.java |
---|
70,6 → 70,9 |
announcement3.setPopupwidthpx(0); |
announcement3.setPosition(0); |
DaoFactory.getAnnouncementDaoImpl().save(announcement3); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
} |
/impl/src/doc/TarefasManutencaoBaco.docx |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/impl/src/doc/mysql/ConfigurarMysql.txt |
---|
New file |
0,0 → 1,11 |
my.conf |
[mysqld] |
default-storage-engine = innodb |
transaction-isolation = READ-COMMITTED |
restart mysql |
restart no mac /usr/local/mysql/support-files/mysql.server restart |
/impl/src/doc/EMAIL_SEND_CONF.doc |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:executable |
+ * |
Added: svn:mime-type |
+ application/octet-stream |