Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1048 → Rev 1067

/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/MessageResourcesCourseUnits.properties
6,6 → 6,7
module.CourseUnits=Unidades Curriculares
course={0} &gt
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/app.properties
55,7 → 55,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
 
/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>-&gt;</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,7 → 26,7
<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>
46,7 → 46,7
<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 → 55,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 → 74,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">
&gt;
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/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">
&gt;
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/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java
6,6 → 6,8
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.enums.LangEnum;
import pt.estgp.estgweb.services.email.EMAILJob;
import pt.estgp.estgweb.services.email.SendEmailService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.jobs.JobScheduleService;
43,10 → 45,38
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
{
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;
89,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();
108,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()))
117,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)
{
134,8 → 177,16
}
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");
}
 
}
 
}
197,7 → 248,7
 
private void sendEmail(UserSession userSession)
{
/*
 
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0)
{
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet();
211,13 → 262,13
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()));
JobScheduleService.getInstance().scheduleNow(emailJob,"New Grades EMAIL: to" + s.getUsername(),userSession);
}
}*/
}
}
 
/**
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java
323,6 → 323,7
else
{
student.setPropinasEmDia(false);
student.setPropinasEmDiaYear(activeImportYear);
 
for(AlunoHistorico hist: alunoSiges.getHistoricos().getAlunoHistorico())
{
331,6 → 332,7
if(hist.getPropinaEmDia().equalsIgnoreCase("s"))
{
student.setPropinasEmDia(true);
student.setPropinasEmDiaYear(activeImportYear);
}
break;
}
/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/directories/DirectoryService.java
4,8 → 4,12
import org.dom4j.Document;
import org.dom4j.DocumentException;
import pt.estgp.estgweb.domain.DirectoryImpl;
import pt.estgp.estgweb.services.directories.xsd.Directory;
import pt.estgp.estgweb.utils.Dom4jUtil;
 
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
68,4 → 72,24
}
return directories;
}
 
public Directory loadDirectory(String identifier)
{
Directory directory = null;
JAXBContext jc = null;
try {
jc = JAXBContext.newInstance(Directory.class);
 
Unmarshaller unmarshaller = jc.createUnmarshaller();
directory = (Directory) unmarshaller.unmarshal(DirectoryService.class.getResourceAsStream("/pt/estgp/estgweb/directories/" + identifier + ".xml"));
 
// Marshaller marshaller = jc.createMarshaller();
// marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// marshaller.marshal(directory, System.out);
 
} catch (JAXBException e) {
e.printStackTrace();
}
return directory;
}
}
/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/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/dao/impl/ConfigurationGradesEpocaAvaliacaoDaoImpl.java
18,4 → 18,6
 
 
 
 
 
}
/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/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/ConfigurationGradesImpl.java
22,6 → 22,11
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)"));
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java
251,6 → 251,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());
292,8 → 293,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 → 343,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/DirLayoutController.java
1,36 → 1,26
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 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
133,13 → 123,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;
350,8 → 341,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 → 354,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 → 382,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 → 403,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 → 419,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/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/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/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/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml
105,11 → 105,14
<property name="propinasEmDia" type="boolean" >
<column name="propinasEmDia" default="false"/>
</property>
<property name="propinasEmDiaYear" type="string" >
<column name="propinasEmDiaYear" length="10"/>
</property>
<set name="subscribedUnits" lazy="true" order-by="courseUnitId" table="subscribedunits">
<key column="studentId"/>
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/>
</set>
<set name="courseUnitGrades" order-by="courseUnit asc" lazy="true">
<set name="courseUnitGrades" order-by="publishDate asc" lazy="true">
<key column="student"/>
<one-to-many class="pt.estgp.estgweb.domain.CourseUnitGrade"/>
</set>
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml
147,6 → 147,10
<property name="grade" type="int" index="gradeIndex"/>
<property name="normalizedCourseUnitName" type="string"/>
<property name="statusEpoca" type="int" index="statusEpocaIndex"/>
<property name="descStatusEpoca" type="string"/>
<property name="descEpoca" type="string" />
<property name="codigoMomento" type="string" />
<property name="codigoEpoca" type="string" />
<property name="importYear" type="string" index="importYearIndex"/>
<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>
<many-to-one name="student" class="pt.estgp.estgweb.domain.Student" lazy="false" outer-join="true"/>
/impl/src/web/admin/profile/menu.jsp
21,6 → 21,7
request.setAttribute("user", user);
request.setAttribute("fromAction", fromAction);
%>
<jsp:useBean id="ProfileForm" type="pt.estgp.estgweb.web.form.profile.ProfileForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle">Perfil</div>
39,13 → 40,21
</li>
 
</baco:isModuleOn>
<baco:hasRole role="student">
<baco:isModuleOn module="courseunits">
<baco:isModuleOn module="courseunits">
<%--Se for aluno so ve o link se forem as suas se for Admin mete-se o link do profileId em uso--%>
<baco:hasRole role="student">
<logic:equal value="${ProfileForm.userView.id}" name="UserSession" property="user.id">
<li>
<html:link action="/user/startProfileGrades"><bean:message key="profile.grades"/></html:link>
</li>
</logic:equal>
</baco:hasRole>
<baco:hasRole role="admin,services">
<li>
<html:link action="/user/startProfileGrades"><bean:message key="profile.grades"/></html:link>
<a href="<%=request.getContextPath()%>/user/profile.do?dispatch=grades&userView.id=${ProfileForm.userView.id}"><bean:message key="profile.grades"/></a>
</li>
</baco:isModuleOn>
</baco:hasRole>
</baco:hasRole>
</baco:isModuleOn>
</ul>
</div>
</div>
/impl/src/web/admin/profile/profilePersonalData.jsp
124,6 → 124,8
<html:text property="userView.username" maxlength="250" readonly="true" styleClass="readOnly text"/>
</td>
</tr>
 
 
<%
if(!Globals.USE_LDAP)
{
200,8 → 202,26
 
</td>
</tr>
<%
 
pt.estgp.estgweb.web.form.profile.ProfileForm pf = (pt.estgp.estgweb.web.form.profile.ProfileForm) request.getAttribute("ProfileForm");
if(pf.getUserView().getUser() instanceof pt.estgp.estgweb.domain.StudentImpl)
{
%>
<tr>
<th>
Propinas em Dia
</th>
<td>
<logic:equal value="true" name="ProfileForm" property="userView.propinasEmDia">Sim</logic:equal>
<logic:equal value="false" name="ProfileForm" property="userView.propinasEmDia">Não</logic:equal>
</td>
</tr>
<%
}
%>
<tr>
<th>
<bean:message key="username"/>
</th>
<td>
270,6 → 290,7
</td>
</tr>
</baco:isAdmin>
 
<baco:hasNotRole role="teacher">
<tr>
<th>
/impl/src/web/admin/configuration/directory.jsp
New file
0,0 → 1,208
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.services.directories.DirectoryService" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.Directory" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.LeafT" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.NodeT" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>
 
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
 
 
<script src="<%=request.getContextPath()%>/js/jquerytables/jquery-2.1.4.min.js"></script>
<script src="<%=request.getContextPath()%>/js/jquerytables/bootstrap/js/bootstrap.min.js"></script>
 
<script type="text/javascript" language="JavaScript">
//TABLE SORTER
 
 
$(document).ready(function () {
 
// $('#myTable').tablesorter();
// $('#myTable2').tablesorter();
}
);
</script>
<%
 
AbstractDao.getCurrentSession().beginTransaction();
 
Directory d = new DirectoryService().loadDirectory("student");
 
request.setAttribute("Directory", d);
%>
<jsp:useBean id="Directory" type="pt.estgp.estgweb.services.directories.xsd.Directory" scope="request"/>
 
<div class="container">
 
<nested:root name="Directory">
 
 
<div class="panel panel-default">
<div class="panel-heading">
Directório <nested:text property="id" readonly="true"/>
</div>
 
<div class="panel-body">
<div class="panel panel-default">
<div class="panel-heading">
Configurações de Directorio
</div>
<div class="panel-body">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Label</th>
<th>Label EN</th>
<th>Label ES</th>
<th>Chave Ficheiro Mensagens</th>
</tr>
</thead>
<tbody>
<tr>
<td><nested:text style="width: 100%" property="label"/></td>
<td><nested:text style="width: 100%" property="labelEn"/></td>
<td><nested:text style="width: 100%" property="labelEs"/></td>
<td><nested:text style="width: 100%" property="menuKey"/></td>
</tr>
</tbody>
</table>
<br/>
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Layout Elemento Raiz</th>
<th>Layout Seguinte</th>
<th>Papel Alvo</th>
<th>Folha Estilo</th>
</tr>
</thead>
<tbody>
<tr>
<td><nested:text style="width: 100%" property="layoutRoot"/></td>
<td><nested:text style="width: 100%" property="layout"/> <br/></td>
<td>
<nested:select property="targetRole">
<html:option value="all">Todos</html:option>
<html:option value="teacher">Professor</html:option>
<html:option value="student">Estudante</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="style"/></td>
</tr>
</tbody>
</table>
<br/>
<p>Grupos no Directorio (Para directorios com o style1.xsl)</p>
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>ID Grupo</th>
<th>Descrição</th>
</tr>
</thead>
<tbody>
<nested:iterate id="grupo" property="groupsDeclaration.group">
<tr>
<td><nested:text style="width: 100%" property="name"/></td>
<td><nested:text style="width: 100%" property="description"/></td>
</tr>
</nested:iterate>
</table>
<br/>
<p>Direitos Acesso no Directorio
<nested:select property="rights.internal">
<html:option value="false">Normal</html:option>
<html:option value="true">Interno (Autenticados)</html:option>
</nested:select>
</p>
 
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Tipo Alvo</th>
<th>Alvo</th>
<th>Acesso</th>
</tr>
</thead>
<tbody>
<nested:iterate property="rights.right">
<tr>
<td>
<nested:select property="target">
<html:option value="role">Papel</html:option>
<html:option value="user">Utilizador</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="name"/></td>
<td>
<nested:select property="type">
<html:option value="permit">Permitir</html:option>
<html:option value="restrict">Restringir</html:option>
</nested:select>
</td>
</tr>
</nested:iterate>
</table>
</div>
</div>
 
 
 
 
 
<div class="panel panel-default">
<div class="panel-heading">
Configurações de Menus
</div>
<div class="panel-body">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>ID</th>
<th>URL</th>
<th>Label</th>
<th>Label EN</th>
<th>Label ES</th>
<!--<th>xml</th>-->
<th>layout</th>
<th>style</th>
<th>absolute</th>
<th>proxy</th>
<th>group</th>
<!--<th>remoteExtensionRoot</th>
<th>ftpDirectory</th>
<th>size</th>
<th>mimeType</th>-->
</tr>
</thead>
<tbody>
<%
request.setAttribute("Contador", 0);
%>
<nested:iterate id="leaf" property="leaf">
<jsp:include page="leafNode.jsp"/>
</nested:iterate>
</tbody>
</table>
</div>
</div>
</div>
</div>
</nested:root>
 
<%
AbstractDao.getCurrentSession().beginTransaction().commit();
%>
</div>
Property changes:
Added: svn:executable
+ *
/impl/src/web/admin/configuration/grades.jsp
New file
0,0 → 1,189
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.domain.ConfigurationGrades" %>
<%@ page import="pt.estgp.estgweb.domain.dao.DaoFactory" %>
<%@ page import="pt.estgp.estgweb.domain.views.ConfigurationGradesView" %>
<%@ page import="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>
 
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
 
 
<script src="<%=request.getContextPath()%>/js/jquerytables/jquery-2.1.4.min.js"></script>
<script src="<%=request.getContextPath()%>/js/jquerytables/bootstrap/js/bootstrap.min.js"></script>
 
<script type="text/javascript" language="JavaScript">
//TABLE SORTER
 
 
 
$(document).ready(function()
{
 
// $('#myTable').tablesorter();
// $('#myTable2').tablesorter();
 
 
<%
if(request.getAttribute("ConfigurationGradesForm")!=null)
{
ConfigurationGradesForm confForm = (ConfigurationGradesForm) request.getAttribute("ConfigurationGradesForm");
if(confForm.getOp() != null && (
confForm.getOp().equals("addSatusEpoca") ||
confForm.getOp().equals("deleteStatusEpoca")))
{
 
%>
 
$("#myCollapse1").collapse('show');
<%
}
else if(confForm.getOp() != null && (
confForm.getOp().equals("addEpocaAvaliacao") ||
confForm.getOp().equals("deleteEpocaAvaliacao")))
{
%>
$("#myCollapse2").collapse('show');
<%
}
}
%>
}
);
</script>
<%
 
AbstractDao.getCurrentSession().beginTransaction();
 
ConfigurationGrades grades = DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades();
ConfigurationGradesView view = new ConfigurationGradesView();
view.init(grades);
 
%>
 
<div class="container">
 
<nested:form action="/user/grades" enctype="multipart/form-data">
<jsp:useBean id="ConfigurationGradesForm" scope="request" type="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm"/>
<%
ConfigurationGradesForm.setConfigurationGrades(view);
%>
<input type="hidden" name="dispatch" value="saveGrades">
<input type="hidden" name="op">
 
 
<div class="panel panel-default">
<div class="panel-heading">
 
<button style="float: right" class="btn btn-success" onclick="this.form.op.value='addSatusEpoca';set(this.form,'addSatusEpoca');this.form.submit()">Adicionar Novo</button>
 
<button class="btn btn-info" data-toggle="collapse" data-target="#myCollapse1" onclick="return false;">Status de Época</button>
 
 
</div>
<div id="myCollapse1" class="collapse">
<div class="panel-body">
<table id="myTable" class="dataTable tablesorter">
<thead>
<tr>
<th>Status Época</th>
<th>Descrição</th>
<th>Observações</th>
<td></td>
</tr>
</thead>
<tbody>
<nested:iterate id="status" property="configurationGrades.statusEpocas" type="pt.estgp.estgweb.domain.ConfigurationGradesStatusEpocaImpl">
 
<tr>
<td style="width: 100px">
<nested:hidden property="id"/>
<nested:text property="status"></nested:text>
</td>
<td>
<nested:text property="descricao" style="width:100%"></nested:text>
</td>
<td>
<nested:text property="obs" style="width:100%"></nested:text>
</td>
<td>
<a href="<%=request.getContextPath()%>/user/grades.do?op=deleteStatusEpoca&dispatch=deleteStatusEpoca&id=${status.id}"><html:img page="/imgs/delete.gif"/></a>
</td>
</tr>
</nested:iterate>
</tbody>
</table>
</div>
<div class="panel-footer">
<html:submit styleClass="btn btn-warning" value="Salvar"/>
</div>
</div>
</div>
</nested:form>
<a name="epocas"/>
<nested:form action="/user/grades" enctype="multipart/form-data">
<input type="hidden" name="dispatch" value="saveGrades">
<input type="hidden" name="op">
<div class="panel panel-default">
<div class="panel-heading">
<button style="float:right" class="btn btn-success" onclick="this.form.op.value='addEpocaAvaliacao';set(this.form,'addEpocaAvaliacao');this.form.action+'#epocas';set(this.form,'addEpocaAvaliacao');this.form.submit()">Adicionar Novo</button>
<button class="btn btn-info" data-toggle="collapse" data-target="#myCollapse2" onclick="return false;">Épocas de Avaliação</button>
</div>
<div id="myCollapse2" class="collapse">
<div class="panel-body">
<table id="myTable2" class="dataTable tablesorter">
<thead>
<tr>
<th>Código de Época</th>
<th>Código de Momento</th>
<th>Descrição</th>
<th>Observações</th>
<td></td>
</tr>
</thead>
<tbody>
<nested:iterate id="status" property="configurationGrades.epocasAvaliacao" type="pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacaoImpl">
 
<tr>
<td style="width: 100px">
<nested:hidden property="id"/>
<nested:text property="codigoEpoca"></nested:text>
</td>
<td style="width: 100px">
<nested:text property="codigoMomento"></nested:text>
</td>
<td>
<nested:text property="descricao" style="width:100%"></nested:text>
</td>
<td>
<nested:text property="obs" style="width:100%"></nested:text>
</td>
<td>
<a href="<%=request.getContextPath()%>/user/grades.do?op=deleteEpocaAvaliacao&dispatch=deleteEpocaAvaliacao&id=${status.id}#epocas"><html:img page="/imgs/delete.gif"/></a>
</td>
</tr>
</nested:iterate>
</tbody>
</table>
</div>
<div class="panel-footer">
<html:submit styleClass="btn btn-warning" value="Salvar"/>
</div>
</div>
</div>
</nested:form>
 
<%
AbstractDao.getCurrentSession().beginTransaction().commit();
%>
</div>
Property changes:
Added: svn:executable
+ *
/impl/src/web/admin/configuration/leafNode.jsp
New file
0,0 → 1,111
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.services.directories.DirectoryService" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.Directory" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.LeafT" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.NodeT" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
 
<%
Integer cont = (Integer) request.getAttribute("Contador");
int pad = 30*cont;
int rightsPad = 30*(cont+1);
%>
<nested:root>
 
<%
 
%>
<tr>
<td style="padding-left: <%=pad%>px"><nested:text property="id"/></td>
<td style="width: 300px"><nested:text style="width:100%" property="url"/></td>
<td style="width: 200px"><nested:text style="width:100%" property="label"/></td>
<td><nested:text style="width:100%" property="labelEn"/></td>
<td><nested:text style="width:100%" property="labelEs"/></td>
<!--<td>xml</td>-->
<td>
<nested:select property="layout">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td>
<nested:select property="style">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td>
<nested:select property="absolute">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td>
<nested:select property="proxy">
<html:option value="estgp">ESTGP Páginas Estáticas</html:option>
<html:option value="conteudos">Conteudos Páginas Dinâmicas</html:option>
<html:option value="ionline">IOnline Pastas Partilhadas</html:option>
<html:option value="grupos">Grupos Pastas Partilhadas</html:option>
</nested:select>
</td>
<td><nested:text property="group"/></td>
<!--<td>remoteExtensionRoot</td>
<td>ftpDirectory</td>
<td>size</td>
<td>mimeType</td>-->
</tr>
 
<nested:notEmpty property="rights">
<tr>
 
<td style="padding-left: <%=rightsPad%>px">Direitos Acesso (<nested:write property="id"/>)</td>
<td colspan="9">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Tipo Alvo</th>
<th>Alvo</th>
<th>Acesso</th>
</tr>
</thead>
<tbody>
<nested:iterate property="rights.right">
<tr>
<td>
<nested:select property="target">
<html:option value="role">Papel</html:option>
<html:option value="user">Utilizador</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="name"/></td>
<td>
<nested:select property="type">
<html:option value="permit">Permitir</html:option>
<html:option value="restrict">Restringir</html:option>
</nested:select>
</td>
</tr>
</nested:iterate>
</table>
</td>
</tr>
</nested:notEmpty>
<%
 
request.setAttribute("Contador",cont+1);
%>
<nested:iterate id="leaf" property="leaf">
<jsp:include page="leafNode.jsp"/>
</nested:iterate>
<%
request.setAttribute("Contador",cont);
%>
</nested:root>
/impl/src/web/public/profile/profileGrades.jsp
1,9 → 1,9
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.domain.Teacher" %>
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.Student" %>
<%@ page import="pt.estgp.estgweb.domain.enums.RecordEnum" %>
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitGradeView" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
12,6 → 12,7
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<jsp:useBean id="ProfileForm" type="pt.estgp.estgweb.web.form.profile.ProfileForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div id="contentIntranet">
<div id="contentPane">
 
50,13 → 51,65
}
%>
</h2>
<table class="dataTable">
<%
if(UserSession.getUser() != null && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && UserSession.getUser().getId() != ProfileForm.getUserView().getId())
{
%>
<h2 class="warning">Apenas o aluno tem direito a consultar as suas notas</h2>
<%
}else if(ProfileForm.getUserView().getGrades() == null || ProfileForm.getUserView().getGrades().size() == 0)
{
%>
<h2 class="warning">Não tem notas para apresentar</h2>
<%
}else if(UserSession.getUser() != null && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && !ProfileForm.getUserView().isPropinasEmDia())
{
%>
<h2 class="warning">Regularize as suas propinas para poder aceder às notas</h2>
<%
}
else
{
%>
<script type="text/javascript" language="JavaScript">
//TABLE SORTER
$(document).ready(function()
{
$("#myTable$").tablesorter();
 
}
);
</script>
<div class="block">
 
<%
Map<Long,Integer> unidadeNota = new HashMap<Long,Integer>();
for(CourseUnitGradeView grade: ProfileForm.getUserView().getGrades())
{
Integer notaUnidade = unidadeNota.get(grade.getCourseUnit().getId());
if(notaUnidade == null || notaUnidade < grade.getGrade())
{
if(grade.getGrade() > 0)
{
unidadeNota.put(grade.getCourseUnit().getId(),grade.getGrade());
}
}
}
float total = 0;
for(Integer nota: unidadeNota.values())
total+=nota;
float media = total/((float)unidadeNota.size());
%>
Média: <%=media%>
</div>
<table id="myTable" class="dataTable tablesorter">
<thead>
<tr>
<th>
<bean:message key="code"/>
</th>
<th>
<bean:message key="courseunit"/>
<bean:message key="course.unit"/>
</th>
<th>
<bean:message key="grade"/>
64,24 → 117,47
<th>
<bean:message key="date"/>
</th>
<th>
Epoca de Avaliação
</th>
<th>
Status de Época
</th>
</tr>
</thead>
<tbody>
<logic:iterate id="grade" name="ProfileForm" property="userView.grades" type="pt.estgp.estgweb.domain.views.CourseUnitGradeView">
<tr>
<td>
${grade.courseUnit.code}
</td>
<td>
<td>
${grade.courseUnit.name}
</td>
<td>
${grade.grade}
<logic:greaterThan value="0" name="grade" property="grade">
${grade.grade}
</logic:greaterThan>
<logic:lessThan value="0" name="grade" property="grade">
S/N
</logic:lessThan>
</td>
<td>
${grade.formatedDate}
</td>
<td>
${grade.descEpoca}
</td>
<td>
${grade.descStatusEpoca}
</td>
</tr>
 
</logic:iterate>
</tbody>
</table>
<%
}
%>
 
</div>
</div>
/impl/src/web/user/home/student.jsp
156,15 → 156,37
<div class="panel panel-primary">
<div class="panel-heading"><bean:message key="intranet.home.curricular"/></div>
<div class="panel-body">
<!--<p><bean:message key="intranet.home.curricular"/></p>-->
<!--<ul>
<li>-->
<html:link action="/user/startLoadCoursesProgramsFromHome"><bean:message key="courseunit.indexes"/> (Novo Estilo) </html:link>
<!--</li>
</ul>-->
<ul>
<li>
<html:link action="/user/startLoadCoursesProgramsFromHome"><bean:message key="courseunit.indexes"/> (Novo Estilo) </html:link>
</li>
</ul>
</div>
</div>
</div>
<div class="block">
<div class="panel panel-primary">
<div class="panel-heading">Atalhos</div>
<div class="panel-body">
<ul>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/horarios/intranet/escola/horarios.html">Horários</a>
</li>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/calEscolar/public/portal/CL20102011.pdf">Calendário Escolar</a>
</li>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/secretaria/Forms.Alunos/intranet/escola/secretaria/formulariosAlunos.html">Formulários Alunos</a>
</li>
<li>
<a href="<%=request.getContextPath()%>/user/startProfileGrades.do">Notas</a>
<logic:equal value="false" name="UserSession" property="user.propinasEmDia">(Não visiveis, Não tem as propinas em dia)</logic:equal>
</li>
 
</ul>
</div>
</div>
</div>
<baco:isModuleOn module="courseunits">
<jsp:include page="/user/home/courseUnitsAnnouncements.jsp"/>
</baco:isModuleOn>
/impl/src/web/user/home/user.jsp
7,30 → 7,129
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
 
 
<div class="portal">
<table class="columnTable" width="100%">
<tbody>
<tr>
 
<baco:hasRole role="services">
<td class="column">
 
<div class="block">
<div class="panel panel-primary">
<div class="panel-heading"><bean:message key="intranet.home.curricular"/></div>
<div class="panel-body">
<!--<p><bean:message key="intranet.home.curricular"/></p>-->
<ul>
<li><html:link action="/user/startLoadCoursesProgramsFromHome"><bean:message key="courseunit.indexes"/> (Novo Estilo) </html:link></li>
<baco:hasRole role="admin,all,services,administrativeCouncil,courseCoordinator,courseDirector,scientificCouncil,pedagogicCouncil">
<li><html:link action="/user/startSelectCourseFromServiceZone"><bean:message key="course.select"/></html:link></li>
<li><html:link action="/user/startFindCourseUnitAdminFromServiceZone"><bean:message key="courseunit.search"/></html:link></li>
</baco:hasRole>
</ul>
</div>
</div>
</div>
<baco:hasRole role="admin,all,services">
<div class="block">
<div class="panel panel-primary">
<div class="panel-heading">Ferramentas Académicas</div>
<div class="panel-body">
<ul>
<li><html:link action="/user/configurationGrades">Épocas de Avaliação</html:link></li>
<li>Situação de Propinas de Alunos (Por implementar)</li>
<li><html:link action="/user/findProfile"><bean:message key="profile.search.user"/></html:link></li>
<li>Gerir Papeis das Comissões Curso (Por Implementar)</li>
</ul>
 
</div>
</div>
</div>
</baco:hasRole>
 
<baco:hasRole role="ci">
<div class="block">
<div class="panel panel-primary">
<div class="panel-heading">Ferramentas de Gestão do CI</div>
<div class="panel-body">
<ul>
<li>Configurações Gerais (Por implementar)</li>
<li>Tarefas Agendadas (Por implementar)</li>
<li>Criar um Backup SQL Agora (Por Implementar)</li>
<baco:isModuleOn module="intranet">
<li>
<html:link target="_blank" action="/user/courseUnitControllerAdminFromServiceZone?dispatch=createIntranetFolders">
<bean:message key="intranet.create.folders"/>
</html:link>
</li>
</baco:isModuleOn>
 
</ul>
 
</div>
</div>
</div>
</baco:hasRole>
<div class="block">
<div class="panel panel-primary">
<div class="panel-heading">Atalhas</div>
<div class="panel-body">
<ul>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/horarios/intranet/escola/horarios.html">Horários</a>
</li>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/calEscolar/public/portal/CL20102011.pdf">Calendário Escolar</a>
</li>
<li>
<a href="<%=request.getContextPath()%>/dir/utilsIntranet/secretaria/intranet/escola/secretaria.html">Secretaria</a>
</li>
</ul>
</div>
</div>
</div>
 
 
 
</td>
</baco:hasRole>
<td class="column">
<baco:isModuleOn module="todos">
<jsp:include page="/user/home/todos.jsp"/>
</baco:isModuleOn>
</td>
</tr>
<baco:hasRole role="services">
<tr>
<td>
<div class="block">
<p><bean:message key="intranet.home.curricular"/></p>
<ul>
<li>
<html:link action="/user/startLoadCoursesProgramsFromHome"><bean:message key="courseunit.programs"/></html:link>
</li>
</ul>
<div class="panel panel-primary">
<div class="panel-heading">Comunicar</div>
<div class="panel-body">
<ul>
 
<baco:isModuleOn module="todos">
<baco:hasRole role="admin,all,services,administrativeCouncil,courseCoordinator,courseDirector,scientificCouncil,pedagogicCouncil">
<li>
<html:link action="/user/startSubmitTodoAnnouncementFromServiceZone">
<bean:message key="submit.todo.announcement"/>
</html:link>
</li>
 
</baco:hasRole>
<baco:hasRole role="admin,all,services,sendMailMessages">
<li>
<html:link action="/user/startSubmitMessage">
<bean:message key="submit.todo.message"/>
</html:link>
</li>
</baco:hasRole>
</baco:isModuleOn>
</ul>
 
</div>
</div>
</div>
</td>
</tr>
</baco:hasRole>
</tbody>
</table>
</div>
/impl/src/web/user/serviceZone/topnavConfigurationGrades.jsp
4,7 → 4,7
<%@ page import="jomm.web.utils.TopNav" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/user/startServiceZone.do", "intranet.separator.service.zone.back");
topNav.addNavPlace("/user/startHome.do", "intranet.separator.home.back");
topNav.addNavPlace(null, "configuration.grades");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/Directory.java
New file
0,0 → 1,419
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="place" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="style" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="layout" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="layoutRoot" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="targetRole" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="menuKey" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
@XmlRootElement(name = "directory")
public class Directory {
 
protected GroupDeclarationT groupsDeclaration;
@XmlElement(required = true)
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String place;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String style;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String layout;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String layoutRoot;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String targetRole;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String menuKey;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the place property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPlace() {
return place;
}
 
/**
* Sets the value of the place property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPlace(String value) {
this.place = value;
}
 
/**
* Gets the value of the style property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getStyle() {
return style;
}
 
/**
* Sets the value of the style property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setStyle(String value) {
this.style = value;
}
 
/**
* Gets the value of the layout property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLayout() {
return layout;
}
 
/**
* Sets the value of the layout property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLayout(String value) {
this.layout = value;
}
 
/**
* Gets the value of the layoutRoot property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLayoutRoot() {
return layoutRoot;
}
 
/**
* Sets the value of the layoutRoot property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLayoutRoot(String value) {
this.layoutRoot = value;
}
 
/**
* Gets the value of the targetRole property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTargetRole() {
return targetRole;
}
 
/**
* Sets the value of the targetRole property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTargetRole(String value) {
this.targetRole = value;
}
 
/**
* Gets the value of the menuKey property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMenuKey() {
return menuKey;
}
 
/**
* Sets the value of the menuKey property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMenuKey(String value) {
this.menuKey = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/RightsT.java
New file
0,0 → 1,247
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
 
 
/**
* Rights define who is authorized to enter in a node
*
* <p>Java class for rightsT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="rightsT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="right" maxOccurs="unbounded">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="target" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="user"/>
* &lt;enumeration value="role"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="permit"/>
* &lt;enumeration value="restrict"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;element name="internal" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "rightsT", propOrder = {
"right",
"internal"
})
public class RightsT {
 
@XmlElement(required = true)
protected List<RightsT.Right> right;
protected Boolean internal;
 
/**
* Gets the value of the right property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the right property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getRight().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link RightsT.Right }
*
*
*/
public List<RightsT.Right> getRight() {
if (right == null) {
right = new ArrayList<RightsT.Right>();
}
return this.right;
}
 
/**
* Gets the value of the internal property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getInternal() {
return internal;
}
 
/**
* Sets the value of the internal property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setInternal(Boolean value) {
this.internal = value;
}
 
 
/**
* A right T1 can be to permit or restrict
*
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="target" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="user"/>
* &lt;enumeration value="role"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="permit"/>
* &lt;enumeration value="restrict"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public static class Right {
 
@XmlAttribute(required = true)
protected String target;
@XmlAttribute(required = true)
protected String type;
@XmlAttribute(required = true)
protected String name;
 
/**
* Gets the value of the target property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTarget() {
return target;
}
 
/**
* Sets the value of the target property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTarget(String value) {
this.target = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
 
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
 
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/package-info.java
New file
0,0 → 1,9
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.estgp.pt/baco/directory/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package pt.estgp.estgweb.services.directories.xsd;
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/GroupDeclarationT.java
New file
0,0 → 1,170
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for groupDeclarationT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="groupDeclarationT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="group" maxOccurs="unbounded">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "groupDeclarationT", propOrder = {
"group"
})
public class GroupDeclarationT {
 
@XmlElement(required = true)
protected List<GroupDeclarationT.Group> group;
 
/**
* Gets the value of the group property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the group property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getGroup().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link GroupDeclarationT.Group }
*
*
*/
public List<GroupDeclarationT.Group> getGroup() {
if (group == null) {
group = new ArrayList<GroupDeclarationT.Group>();
}
return this.group;
}
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"name",
"description"
})
public static class Group {
 
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String description;
 
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
 
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
 
/**
* Gets the value of the description property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDescription() {
return description;
}
 
/**
* Sets the value of the description property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDescription(String value) {
this.description = value;
}
 
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/NodeT.java
New file
0,0 → 1,340
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 
/**
* A node is a directory internal object, it has a label and an identifier and can have children nodes and/or leafs
*
* <p>Java class for nodeT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="nodeT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="group" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="showNav" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="type">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ftp"/>
* &lt;enumeration value="http"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "nodeT", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
public class NodeT {
 
protected GroupDeclarationT groupsDeclaration;
@XmlElement(required = true)
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String group;
@XmlAttribute
protected Boolean showNav;
@XmlAttribute
protected String type;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the group property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getGroup() {
return group;
}
 
/**
* Sets the value of the group property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setGroup(String value) {
this.group = value;
}
 
/**
* Gets the value of the showNav property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getShowNav() {
return showNav;
}
 
/**
* Sets the value of the showNav property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setShowNav(Boolean value) {
this.showNav = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/LeafT.java
New file
0,0 → 1,694
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.ArrayList;
import java.util.List;
 
 
/**
* A leaf is an URL for an external or internal WEB site
*
* <p>Java class for leafT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="leafT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded" minOccurs="0"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="node" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="url" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="xml" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="layout" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="style" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="absolute" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="proxy" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="group" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="remoteExtensionRoot" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="ftpDirectory" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="size" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="mimeType" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="lastModification" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="visualization">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="filesystem"/>
* &lt;enumeration value="normal"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="showNav" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="type">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ftp"/>
* &lt;enumeration value="http"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "leafT", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
public class LeafT {
 
protected GroupDeclarationT groupsDeclaration;
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute
protected Boolean node;
@XmlAttribute
protected String url;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute
protected Boolean xml;
@XmlAttribute
protected Boolean layout;
@XmlAttribute
protected Boolean style;
@XmlAttribute
protected Boolean absolute;
@XmlAttribute
protected String proxy;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String group;
@XmlAttribute
protected Boolean remoteExtensionRoot;
@XmlAttribute
protected Boolean ftpDirectory;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String size;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String mimeType;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String lastModification;
@XmlAttribute
protected String visualization;
@XmlAttribute
protected Boolean showNav;
@XmlAttribute
protected String type;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the node property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getNode() {
return node;
}
 
/**
* Sets the value of the node property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setNode(Boolean value) {
this.node = value;
}
 
/**
* Gets the value of the url property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getUrl() {
return url;
}
 
/**
* Sets the value of the url property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setUrl(String value) {
this.url = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the xml property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getXml() {
return xml;
}
 
/**
* Sets the value of the xml property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setXml(Boolean value) {
this.xml = value;
}
 
/**
* Gets the value of the layout property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getLayout() {
return layout;
}
 
/**
* Sets the value of the layout property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setLayout(Boolean value) {
this.layout = value;
}
 
/**
* Gets the value of the style property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getStyle() {
return style;
}
 
/**
* Sets the value of the style property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setStyle(Boolean value) {
this.style = value;
}
 
/**
* Gets the value of the absolute property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getAbsolute() {
return absolute;
}
 
/**
* Sets the value of the absolute property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setAbsolute(Boolean value) {
this.absolute = value;
}
 
/**
* Gets the value of the proxy property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getProxy() {
return proxy;
}
 
/**
* Sets the value of the proxy property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setProxy(String value) {
this.proxy = value;
}
 
/**
* Gets the value of the group property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getGroup() {
return group;
}
 
/**
* Sets the value of the group property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setGroup(String value) {
this.group = value;
}
 
/**
* Gets the value of the remoteExtensionRoot property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getRemoteExtensionRoot() {
return remoteExtensionRoot;
}
 
/**
* Sets the value of the remoteExtensionRoot property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setRemoteExtensionRoot(Boolean value) {
this.remoteExtensionRoot = value;
}
 
/**
* Gets the value of the ftpDirectory property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getFtpDirectory() {
return ftpDirectory;
}
 
/**
* Sets the value of the ftpDirectory property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setFtpDirectory(Boolean value) {
this.ftpDirectory = value;
}
 
/**
* Gets the value of the size property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSize() {
return size;
}
 
/**
* Sets the value of the size property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSize(String value) {
this.size = value;
}
 
/**
* Gets the value of the mimeType property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMimeType() {
return mimeType;
}
 
/**
* Sets the value of the mimeType property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMimeType(String value) {
this.mimeType = value;
}
 
/**
* Gets the value of the lastModification property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLastModification() {
return lastModification;
}
 
/**
* Sets the value of the lastModification property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLastModification(String value) {
this.lastModification = value;
}
 
/**
* Gets the value of the visualization property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getVisualization() {
return visualization;
}
 
/**
* Sets the value of the visualization property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setVisualization(String value) {
this.visualization = value;
}
 
/**
* Gets the value of the showNav property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getShowNav() {
return showNav;
}
 
/**
* Sets the value of the showNav property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setShowNav(Boolean value) {
this.showNav = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/ObjectFactory.java
New file
0,0 → 1,95
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.XmlRegistry;
 
 
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the pt.estgp.estgweb.services.directories.xsd package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
 
 
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pt.estgp.estgweb.services.directories.xsd
*
*/
public ObjectFactory() {
}
 
/**
* Create an instance of {@link RightsT }
*
*/
public RightsT createRightsT() {
return new RightsT();
}
 
/**
* Create an instance of {@link GroupDeclarationT.Group }
*
*/
public GroupDeclarationT.Group createGroupDeclarationTGroup() {
return new GroupDeclarationT.Group();
}
 
/**
* Create an instance of {@link NodeT }
*
*/
public NodeT createNodeT() {
return new NodeT();
}
 
/**
* Create an instance of {@link LeafT }
*
*/
public LeafT createLeafT() {
return new LeafT();
}
 
/**
* Create an instance of {@link RightsT.Right }
*
*/
public RightsT.Right createRightsTRight() {
return new RightsT.Right();
}
 
/**
* Create an instance of {@link GroupDeclarationT }
*
*/
public GroupDeclarationT createGroupDeclarationT() {
return new GroupDeclarationT();
}
 
/**
* Create an instance of {@link Directory }
*
*/
public Directory createDirectory() {
return new Directory();
}
 
}
/impl/build.xml
604,11 → 604,31
 
<!--
==========================================================================================
DIRECTORIES XSD JAXB
==========================================================================================
-->
 
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="pathToToolsLib">
</taskdef>
 
<target name="directories-gen-jaxb" depends="initDirs">
<xjc destdir="${gen.dir.java}" package="pt.estgp.estgweb.services.directories.xsd">
<schema dir="${conf.dir}/directories" includes="directory.xsd"/>
</xjc>
<replace dir="${gen.dir.java}/pt/estgp/estgweb/services/directories/xsd" value="">
<include name="*.java"/>
<replacefilter token="public Boolean is" value="public Boolean get"/>
</replace>
</target>
 
 
 
<!--
==========================================================================================
DEAMONS
==========================================================================================
-->
 
 
<!--<target name="run">-->
<!--<java classname="mitra.oaiharvest.harvest.HarvestEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
<!--<java classname="mitra.oaiharvest.index.IndexEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->