/log.txt |
---|
File deleted |
\ No newline at end of file |
/impl/importRoutines.xml |
---|
New file |
0,0 → 1,19 |
<?xml version="1.0" encoding="UTF-8"?> |
<project name="estgweb-import" basedir="." default="help"> |
<import file="build.xml"/> |
<target name="courses"> |
<java classname="pt.estgp.estgweb.services.sigesimports.ImportCourseService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/> |
</target> |
<target name="teachers"> |
<java classname="pt.estgp.estgweb.services.sigesimports.ImportTeachersService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/> |
</target> |
<target name="students"> |
<java classname="pt.estgp.estgweb.services.sigesimports.ImportStudentsService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/> |
</target> |
</project> |
/impl/local-exampleNotInUse.properties |
---|
New file |
0,0 → 1,40 |
## |
## Properties file to be used with ant build.xml |
## |
##database configuration |
database.host=localhost |
database.port=3306 |
database.catalog=estgweb |
database.username=root |
database.password= |
hibernate.show.sql=false |
use.ldap=true |
#Paths configuration |
tomcat.home=C:/Servidores/apache-tomcat-6.0.16 |
tomcat.libs.ant.home=${tomcat.home}/lib |
tomcat.libs.common.home=${tomcat.home}/lib |
tomcat.host=localhost |
tomcat.port=8080 |
tomcat.url=http://${tomcat.host}:${tomcat.port} |
tomcat.manager=${tomcat.url}/manager |
tomcat.username=admin |
tomcat.password=admin |
#IF is ROOT use Nothing |
#example for ROOT: |
# tomcat.context.path.install=/ |
# tomcat.context.path= |
# |
#example for /mitra: |
# tomcat.context.path.install=/baco |
# tomcat.context.path=/baco |
# |
tomcat.context.path.install=/baco |
tomcat.context.path=/baco |
tomcat.war.file=baco.war |
/impl/conf/language/MessageResourcesIntranet.properties |
---|
20,6 → 20,7 |
intranet.separator.welcome.home=< Voltar ao Portal de Abertura |
intranet.separator.ionline=Navegar no IOnline |
intranet.separator.utils=Utilitários |
intranet.separator.utils.back=Voltar aos Utilitários |
intranet.my.blog.posts=Os Meus Posts |
35,3 → 36,23 |
intranet.create.folders=Criar Pastas Para a Intranet |
intranet.utils.org=Estrutura Organizativa |
intranet.utils.services=Secretaria |
intranet.utils.teaching=Ensino |
intranet.utils.schedules=Horários |
intranet.utils.bolonha=Declaração de Bolonha |
intranet.utils.actas=Actas |
/impl/conf/language/MessageResourcesCourse.properties |
---|
23,9 → 23,22 |
course.studies.plan=Plano de Estudos (XML válido no planoEstudos.xsd) |
course.studies.plan.not.available=Não disponivel |
course.courseunit.program.objectives.todo=Unidade em Falta (programa ou objectivos) |
course.externalSite=Site Externo |
course.studies.plan=Plano de Estudos |
course.B=Bacharlato |
course.L=Lincenciatura |
course.M=Mestrado |
course.P=Pós Graduação |
course.E=CET |
course.Bs=Bacharlatos |
course.Ls=Lincenciaturas |
course.Ms=Mestrados |
course.Ps=Pós Graduaçãos |
course.Es=CET's |
33,3 → 46,5 |
/impl/conf/language/MessageResourcesProfile.properties |
---|
7,6 → 7,10 |
profile=Perfil Pessoal |
profile.bad.profile.teacher.iregular.user.class=Existe um problema com o seu perfil. Aparentemente o papel de professor que lhe foi atribuido não foi reconhecido pelo sistema central. Por favor dirija-se ao centro informatico e reporte o problema para que a situação seja corrigida. Pedimos desculpa pelo incómodo. |
profile.bad.profile.student.iregular.user.class=Existe um problema com o seu perfil. Aparentemente o papel de estudante que lhe foi atribuido não foi reconhecido pelo sistema central. Por favor dirija-se ao centro informatico e reporte o problema para que a situação seja corrigida. Pedimos desculpa pelo incómodo. |
#Degrees |
profile.scholar.degree.notset=Não disponivel |
profile.scholar.degree=Escolaridade |
43,6 → 47,8 |
profile.grades=Notas |
profile.home=Apresentação |
profile.curriculum.record=Registo Pessoal de Curriculum |
profile.academic.degree.less=Sem Formação Superior |
edit.profile=Editar Meu Perfil |
edit.user.profile=Editar Utilizador |
profile.roles=Funções na Instituição |
69,7 → 75,7 |
profile.record.add.sucess=Registo adicionado com sucesso: {0} |
profile.record.deleted.sucess=Registo apagado com sucesso |
profile.email.change=*Para alterar o seu email dirija-se aos serviços centrais |
profile.record.confirm.delete=Tem a certeza que deseja apagar esta entrada do curriculum? |
#Dublin Core Fields |
profile.record.file=Ficheiro Electrónico |
profile.record.file.access=Acesso ao Ficheiro |
/impl/conf/language/MessageResourcesAnnouncements.properties |
---|
8,6 → 8,7 |
module.Announcements=Anúncios |
module.TodoAnnouncements=Urgentes |
announcement.confirm.delete=Tem a certeza que deseja apagar este anúncio? |
announcement.exceed.bigmage.max.size=Excedeu o tamanho maximo da imagem grande |
67,4 → 68,5 |
announcement.image.style=Estilo visual |
announcement=a ver anúncio |
Announcement=Anúncio ({0}) |
/impl/conf/language/MessageResources.properties |
---|
63,7 → 63,19 |
error.401.item.3=Seguiu um link proveniente de um web site exterior cuja informação pode estar desactualizada |
error.401.item.4=Seguiu um link interno errado ou desactualizado. |
organization=Organização |
areas=Áreas |
area.eg=Área de Engenharia |
area.ch=Área de Ciencias Humanas |
area.ce=Área de Ciencias Empresariais |
area.dg=Área de Design |
top.menu.area.eg=Engenharias |
top.menu.area.dg=Design |
top.menu.area.ce=Ciências Empresariais |
top.menu.area.ch=Ciências Humanas |
#roles |
user.role.all=Todos |
79,7 → 91,7 |
user.role.invited=Convidado |
user.role.services=Serviços |
user.role.administrativeCouncil=Conselho Directivo |
user.role.representativeCouncil=Conselho de Representantes |
user.role.representativeCouncil=Assembleia de Representantes |
user.role.scientificCouncil=Conselho Científico |
user.role.erasmusCouncil=Conselho Erasmus |
user.role.pedagogicCouncil=Conselho Pedagógico |
255,7 → 267,7 |
student=Estudante |
teacher=Professor |
user=Usuario |
user=Utilizador |
#Mensagens Status |
authentication.ok=Benvindo Fulano |
/impl/conf/language/MessageResourcesCourseUnits.properties |
---|
16,6 → 16,12 |
courseunit.program.description=Programa Curricular de {0} |
courseunit.program.archive=Arquivo |
courseunit.to.add.students.save.first=Para adicionar alunos salve primeiro a unidade curricular e volte aqui. |
courseunit.to.add.teachers.save.first=Para adicionar docentes salve primeiro a unidade curricular e volte aqui. |
courseunit.zero.units=Nenhuma Unidade Curricular |
courseunit.objectives.todo=Peenchimento dos objectivos da unidade |
courseunit.program.todo=Upload do programa da unidade |
courseunit.question.todo=Dúvida |
/impl/conf/WEB-INF/struts/struts-courses.xml |
---|
21,6 → 21,8 |
<action-mappings> |
<action path="/courses" forward="page.courses"/> |
<action path="/startLoadCourse" forward="/courseController.do?dispatch=load"/> |
<action path="/courseController" |
type="pt.estgp.estgweb.web.controllers.courses.CoursesController" |
/impl/conf/WEB-INF/struts/struts-intranet.xml |
---|
29,7 → 29,15 |
<action path="/user/serviceZone" forward="page.separators.serviceZone"/> |
<!--Controller with method to load intranet paths as root navigatable folders--> |
<action path="/user/utilsController" |
type="pt.estgp.estgweb.web.controllers.utils.UtilsController" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.welcome"> |
</action> |
</action-mappings> |
</struts-config> |
/impl/conf/WEB-INF/struts/struts-ftpclient.xml |
---|
19,7 → 19,8 |
</global-forwards> |
<action-mappings> |
<action path="/user/startCourses" forward="page.courses"/> |
</action-mappings> |
<!--Not in use--> |
<!--<action-mappings>--> |
<!--<action path="/user/startCoursesFtp" forward="page.courses"/>--> |
<!--</action-mappings>--> |
</struts-config> |
/impl/conf/WEB-INF/struts/tiles-courseunits.xml |
---|
85,8 → 85,11 |
<definition name="page.courseLayoutIOnline.proxy.ftp" extends="page.separators.home"> |
<put name="title" value="Conteudos da Unidade Curricular"/> |
<put name="left" value="/user/courseunits/menu.jsp"/> |
<put name="body" value="/user/courseunits/ftpclient.jsp"/> |
<put name="body" value="/user/courseunits/ftpClient.jsp"/> |
</definition> |
<definition name="page.courseLayoutIOnlineContents.proxy.ftp" extends="page.courseLayoutIOnline.proxy.ftp"> |
<put name="topnav" value="/user/home/topnavCourseUnitContents.jsp"/> |
</definition> |
/impl/conf/WEB-INF/struts/tiles-courses.xml |
---|
7,6 → 7,12 |
<tiles-definitions> |
<definition name="page.courses" extends="base.layout1"> |
<put name="title" value="Cursos"/> |
<put name="topnav" value="/public/courses/topnavCourses.jsp"/> |
<put name="body" value="/public/courses/index.jsp"/> |
</definition> |
<definition name="page.load.course" extends="base.layout1"> |
<put name="title" value="Curso"/> |
<put name="topnav" value="/public/courses/topnavCourse.jsp"/> |
/impl/conf/WEB-INF/struts/tiles-intranet.xml |
---|
30,15 → 30,54 |
<put name="body" value="/user/serviceZone/serviceZone.jsp"/> |
</definition> |
<definition name="page.separators.utils" extends="base.separators"> |
<put name="separator" value="6" type="string"/> |
<put name="left" value="/user/utils/menu.jsp"/> |
</definition> |
<definition name="page.layoutIOnline.proxy.ftp" extends="base.separators"> |
<put name="separator" value="5" type="string"/> |
<put name="body" value="/user/ftpclient/ftpclient.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtils.proxy" extends="base.separators"> |
<put name="separator" value="6" type="string"/> |
<put name="left" value="/user/utils/menu.jsp"/> |
<definition name="page.layoutIntranetUtils.proxy" extends="page.separators.utils"> |
<put name="body" value="/WebProxy"/> |
</definition> |
<definition name="page.layoutIntranetUtilsOrg.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavOrg.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtilsEnsino.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavEnsino.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtilsSecretaria.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavSecretaria.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtilsSecretariaConfigurable.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavSecretariaConfigurable.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtilsBolonha.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavBolonha.jsp"/> |
</definition> |
<definition name="page.layoutIntranetUtilsHorarios.proxy" extends="page.layoutIntranetUtils.proxy"> |
<put name="topnav" value="/user/utils/topnavHorarios.jsp"/> |
</definition> |
<!-- Put here all references to FTP Proxy in Utils Separator--> |
<definition name="page.utilsLayoutIOnline.proxy.ftp" extends="page.separators.utils"> |
<put name="title" value="Conteudos da Unidade Curricular"/> |
<put name="body" value="/user/courseunits/ftpClient.jsp"/> |
</definition> |
<!--Starting here--> |
<definition name="page.utilsLayoutIOnlineActas.proxy.ftp" extends="page.utilsLayoutIOnline.proxy.ftp"> |
<put name="topnav" value="/user/utils/topnavSecretariaActas.jsp"/> |
</definition> |
<definition name="page.utilsLayoutIOnlineConfigurable.proxy.ftp" extends="page.utilsLayoutIOnline.proxy.ftp"> |
<put name="topnav" value="/user/utils/topnavSecretariaIonlineConfigurable.jsp"/> |
</definition> |
</tiles-definitions> |
/impl/conf/WEB-INF/struts/tiles-ftpclient.xml |
---|
7,9 → 7,9 |
<tiles-definitions> |
<definition name="page.courses" extends="base.layoutCourses"> |
<put name="body" value="/user/courses/courses.jsp"/> |
<put name="topnav" value="/user/courses/topnavCourses.jsp"/> |
</definition> |
<!--<definition name="page.courses" extends="base.layoutCourses">--> |
<!--<put name="body" value="/user/courses/courses.jsp"/>--> |
<!--<put name="topnav" value="/user/courses/topnavCourses.jsp"/>--> |
<!--</definition>--> |
</tiles-definitions> |
/impl/conf/WEB-INF/struts/struts-default.xml |
---|
95,6 → 95,19 |
<forward name="layoutNucleoEng" path="page.layoutNucleoENG.proxy"/> |
<!--TopMenu layouts--> |
<forward name="conselhoPedagogico" path="page.conselhoPedagogico.proxy"/> |
<forward name="conselhoCientifico" path="page.conselhoCientifico.proxy"/> |
<forward name="conselhoDirectivo" path="page.conselhoDirectivo.proxy"/> |
<forward name="assembleiaRepresentantes" path="page.assembleiaRepresentantes.proxy"/> |
<forward name="areas" path="page.areas.proxy"/> |
<forward name="areaEG" path="page.areaEG.proxy"/> |
<forward name="areaDG" path="page.areaDG.proxy"/> |
<forward name="areaCE" path="page.areaCE.proxy"/> |
<forward name="areaCH" path="page.areaCH.proxy"/> |
<forward name="layoutCourses" path="page.layoutCourses.proxy"/> |
<forward name="layout1.ftp" path="page.layout1.proxy.ftp"/> |
<forward name="layout2.ftp" path="page.layout2.proxy.ftp"/> |
108,6 → 121,16 |
<forward name="courseLayoutIOnlinePresences.ftp" path="page.courseLayoutIOnlinePresences.proxy.ftp"/> |
<forward name="layoutIntranetUtils" path="page.layoutIntranetUtils.proxy"/> |
<forward name="layoutIntranetUtilsOrg" path="page.layoutIntranetUtilsOrg.proxy"/> |
<forward name="layoutIntranetUtilsSecretaria" path="page.layoutIntranetUtilsSecretaria.proxy"/> |
<forward name="layoutIntranetUtilsSecretariaConfigurable" path="page.layoutIntranetUtilsSecretariaConfigurable.proxy"/> |
<forward name="layoutIntranetUtilsEnsino" path="page.layoutIntranetUtilsEnsino.proxy"/> |
<forward name="layoutIntranetUtilsHorarios" path="page.layoutIntranetUtilsHorarios.proxy"/> |
<forward name="layoutIntranetUtilsBolonha" path="page.layoutIntranetUtilsBolonha.proxy"/> |
<!-- Layouts for FTP Calls from Intranet see intranetNav Documentation in EAP project --> |
<forward name="utilsLayoutIOnlineActas.ftp" path="page.utilsLayoutIOnlineActas.proxy.ftp"/> |
<forward name="utilsLayoutIOnlineConfigurable.ftp" path="page.utilsLayoutIOnlineConfigurable.proxy.ftp"/> |
</action> |
<!--Portal Forward--> |
/impl/conf/WEB-INF/struts/tiles-announcements.xml |
---|
9,6 → 9,7 |
<definition name="page.load.announcement" extends="base.layout1"> |
<put name="title" value="Anuncio" /> |
<put name="topnav" value="/public/announcements/topnavLoadAnnouncement.jsp"/> |
<put name="body" value="/public/announcements/loadAnnouncement.jsp" /> |
</definition> |
<definition name="page.submit.announcement" extends="base.layout2"> |
/impl/conf/WEB-INF/struts/struts-profile.xml |
---|
83,6 → 83,8 |
<!-- Mudar o perfil pelo proprio utilizador --> |
<action path="/user/startDeleteRecordProfile" forward="/user/profile.do?dispatch=deleteRecord"/> |
<action path="/user/startChangeRecordProfile" forward="/user/profile.do?dispatch=loadEditRecord"/> |
<action path="/user/startCreateRecordProfile" forward="/user/profile.do?dispatch=createRecord"/> |
<action path="/user/startProfileFromHome" forward="/user/profile.do?dispatch=home&from=Home"/> |
<action path="/user/startProfile" forward="/user/profile.do?dispatch=home&from=Home"/> |
/impl/conf/WEB-INF/struts/tiles-default.xml |
---|
73,6 → 73,8 |
<put name="navigationRight" value="/public/announcements/announcementsPortalRight.jsp" /> |
</definition> |
<!-- Proxies --> |
<definition name="page.layout1.proxy" extends="base.layout1"> |
<put name="body" value="/WebProxy"/> |
117,7 → 119,37 |
</definition> |
<!--TopMenu layouts--> |
<definition name="page.conselhoPedagogico.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavConselhoPedagogico.jsp" /> |
</definition> |
<definition name="page.conselhoCientifico.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavConselhoCientifico.jsp" /> |
</definition> |
<definition name="page.conselhoDirectivo.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavConselhoDirectivo.jsp" /> |
</definition> |
<definition name="page.assembleiaRepresentantes.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAssembleiaRepresentantes.jsp" /> |
</definition> |
<definition name="page.areas.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAreas.jsp" /> |
</definition> |
<definition name="page.areaEG.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAreaEG.jsp" /> |
</definition> |
<definition name="page.areaDG.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAreaDG.jsp" /> |
</definition> |
<definition name="page.areaCE.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAreaCE.jsp" /> |
</definition> |
<definition name="page.areaCH.proxy" extends="page.layout4.proxy"> |
<put name="topnav" value="/public/topMenuNavs/topnavAreaCH.jsp" /> |
</definition> |
<!--Portais--> |
<definition name="page.portal.student" extends="base.layoutPortal"> |
<put name="body" value="/public/portals/alunos/student.jsp"/> |
/impl/conf/WEB-INF/tlds/baco.tld |
---|
107,6 → 107,20 |
</attribute> |
</tag> |
<tag> |
<name>isOwner</name> |
<tagclass>pt.estgp.estgweb.web.tags.OwnerTag</tagclass> |
<attribute> |
<name>name</name> |
<required>true</required> |
<rtexprvalue>true</rtexprvalue> |
</attribute> |
<attribute> |
<name>property</name> |
<required>false</required> |
<rtexprvalue>false</rtexprvalue> |
</attribute> |
</tag> |
<tag> |
<name>isValid</name> |
<tagclass>pt.estgp.estgweb.web.tags.IsValidTag</tagclass> |
<attribute> |
/impl/conf/WEB-INF/web.xml |
---|
13,6 → 13,10 |
<filter-class>pt.estgp.estgweb.web.filters.UserSessionFilter</filter-class> |
</filter> |
<filter> |
<filter-name>TopImageFilter</filter-name> |
<filter-class>pt.estgp.estgweb.web.filters.TopImageFilter</filter-class> |
</filter> |
<filter> |
<filter-name>UserFilter</filter-name> |
<filter-class>pt.estgp.estgweb.web.filters.UserFilter</filter-class> |
</filter> |
42,6 → 46,10 |
<url-pattern>/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>TopImageFilter</filter-name> |
<url-pattern>/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>Set-Character-Encoding</filter-name> |
<url-pattern>/*</url-pattern> |
</filter-mapping> |
63,6 → 71,26 |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/proxy/layoutIntranetUtilsOrg/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/proxy/layoutIntranetUtilsSecretaria/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/proxy/layoutIntranetUtilsEnsino/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/proxy/layoutIntranetUtilsHorarios/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/proxy/layoutIntranetUtilsBolonha/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
<filter-name>UserFilter</filter-name> |
<url-pattern>/courseunitproxy/*</url-pattern> |
</filter-mapping> |
<filter-mapping> |
137,6 → 165,10 |
<servlet-class>pt.estgp.estgweb.web.controllers.courseunits.CourseUnitLayoutProxy</servlet-class> |
</servlet> |
<servlet> |
<servlet-name>StartPathLayoutProxy</servlet-name> |
<servlet-class>pt.estgp.estgweb.web.StartPathLayoutProxy</servlet-class> |
</servlet> |
<servlet> |
<servlet-name>tmpStream</servlet-name> |
<servlet-class>pt.estgp.estgweb.web.TmpStream</servlet-class> |
</servlet> |
181,6 → 213,10 |
<url-pattern>/courseunitproxy/*</url-pattern> |
</servlet-mapping> |
<servlet-mapping> |
<servlet-name>StartPathLayoutProxy</servlet-name> |
<url-pattern>/startpathproxy/*</url-pattern> |
</servlet-mapping> |
<servlet-mapping> |
<servlet-name>tmpStream</servlet-name> |
<url-pattern>/tmpStream/*</url-pattern> |
</servlet-mapping> |
/impl/conf/log4j.properties |
---|
26,7 → 26,7 |
#default category |
log4j.rootLogger = info, defaultLog, stdout |
log4j.rootLogger = @log.level@, defaultLog, stdout |
### enable the following line if you want to track down connection ### |
### leakages when using DriverManagerConnectionProvider ### |
/impl/conf/app.properties |
---|
11,9 → 11,28 |
email.server=mail.estgp.pt |
email.user= |
email.password= |
email.from=jmachado@estgp.pt |
email.from=bacodev@estgp.pt |
email.templates.dir=@email.templates.dir@ |
######################### |
## |
######################## |
# 0: From Frienf |
email.send.url.friend.subject.pt=Site da ESTG sugerido pelo amigo ({0}) (ESTG) |
email.send.url.friend.subject.en=Site of ESTG suggested by friend ({0}) (ESTG) |
email.new.grades.subject.pt=Novas notas disponiveis (ESTG) |
email.new.grades.subject.en=New grades available (ESTG) |
# 0: Course Unit Name |
# 1: Annoucement Title |
email.courseunit.announcement.subject.pt={0}: {1} (ESTG) |
email.courseunit.announcement.subject.en={0}: {1} (ESTG) |
email.new.grades=true |
email.courseunit.announcements=true |
################################################## |
# Modules usage |
# |
30,22 → 49,54 |
module.reminders=true |
module.intranet=true |
module.profile=true |
module.sms=true |
################################################## |
# SMS |
# |
################################################## |
sms.courseunit.announcement=true |
sms.courseunit.announcement.only.profs=true |
sms.new.grades=true |
##################################################### |
## |
## Job Deamon seconds |
job.deamon.sleep.seconds=30 |
################################################## |
##Proxy Servers |
#If is an HTTP Server needs encoding config if FTP needs user pass config |
server.ionline=ftp://www.global.estgp.pt |
#server.ionline.start.path= |
server.ionline.start.path=/Eramus/Baco |
#TODO USAR a de baixo quando testar as unidades curriculares |
server.ionline.start.path= |
#server.ionline.start.path=/Eramus/Baco |
ionline.pass=baco |
ionline.user=Baco_web |
server.estgp=http://www.estgp.pt/testes/nova_web |
#server.estgp=http://localhost:8080/estgweb |
server.estgp=http://www.estgp.pt |
estgp.encoding=ISO-8859-1 |
server.estgp.start.path=/testes/nova_web |
#server.estgp=http://www.estgp.pt/testes/nova_web |
#estgp.encoding=UTF-8 |
##server.estgp=http://localhost:8080/estgweb |
server.estgweb=http://www.estgp.pt/testes/estgweb |
estgweb.encoding=UTF-8 |
estgp.encoding=UTF-8 |
server.localhost=http://localhost:8080 |
localhost.encoding=ISO-8859-1 |
server.localhost.start.path=/templates |
server.estgp2=http://www.estgp.pt/testes/nova_web |
#server.estgp=http://localhost:8080/estgweb |
estgp2.encoding=UTF-8 |
################################################ |
## Kinds of roles |
user.admin=admin |
235,11 → 286,12 |
######################################################################### |
# Imports SIGoES |
# |
national.institution.code=3122 |
siges.institution.code=1 |
ws.siges.wsdl=@ws.siges.wsdl@ |
ws.siges.target.namespace=@ws.siges.target.namespace@ |
ws.siges.secret=asdxFhnM.9 |
ws.siges.secret=deptal1232007estg. |
# |
importFirstYearFormat=yyyy |
importSecondYearFormat=yy |
279,3 → 331,19 |
######################################################################### |
# |
#TopImage Filter Links |
# |
top.image.1.start.with=/ |
top.image.1=/imgs/top.jpg |
top.image.start.with.2=/student.do?role=student&menu=menu.alunos |
top.image.url.2=/imgs/topStudents.jpg |
/impl/conf/template/sms/GradeUnit.txt |
---|
New file |
0,0 → 1,7 |
################################################## |
# Template de Messagem de novas Notas |
# 0: Unidade |
# 1: Nota |
################################################## |
{0}:{1}; |
/impl/conf/template/sms/GradesUnit.txt |
---|
New file |
0,0 → 1,8 |
################################################## |
# Template de Messagem de novas Notas |
# 0: Notas |
################################################## |
=TMN ESTG MESSAGE: POWERED BY TMN= |
Novas Notas lançadas: |
{0} |
/impl/conf/template/sms/CourseUnit.txt |
---|
New file |
0,0 → 1,12 |
################################################## |
# Template de Messagem de Unidade Curricular |
# 0: Nome da Unidade |
# 1: Login de quem envia |
# 2: titulo |
# 3: texto |
################################################## |
=TMN ESTG MESSAGE: POWERED BY TMN= |
{0} ({1}) |
{2} |
{3} |
/impl/conf/template/email/newGrades_en.txt |
---|
New file |
0,0 → 1,13 |
#Email to send grades |
Dear Student {0} |
You have new Grades Available at ESTG Site |
{1} |
Best Regards |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/template/email/GradeUnit.txt |
---|
New file |
0,0 → 1,6 |
################################################## |
# Template de Messagem de novas Notas |
# 0: Unidade |
# 1: Nota |
################################################## |
{0}:{1}; |
/impl/conf/template/email/newGrades_pt.txt |
---|
New file |
0,0 → 1,13 |
#Email to send grades |
Caro Aluno {0} |
Tem novas notas disponiveis no sitio da ESTG |
{1} |
Com os melhores cumprimentos |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/template/email/courseUnitAnnouncement_en.txt |
---|
New file |
0,0 → 1,22 |
# 0 : Course Unit Name |
# 1 : Title |
# 2 : Text |
# 3 : Teacher |
# |
# Course Unit Announcement |
# |
Dear Student |
A new announcement has been inserted in: |
{0} |
{1} |
{2} |
Best Regards {3} |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/template/email/courseUnitAnnouncement_pt.txt |
---|
New file |
0,0 → 1,22 |
# 0 : Course Unit Name |
# 1 : Title |
# 2 : Text |
# 3 : Teacher |
# |
# Course Unit Announcement |
# |
Caro estudante |
Um novo anuncio foi publicado na unidade: |
{0} |
{1} |
{2} |
Com os melhores cumprimentos {3} |
--------------------------------------------- |
Escola Superior de Tecnologia e Gestão |
Instituto Politécnico de Portalegre |
http://www.estgp.pt |
/impl/conf/berserk/sd.xml |
---|
100,8 → 100,6 |
</service> |
<!--Announcements--> |
<service> |
<name>CreateAnnouncement</name> |
843,6 → 841,14 |
</filterChains> |
</service> |
<service> |
<name>LoadTeachedUnitsCurrentYear</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadTeachedUnitsCurrentYearService</implementationClass> |
<description>Load teacher units in currentYear</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
</filterChains> |
</service> |
<service> |
<name>LoadSubscribedUnits</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsService</implementationClass> |
<description>Load student units</description> |
851,6 → 857,22 |
</filterChains> |
</service> |
<service> |
<name>LoadSubscribedUnitsCurrentYear</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsCurrentYearService</implementationClass> |
<description>Load student units in current Year</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
</filterChains> |
</service> |
<service> |
<name>LoadSubscribedUnitsOldYears</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsOldYearsService</implementationClass> |
<description>Load student units in current Year</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
</filterChains> |
</service> |
<service> |
<name>LoadSubscribedUnitsAnnouncements</name> |
<implementationClass>pt.estgp.estgweb.services.courseunits.LoadSubscribedUnitsAnnouncementsService</implementationClass> |
<description>Load student units</description> |
1016,6 → 1038,16 |
<chain name="Logger"/> |
</filterChains> |
</service> |
<service> |
<name>LoadCoursesImportYear</name> |
<implementationClass>pt.estgp.estgweb.services.courses.CoursesService</implementationClass> |
<description>Load All Courses</description> |
<isTransactional>true</isTransactional> |
<defaultMethod>loadCoursesImportYear</defaultMethod> |
<filterChains> |
<chain name="Logger"/> |
</filterChains> |
</service> |
1248,9 → 1280,12 |
<!----> |
</serviceDefinitions> |
/impl/conf/berserk/fcd.xml |
---|
262,6 → 262,13 |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromCourseUnitQuestion</name> |
<expression>OwnerUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromWorkAssignementObject</name> |
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
269,6 → 276,14 |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerCourseUnitFromCourseUnitQuestionObject</name> |
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>IsInCourseUnitFromWorkAssignement</name> |
<expression>IsInCourseUnitUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression> |
<description>Owner of an object Control Chain</description> |
/impl/conf/hibernate.cfg.xml |
---|
10,19 → 10,25 |
<property name="connection.password">@database.password@</property> |
<property name="connection.autocommit">false</property> |
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> |
<property name="hibernate.connection.autoReconnect">true</property> |
<property name="hibernate.connection.autoReconnectForPools">true</property> |
<property name="show_sql">@hibernate.show.sql@</property> |
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> |
<property name="hibernate.c3p0.min_size">5</property> |
<property name="hibernate.c3p0.max_size">20</property> |
<property name="hibernate.c3p0.timeout">1800</property> |
<!--<property name="connection.pool_size">2</property>--> |
<property name="hibernate.transaction.auto_close_session">true</property> |
<property name="hibernate.connection.release_mode">after_transaction</property> |
<property name="hibernate.c3p0.min_size">2</property> |
<property name="hibernate.c3p0.max_size">30</property> |
<property name="hibernate.c3p0.timeout">500</property> |
<property name="hibernate.max_statements">50</property> |
<!--<property name="current_session_context_class">org.hibernate.context.CurrentSessionContext</property>--> |
<!--<property name="current_session_context_class">org.hibernate.context.JTASessionContext</property>--> |
<!--<property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.TransactionManagerLookup</property>--> |
<property name="current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property> |
<!--<property name="current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property>--> |
<property name="current_session_context_class">thread</property> |
{0} |
</session-factory> |
</hibernate-configuration> |
</hibernate-configuration> |
/impl/INSTALL |
---|
New file |
0,0 → 1,113 |
######################################################################### |
# |
# BACO is a LGPL project developed at ESTG / IPP Portalegre |
# The main objective is to support school site and |
# daily work and comunications between Teachers and Students |
# |
# |
# http://www.estgp.pt |
# |
# Preject Team Leader |
# |
# Jorge Machado - jmachado AT estgp DOT pt |
# |
######################################################################### |
# Release 1.0 # |
SOFTWARE REQUIREMENTS |
JDK 5.0 or JDK 1.6.0_06 or superior (Middle versions between those two will bring problems in WEB SERVICES) |
Apache ANT to compile and build project |
MySql 4.1 or superior |
Tomcat 5.0 or Superior |
DOWNLOAD |
Download the last version from Site Project or from SVN http://deptal.estgp.pt:9090/svn/estgweb |
ANT CONFIGURATION |
Download and unzip ant for some local folder. |
Set Environement Variable ANT_HOME with that folder and add %ANT_HOME%/bin to PATH of your computer |
Test this instalation opening a shell pront and writing >ant If the command is recognized ANT is ready to run. |
It's natural system anwser you with: |
============================================================================= |
Buildfile: build.xml does not exist! |
Build failed |
============================================================================= |
This happens because you are not in a folder with a build.xml file |
TOMCAT CONFIGURATION |
Download and unzip tomcat in some folder. Go to conf/tomcat-users.xml and create role "manager" and a user with that role |
For example: |
============================================================================= |
<?xml version='1.0' encoding='utf-8'?> |
<tomcat-users> |
<role rolename="manager"/> |
<role rolename="tomcat"/> |
<role rolename="role1"/> |
<user username="tomcat" password="tomcat" roles="tomcat"/> |
<user username="both" password="tomcat" roles="tomcat,role1"/> |
<user username="admin" password="admin" roles="manager"/> |
</tomcat-users> |
============================================================================= |
If you are using not self install tomcat create a startup file like this: |
go to tomcat/bin |
============================================================================= |
set CATALINA_HOME=C:\Servidores\apache-tomcat-6.0.16 |
set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xmx512m -Xms128m -XX:NewRatio=1 -server |
set JAVA_OPTS=%JAVA_OPTS% |
startup.bat |
============================================================================= |
if you are running a self install server version after install tomcat as Service |
go to tomcat folder / bin and run tomcatXw.exe to set environement variables |
at JAVA_OPTS screen write: |
-Dfile.encoding=UTF-8 |
and set min memory size to 128 and max memory size to 512 |
INSTALL |
Place yourself in project dir / impl |
Copy and paste build.properties to local.properties, and change |
- database configuration, |
- tomcat location (in case of tomcat 5 carefully with libraries folders (see in build.properties) because are not the same in tomcat 6.0) |
See local-exampleNotInUse for example. Note that this is a minimal example. Some configurations will be takes by default. |
Do not include local.properties in SVN project |
Create a new Schema in MySql with the name used in local.properties and configure a user or let be root with no password |
At project/impl run |
>ant all |
If an error of log4j (No loggers found at routine generateHibernateDomain) appears to you stop and run it again |
IF build is a success run |
>ant build.war |
And than |
>ant tomcat.deployContext |
If every thing goes well your system is running |
SYSTEM CONFIGURATION |
System configurations can be found at project/impl/conf/app.properties |
Web services configuration can be found in build.properties and you can override in local.properties |
SCRIPTS |
A set of schedulable scripts are created in build and placed in impl/build/ant/scripts. |
Some scripts are used to import CourseUnits, Students, Teachers and Grades from SIGES WEB-SERVICE |
There are a script to clean tmp. This script delete only old files with more than 24 hours, you can run it any time. |
/impl/src/java/jomm/utils/StreamsUtils.java |
---|
37,6 → 37,7 |
public static void inputStream2File(InputStream stream, File f) throws IOException |
{ |
f.getParentFile().mkdirs(); |
FileOutputStream out = new FileOutputStream(f); |
inputStream2OutputStream(stream,out); |
} |
/impl/src/java/jomm/utils/DosJarIncludePathGenerator.java |
---|
21,17 → 21,30 |
{ |
if(args == null || args.length != 3) |
if(args == null || args.length != 4) |
{ |
System.out.println("USAGE: main <jarsStartDir> <targetDir> <targetFile>"); |
System.out.println("USAGE: main <jarsStartDir> <compiledClassesDir> <targetDir> <targetFile>"); |
return; |
} |
String path = args[0]; |
String targetDir = args[1]; |
String targetFile = args[2]; |
String classpath = genDir(path,""); |
String classesDir = args[1]; |
String targetDir = args[2]; |
String targetFile = args[3]; |
path = removeDotDot(path); |
classesDir = removeDotDot(classesDir); |
String classpath = classesDir + ";" + genDir(path,""); |
System.out.println(classesDir); |
System.out.println(classpath); |
new File(targetDir).mkdirs(); |
FileWriter writer = new FileWriter(targetDir + SEPARATOR + targetFile); |
writer.write("set " + BASE_ENV + "=" + path + "\n"); |
writer.write("set " + CLASSPATH_ENV + "=" + classpath + "\n"); |
writer.close(); |
} |
public static String removeDotDot(String path) |
{ |
int dotdot = path.indexOf(".."); |
if(dotdot >= 0) |
{ |
40,9 → 53,7 |
pathBeforeDotDot = pathBeforeDotDot.substring(0,lastIndexDotDotOfNewPath); |
path = pathBeforeDotDot + path.substring(dotdot + 2); |
} |
writer.write("set " + BASE_ENV + "=" + path + "\n"); |
writer.write("set " + CLASSPATH_ENV + "=" + classpath + "\n"); |
writer.close(); |
return path; |
} |
private static String genDir(String path, String relative) |
/impl/src/java/jomm/utils/StringsUtils.java |
---|
50,6 → 50,14 |
{ |
finalFormatedText.append(" "); |
} |
else if (text.charAt(i) == '<') |
{ |
finalFormatedText.append("<"); |
} |
else if (text.charAt(i) == '>') |
{ |
finalFormatedText.append(">"); |
} |
else |
{ |
finalFormatedText.append(text.charAt(i)); |
59,6 → 67,31 |
return finalFormatedText.toString(); |
} |
public static String getEscapeHtmlText(String text) |
{ |
if (text == null || text.trim().length() == 0) |
return ""; |
StringBuilder finalFormatedText = new StringBuilder(); |
boolean newLine = true; |
for (int i = 0; i < text.length(); i++) |
{ |
if (text.charAt(i) == '<') |
{ |
finalFormatedText.append("<"); |
} |
else if (text.charAt(i) == '>') |
{ |
finalFormatedText.append(">"); |
} |
else |
{ |
finalFormatedText.append(text.charAt(i)); |
} |
} |
return finalFormatedText.toString(); |
} |
public static boolean checkLetters09AZazHiffenUnderScore(String candidate) |
{ |
if (candidate == null) |
95,6 → 128,7 |
{ |
String lowerToken = token.toLowerCase(); |
String cleanToken = clearDiacritics(lowerToken); |
cleanToken = clearNonAlfaNumericChars(cleanToken); |
StringBuilder finalToken = new StringBuilder(); |
for(int i = 0; i< cleanToken.length();i++) |
{ |
118,6 → 152,18 |
return DiacriticFilter.clean(lowerToken); |
} |
public static String clearNonAlfaNumericChars(String lowerToken) |
{ |
StringBuilder builder = new StringBuilder(); |
for(int i = 0; i < lowerToken.length();i++) |
{ |
char c = lowerToken.charAt(i); |
if( (c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) |
builder.append(c); |
} |
return builder.toString(); |
} |
public static String cleanKeepNumbers(String telemovel) |
{ |
StringBuilder result = new StringBuilder(); |
/impl/src/java/jomm/utils/TemplateUtils.java |
---|
7,6 → 7,7 |
import java.io.StringReader; |
import java.io.InputStreamReader; |
import java.util.HashMap; |
import java.text.MessageFormat; |
import org.apache.log4j.Logger; |
22,11 → 23,17 |
private static HashMap templates = null; |
public static String formatMessageTemplate(String template, String[] args) |
{ |
String content = TemplateUtils.getOrLoadTemplate(template); |
return MessageFormat.format(content, args); |
} |
/** |
* Check if file content is already in Cache |
* See: |
* |
* #getNoCommentText method |
* #getNoCommentText method |
* @param file to get from class loader |
* @return file content |
*/ |
/impl/src/java/jomm/web/utils/NavPlace.java |
---|
4,6 → 4,8 |
import javax.servlet.http.HttpServletRequest; |
import org.apache.log4j.Logger; |
/** |
* |
* @author Jorge Machado |
11,6 → 13,8 |
public class NavPlace |
{ |
private static final Logger logger = Logger.getLogger(NavPlace.class); |
private static final String AuxiliaryQueryString = "AuxiliaryQueryString"; |
private int pos; |
135,12 → 139,22 |
public String getMessage(HttpServletRequest request) |
{ |
String msg = null; |
try{ |
if(arg1 != null) |
return MessageResources.getMessage(request,key,arg0,arg1); |
msg = MessageResources.getMessage(request,key,arg0,arg1); |
else if(arg0 != null) |
return MessageResources.getMessage(request,key,arg0); |
msg = MessageResources.getMessage(request,key,arg0); |
else |
return MessageResources.getMessage(request,key); |
msg = MessageResources.getMessage(request,key); |
} |
catch(Exception e) |
{ |
logger.error(e,e); |
} |
if(msg == null) |
return key; |
return msg; |
} |
/impl/src/java/pt/estgp/estgweb/utils/Email.java |
---|
8,7 → 8,10 |
import java.util.Properties; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.regex.Pattern; |
import java.util.regex.Matcher; |
import java.text.MessageFormat; |
import java.io.Serializable; |
import pt.estgp.estgweb.Globals; |
18,10 → 21,10 |
* @time 18:32:21 |
* @see pt.estgp.estgweb.utils |
*/ |
public class Email |
public class Email implements Serializable |
{ |
public static String EMAIL_TEMPLATES_PATH = "/template/email"; |
private String subject; |
private List<String> recipients; |
private String from; |
38,64 → 41,53 |
this.arguments = arguments; |
} |
/** |
* Sends the email. |
* |
* @throws javax.mail.MessagingException if there was a problem sending the mail. |
*/ |
public void send() |
throws MessagingException |
public String getSubject() |
{ |
return subject; |
} |
// Set up properties for mail session |
Properties props = System.getProperties(); |
props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST); |
public List<String> getRecipients() |
{ |
return recipients; |
} |
// Get session |
Session session = Session.getDefaultInstance(props, null); |
public String getFrom() |
{ |
return from; |
} |
// Create message |
MimeMessage message = new MimeMessage(session); |
// Set the recipients of the message |
for (String recipient : recipients) { |
message.addRecipient(Message.RecipientType.TO, |
new InternetAddress(recipient)); |
} |
String content = TemplateUtils.getOrLoadTemplate(EMAIL_TEMPLATES_PATH + "/" + emailTemplateName); |
// Format the mail message |
String fullMessage = MessageFormat.format(content, arguments.toArray()); |
message.setFrom(new InternetAddress(from)); |
message.setSubject(subject); |
message.setText(fullMessage); |
// if (replyTo != null) |
// { |
// Address[] replyToAddr = new Address[1]; |
// replyToAddr[0] = new InternetAddress(replyTo); |
// message.setReplyTo(replyToAddr); |
// } |
System.out.println(fullMessage); |
Transport.send(message); |
public String getEmailTemplateName() |
{ |
return emailTemplateName; |
} |
public static void main(String[]args) |
public List<String> getArguments() |
{ |
List<String> recipients = new ArrayList<String>(); |
recipients.add("jmachado@estgp.pt"); |
return arguments; |
} |
List<String> arguments = new ArrayList<String>(); |
arguments.add("João Pedro"); |
arguments.add("http://www.estgp.pt/teste"); |
Email email = new Email("assunto de teste",recipients,Globals.SYSTEM_EMAIL_BOX,"sendPageFriend_en.txt",arguments); |
try { |
email.send(); |
} |
catch (MessagingException e) { |
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. |
} |
public static boolean validEmail(String email) |
{ |
if(email == null) |
return false; |
Pattern p = Pattern.compile(".+@.+\\.[a-z]+"); |
//Match the given string with the pattern |
Matcher m = p.matcher(email); |
//check whether match is found |
return m.matches(); |
} |
public static void main( String[] args ) |
{ |
System.out.println(validEmail("")); |
System.out.println(validEmail("d.@")); |
System.out.println(validEmail("asd@.")); |
System.out.println(validEmail("a.sd@.p")); |
System.out.println(validEmail("@t.pt")); |
System.out.println(validEmail("e@.e")); |
System.out.println(validEmail("e@")); |
System.out.println(validEmail("e@e.pt")); |
System.out.println(validEmail("jmachado@estgp.pt")); |
} |
} |
/impl/src/java/pt/estgp/estgweb/utils/Dom4jUtil.java |
---|
New file |
0,0 → 1,198 |
package pt.estgp.estgweb.utils; |
import org.dom4j.Document; |
import org.dom4j.DocumentException; |
import org.dom4j.Element; |
import org.dom4j.io.*; |
import org.xml.sax.*; |
import javax.xml.transform.*; |
import javax.xml.transform.stream.StreamSource; |
import java.io.*; |
import java.net.MalformedURLException; |
import java.net.URL; |
import java.util.Hashtable; |
import java.util.Map; |
import pt.estgp.estgweb.Globals; |
import net.sf.saxon.TransformerFactoryImpl; |
/** |
* Class Description |
* |
* @author Jorge Machado <machadofisher@gmail.com> |
* @see ; |
*/ |
public class Dom4jUtil |
{ |
public static Document parse(URL url) throws DocumentException |
{ |
SAXReader reader = new SAXReader(); |
createIgnoreErrorHandler(reader); |
return reader.read(url); |
} |
public static Document parse(String xml) throws DocumentException |
{ |
SAXReader reader = new SAXReader(); |
createIgnoreErrorHandler(reader); |
return reader.read(new StringReader(xml)); |
} |
public static void createIgnoreErrorHandler(SAXReader reader) |
{ |
reader.setValidation(false); |
reader.setErrorHandler(new ErrorHandler() |
{ |
public void warning(SAXParseException exception) throws SAXException |
{ |
System.out.println(exception); |
} |
public void error(SAXParseException exception) throws SAXException |
{ |
System.out.println(exception); |
} |
public void fatalError(SAXParseException exception) throws SAXException |
{ |
System.out.println(exception); |
} |
}); |
} |
public static Document parse(File file) throws DocumentException, MalformedURLException |
{ |
SAXReader reader = new SAXReader(); |
reader.setValidation(false); |
createIgnoreErrorHandler(reader); |
return reader.read(file); |
} |
public static Document parse(InputSource source) throws DocumentException, MalformedURLException |
{ |
SAXReader reader = new SAXReader(); |
createIgnoreErrorHandler(reader); |
return reader.read(source); |
} |
public static Document parse(InputStream stream) throws DocumentException, MalformedURLException |
{ |
SAXReader reader = new SAXReader(); |
createIgnoreErrorHandler(reader); |
return reader.read(stream); |
} |
public static void write(Document document,String fileDest) throws IOException |
{ |
// lets write to a file |
XMLWriter writer = new XMLWriter( |
new FileWriter( fileDest ) |
); |
writer.write( document ); |
writer.close(); |
} |
public static void writeSout(Document document) throws IOException |
{ |
// Compact format to System.out |
OutputFormat format = OutputFormat.createCompactFormat(); |
XMLWriter writer = new XMLWriter( System.out, format ); |
writer.write( document ); |
} |
public static void write(Document document,OutputStream stream) throws IOException |
{ |
// lets write to a file |
XMLWriter writer = new XMLWriter(stream); |
writer.write( document ); |
writer.close(); |
} |
public static void write(Element document,OutputStream stream) throws IOException |
{ |
// lets write to a file |
XMLWriter writer = new XMLWriter(stream); |
writer.write( document ); |
writer.close(); |
} |
public static void write(Document document,Writer writerStream) throws IOException |
{ |
// lets write to a file |
XMLWriter writer = new XMLWriter(writerStream); |
writer.write( document ); |
writer.close(); |
} |
private static TransformerFactory transFact = new TransformerFactoryImpl(); |
private static Map<String,Templates> templates =new Hashtable<String,Templates>(); |
/** |
* |
* @param document to transform |
* @param stylesheet relative to classPath |
* @return transformed document |
* @throws Exception parsing stylesheet |
*/ |
public static String styleDocument(Document document,String stylesheet) throws Exception { |
Transformer transformer = getTransformerFromSystem(stylesheet); |
// now lets style the given document |
DocumentSource source = new DocumentSource( document ); |
DocumentResult result = new DocumentResult(); |
transformer.transform( source, result ); |
// return the transformed document |
Document transformedDoc = result.getDocument(); |
StringWriter writer = new StringWriter(); |
write(transformedDoc,writer); |
return writer.toString(); |
} |
/** |
* |
* @param document to transform |
* @param stylesheet relative to classPath |
* @param fileDest to write the destination file |
* @return transformed document |
* @throws Exception parsing stylesheet |
*/ |
public static Document styleDocument(Document document,String stylesheet, String fileDest) throws Exception { |
Transformer transformer = getTransformerFromSystem(stylesheet); |
// now lets style the given document |
DocumentSource source = new DocumentSource( document ); |
DocumentResult result = new DocumentResult(); |
transformer.transform( source, result ); |
// return the transformed document |
Document transformedDoc = result.getDocument(); |
write(transformedDoc,fileDest); |
return transformedDoc; |
} |
private static Transformer getTransformerFromSystem(String xsltFile) throws TransformerConfigurationException, IOException |
{ |
Templates tpl= templates.get(xsltFile); |
if (tpl==null) |
{ |
String path = Globals.CLASSES_ABSOLUTE_PATH + xsltFile; |
Source xsltSource = new StreamSource(path); |
tpl = transFact.newTemplates(xsltSource); |
templates.put(xsltFile,tpl); |
} |
return tpl.newTransformer(); |
} |
public static void main(String [] args) throws Exception |
{ |
System.out.println(Dom4jUtil.styleDocument(Dom4jUtil.parse(new File("C:\\Servidores\\workspace\\baco\\impl\\src\\xsd\\curso_EI.xml")),"/template/xsd/curso.xsl")); |
} |
} |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
1,11 → 1,8 |
package pt.estgp.estgweb; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.User; |
import java.util.List; |
import java.util.ArrayList; |
import java.math.BigDecimal; |
/** |
17,6 → 14,16 |
public class Globals { |
public static String CLASSES_ABSOLUTE_PATH; |
static |
{ |
CLASSES_ABSOLUTE_PATH = Globals.class.getProtectionDomain().getCodeSource().getLocation().toString().replace("%20"," "); |
if(CLASSES_ABSOLUTE_PATH.endsWith("Globals.class")) CLASSES_ABSOLUTE_PATH = CLASSES_ABSOLUTE_PATH.substring(0, CLASSES_ABSOLUTE_PATH.lastIndexOf("/")) + "/../../../"; |
if(CLASSES_ABSOLUTE_PATH.endsWith(".jar")) CLASSES_ABSOLUTE_PATH = CLASSES_ABSOLUTE_PATH.substring(0, CLASSES_ABSOLUTE_PATH.lastIndexOf("/")) + "/../classes/"; |
if(CLASSES_ABSOLUTE_PATH.endsWith("/")) |
CLASSES_ABSOLUTE_PATH = CLASSES_ABSOLUTE_PATH.substring(0,CLASSES_ABSOLUTE_PATH.length()-1); |
} |
public static final String INTRANET_CONTENTS = ConfigProperties.getProperty("intranet.contents.dir"); |
public static final String INTRANET_GRADES = ConfigProperties.getProperty("intranet.grades.dir"); |
public static final String INTRANET_PRESENCES = ConfigProperties.getProperty("intranet.presences.dir"); |
61,6 → 68,7 |
public static final String BLOG_TYPE_COURSE_UNIT = ConfigProperties.getProperty("blog.type.courseunit"); |
/*SIGES WEB SERVICES*/ |
public static final BigDecimal NATIONAL_INSTITUTION_CODE = new BigDecimal(ConfigProperties.getIntProperty("national.institution.code")); |
public static final BigDecimal SIGES_INSTITUTION_CODE = new BigDecimal(ConfigProperties.getIntProperty("siges.institution.code")); |
public static final String SIGES_WEBSERVICE_WSDL = ConfigProperties.getProperty("ws.siges.wsdl"); |
public static final String SIGES_WEBSERVICE_TARGET_NAMESPACE = ConfigProperties.getProperty("ws.siges.target.namespace"); |
78,6 → 86,10 |
public static final List<String> FILTER_IGNORE_EXTENSIONS = ConfigProperties.getListValues("filter.ignore.extension"); |
public static final List<String> FILTER_IGNORE_PREFIXES = ConfigProperties.getListValues("filter.ignore.prefix"); |
public static final List<String> TOP_IMAGE_FILTER_LINKS = ConfigProperties.getListValues("top.image.start.with"); |
public static final List<String> TOP_IMAGE_FILTER_IMAGES_URL = ConfigProperties.getListValues("top.image.url"); |
public static final String SITE_URL = ConfigProperties.getProperty("site.url"); |
public static final String INTRANET_MESSAGES_PREFIX = "intranet."; |
127,7 → 139,15 |
public static final boolean SMS_COURSEUNIT_ANNOUNCEMENT = ConfigProperties.getBooleanProperty("sms.courseunit.announcement"); |
public static final boolean SMS_NEW_GRADES = ConfigProperties.getBooleanProperty("sms.new.grades"); |
public static final boolean EMAIL_NEW_GRADES = ConfigProperties.getBooleanProperty("email.new.grades"); |
public static final boolean EMAIL_COURSEUNIT_ANNOUNCEMENTS = ConfigProperties.getBooleanProperty("email.courseunit.announcements"); |
public static final boolean SMS_COURSEUNIT_ANNOUNCEMENT_ONLY_PROFS = ConfigProperties.getBooleanProperty("sms.courseunit.announcement.only.profs"); |
public static final int JOB_DEAMON_SLEEP_SECONDS=ConfigProperties.getIntProperty("job.deamon.sleep.seconds"); |
public static final String MODULE_STATUS_PREFIX = "module."; |
public static final boolean MODULE_STATUS_ANNOUNCEMENTS = ConfigProperties.getBooleanProperty("module.announcements"); |
public static final boolean MODULE_STATUS_MANAGE_IDENTIFIERS = ConfigProperties.getBooleanProperty("module.manageidentifiers"); |
140,6 → 160,32 |
public static final boolean MODULE_STATUS_INTRANET = ConfigProperties.getBooleanProperty("module.intranet"); |
public static final boolean MODULE_STATUS_PROFILE = ConfigProperties.getBooleanProperty("module.profile"); |
public static final boolean MODULE_STATUS_COURSEUNITS = ConfigProperties.getBooleanProperty("module.courseunits"); |
public static final boolean MODULE_STATUS_SMS = ConfigProperties.getBooleanProperty("module.sms"); |
public static final String TEMPLATE_COURSE_XSL_PATH = "/template/xsd/fragmentoCurso.xsl"; |
public static final String TEMPLATE_XSD_PATH = "/template/xsd"; |
public static final String TEMPLATE_EMAIL_PATH = "/template/email"; |
public static final String TEMPLATE_ASSIGNEMENT_PATH = "/template/assignement"; |
public static final String TEMPLATE_SMS_PATH = "/template/sms"; |
public static final String TEMPLATE_SMS_COURSEUNIT_ANNOUNCMENT = TEMPLATE_SMS_PATH + "/CourseUnit.txt"; |
public static final String TEMPLATE_SMS_NEW_GRADES = TEMPLATE_SMS_PATH + "/GradesUnit.txt"; |
public static final String TEMPLATE_SMS_NEW_GRADE = TEMPLATE_SMS_PATH + "/GradeUnit.txt"; |
public static final String EMAIL_SEND_URL_FRIEND_SUBJECT_PT = ConfigProperties.getProperty("email.send.url.friend.subject.pt"); |
public static final String EMAIL_SEND_URL_FRIEND_SUBJECT_EN = ConfigProperties.getProperty("email.send.url.friend.subject.en"); |
public static final String EMAIL_SEND_URL_FRIEND_TEMPLATE_PT = "sendPageFriend_pt.txt"; |
public static final String EMAIL_SEND_URL_FRIEND_TEMPLATE_EN = "sendPageFriend_en.txt"; |
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_PT = ConfigProperties.getProperty("email.courseunit.announcement.subject.pt"); |
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_EN = ConfigProperties.getProperty("email.courseunit.announcement.subject.en"); |
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_PT = "courseUnitAnnouncement_pt.txt"; |
public static final String EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_EN = "courseUnitAnnouncement_en.txt"; |
public static final String EMAIL_NEW_GRADES_SUBJECT_PT = ConfigProperties.getProperty("email.new.grades.subject.pt"); |
public static final String EMAIL_NEW_GRADES_SUBJECT_EN = ConfigProperties.getProperty("email.new.grades.subject.en"); |
public static final String EMAIL_NEW_GRADES_TEMPLATE_PT = "newGrades_pt.txt"; |
public static final String EMAIL_NEW_GRADES_TEMPLATE_EN = "newGrades_en.txt"; |
public static final String EMAIL_GRADE_UNIT_TEMPLATE = "GradeUnit.txt"; |
} |
/impl/src/java/pt/estgp/estgweb/services/courses/CoursesCommonServices.java |
---|
57,9 → 57,9 |
defaultResult.setTitle(course.getName()); |
defaultResult.setText(course.getDescription()); |
if (from == null) |
defaultResult.setUrl("/startLoadCourse.do?id=" + course.getId()); |
defaultResult.setUrl("/startLoadCourse.do?courseView.id=" + course.getId()); |
else |
defaultResult.setUrl("/user/startLoadCourseFrom" + from + ".do?id=" + course.getId()); |
defaultResult.setUrl("/user/startLoadCourseFrom" + from + ".do?courseView.id=" + course.getId()); |
searchResults.addResult(defaultResult); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courses/CoursesService.java |
---|
2,6 → 2,7 |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.data.RepositoryService; |
import pt.estgp.estgweb.services.data.IRepositoryFile; |
import pt.estgp.estgweb.services.courseunits.LoadCourseUnitAnnouncements; |
import pt.estgp.estgweb.services.courseunits.LoadCourseUnitService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
11,11 → 12,20 |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.Globals; |
import org.apache.log4j.Logger; |
import org.dom4j.Document; |
import org.dom4j.DocumentException; |
import java.util.List; |
import java.util.ArrayList; |
import java.io.InputStream; |
import java.io.PrintWriter; |
import java.io.StringWriter; |
import java.io.IOException; |
import java.net.MalformedURLException; |
import jomm.utils.FilesUtils; |
90,6 → 100,8 |
DaoFactory.getCourseDaoImpl().save(c); |
} |
String htmlTrasformationResult = null; |
if(stream != null && size > 0) |
{ |
String extension = FilesUtils.getExtension(name); |
102,9 → 114,35 |
{ |
repositoryService.updateRepositoryFile(c.getStudiesPlan(), stream, contentType, extension, size, name, "course.studies.plan " + c.getName(), ResourceAccessControlEnum.publicDomain); |
} |
IRepositoryFile repositoryFile = repositoryService.load(c.getStudiesPlan(),userSession); |
stream = repositoryFile.getInput(); |
try |
{ |
Document dom = Dom4jUtil.parse(stream); |
String html = Dom4jUtil.styleDocument(dom, Globals.TEMPLATE_COURSE_XSL_PATH); |
c.setCacheWebDocument(html); |
} |
catch (Exception e) |
{ |
StringWriter writer = new StringWriter(); |
PrintWriter printWriter = new PrintWriter(writer); |
e.printStackTrace(printWriter); |
htmlTrasformationResult = "<div class=\"error\"><pre>" + e.toString() + "\n" + printWriter.toString() + "</pre></div>"; |
printWriter.close(); |
} |
try |
{ |
stream.close(); |
} |
catch (IOException e) |
{ |
logger.error(e,e); |
} |
} |
courseView.persistViewInObject(c); |
return loadCourse(c.getId(),false); |
CourseView cv = loadCourse(c.getId(),false); |
cv.setHtmlResult(htmlTrasformationResult); |
return cv; |
} |
public List<CourseView> loadCourses() throws ServiceException |
119,5 → 157,19 |
return courseViews; |
} |
public List<CourseView> loadCoursesImportYear() throws ServiceException |
{ |
String importYearIntranet = DatesUtils.getImportYear(); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAllOrderByName(importYearIntranet); |
List<CourseView> courseViews = new ArrayList<CourseView>(); |
for(Course c: courses) |
{ |
CourseView courseView = new CourseView(c); |
courseViews.add(courseView); |
} |
return courseViews; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/UsersUnitsService.java |
---|
31,9 → 31,10 |
TeacherImpl t = (TeacherImpl) DaoFactory.getTeacherDaoImpl().get(teacherId); |
if(t != null) |
{ |
courseUnit.getTeachers().remove(t); |
if(courseUnit.getTeachers() != null) |
courseUnit.getTeachers().remove(t); |
courseUnit.getTeachers().add(t); |
t.addUnitLocaly(courseUnitId); |
t.addUnitLocaly(courseUnit); |
return loadCourseUnitService.run(courseUnitId,true,true,false,userSession); |
} |
else |
48,7 → 49,7 |
{ |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().get(courseUnitId); |
TeacherImpl t = (TeacherImpl) DaoFactory.getTeacherDaoImpl().get(teacherId); |
t.removeUnitLocaly(courseUnitId); |
t.removeUnitLocaly(courseUnit); |
courseUnit.getTeachers().remove(t); |
return loadCourseUnitService.run(courseUnitId,true,true,false,userSession); |
} |
59,9 → 60,10 |
StudentImpl s = (StudentImpl) DaoFactory.getStudentDaoImpl().loadBySigesCode(code); |
if(s != null) |
{ |
courseUnit.getStudents().remove(s); |
if(courseUnit.getStudents() != null) |
courseUnit.getStudents().remove(s); |
courseUnit.getStudents().add(s); |
s.addUnitLocaly(courseUnitId); |
s.addUnitLocaly(courseUnit); |
return loadCourseUnitService.run(courseUnitId,true,true,false,userSession); |
} |
else |
77,7 → 79,7 |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().get(courseUnitId); |
StudentImpl s = (StudentImpl) DaoFactory.getStudentDaoImpl().loadBySigesCode(code); |
courseUnit.getStudents().remove(s); |
s.removeUnitLocaly(courseUnitId); |
s.removeUnitLocaly(courseUnit); |
return loadCourseUnitService.run(courseUnitId,true,true,false,userSession); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadSubscribedUnitsCurrentYearService.java |
---|
New file |
0,0 → 1,30 |
package pt.estgp.estgweb.services.courseunits; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.Student; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.List; |
import java.util.ArrayList; |
/** |
* @author Jorge Machado |
* @date 2/Jun/2008 |
* @see pt.estgp.estgweb.services.courseunits |
*/ |
public class LoadSubscribedUnitsCurrentYearService implements IService |
{ |
public List<CourseUnit> run(long studentId) |
{ |
Student t = DaoFactory.getStudentDaoImpl().load(studentId); |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadSubscribedImportYearUnits(studentId, DatesUtils.getImportYear()); |
for(CourseUnit c: units) |
{ |
c.getName(); |
c.getCourse().getName(); |
} |
return units; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitDirPackageService.java |
---|
143,9 → 143,11 |
public static void main(String[] args) throws ServiceException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
new CreateCourseUnitDirPackageService().run(null,null); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
String teste = "Sistemas Térmicos, Hidráulicos e Pneumáticos"; |
System.out.println(StringsUtils.normalizeResourceName(teste)); |
// AbstractDao.getCurrentSession().beginTransaction(); |
// new CreateCourseUnitDirPackageService().run(null,null); |
// AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CreateCourseUnitWorksBackupService.java |
---|
41,8 → 41,6 |
private RepositoryService repositoryService = new RepositoryService(); |
public static String ASSIGNEMENT_TEMPLATES_PATH = "/template/assignement"; |
private static final Logger logger = Logger.getLogger(CreateCourseUnitWorksBackupService.class); |
public String createSystemActualYearBackup(String importYear, UserSession userSession) throws ServiceException |
205,7 → 203,7 |
private String createTeacherActualYearBackup(Teacher t, UserSession userSession) throws ServiceException |
{ |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadTeachedImportYearUnits(t.getId(),DatesUtils.getImportYear()); |
List units = DaoFactory.getCourseUnitDaoImpl().loadTeachedImportYearUnits(t.getId(),DatesUtils.getImportYear()); |
if(units == null || units.size() == 0) |
return null; |
return createTeacherBackup(units,t,userSession); |
352,7 → 350,7 |
{ |
try |
{ |
FilesUtils.copy(iRepositoryFile.getInput(),deliverDir + "/version" + StringsUtils.normalizeResourceName(iRepositoryFile.getName())); |
FilesUtils.copy(iRepositoryFile.getInput(),deliverDir + "/version" + getResourceFileName(iRepositoryFile.getName())); |
} |
catch (IOException e) |
{ |
362,6 → 360,18 |
} |
} |
public String getResourceFileName(String resourceName) |
{ |
String extension = FilesUtils.getExtension( resourceName); |
if(extension != null) |
{ |
resourceName = resourceName.substring(0,resourceName.length() - extension.length()); |
} |
if(extension == null) |
extension = ".unknown"; |
return resourceName + extension; |
} |
private void createAssignementCopy(CourseUnitAssignement assignement, String assignementDir, UserSession userSession) throws IOException |
{ |
String fileContent = buildAssignementTemplate(assignement); |
372,7 → 382,7 |
if(assignement.getRepositoryStream() != null && assignement.getRepositoryStream().length() > 0) |
{ |
IRepositoryFile iRepositoryFile = repositoryService.load(assignement.getRepositoryStream(),userSession); |
FilesUtils.copy(iRepositoryFile.getInput(),assignementDir + "/" + StringsUtils.normalizeResourceName(iRepositoryFile.getName())); |
FilesUtils.copy(iRepositoryFile.getInput(),assignementDir + "/" + getResourceFileName(iRepositoryFile.getName())); |
} |
} |
387,7 → 397,7 |
pt.estgp.estgweb.web.utils.DatesUtils.getStringFromDate(assignement.getDeliverDate()), |
assignement.getDescription() |
}; |
String content = TemplateUtils.getOrLoadTemplate(ASSIGNEMENT_TEMPLATES_PATH + "/Assignement.txt"); |
String content = TemplateUtils.getOrLoadTemplate(Globals.TEMPLATE_ASSIGNEMENT_PATH + "/Assignement.txt"); |
// Format the mail message |
return MessageFormat.format(content, args); |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/CourseUnitWorkService.java |
---|
57,12 → 57,12 |
{ |
assignement = DomainObjectFactory.createCourseUnitAssignementImpl(); |
assignement.setCourseUnit(courseUnit); |
DaoFactory.getCourseUnitAssignementDaoImpl().save(assignement); |
} |
cUV.persistViewInObject(assignement); |
if(name != null && name.length() > 0 && size > 0 && file != null) |
{ |
String extension = FilesUtils.getExtension(name); |
if(assignement.getRepositoryStream() == null || assignement.getRepositoryStream().trim().length() == 0) |
{ |
73,7 → 73,7 |
repositoryService.updateRepositoryFile(assignement.getRepositoryStream(), file, contentType, extension, size, name, "courseunit.assignement.file " + courseUnit.getName() + " of " + userSession.getUser().getUsername(), ResourceAccessControlEnum.courseunitDomain); |
} |
DaoFactory.getCourseUnitAssignementDaoImpl().save(assignement); |
return loadCourseUnitWorks(id,userSession); |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadTeachedUnitsCurrentYearService.java |
---|
New file |
0,0 → 1,32 |
package pt.estgp.estgweb.services.courseunits; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.Teacher; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.List; |
import java.util.ArrayList; |
/** |
* @author Jorge Machado |
* @date 2/Jun/2008 |
* @see pt.estgp.estgweb.services.courseunits |
*/ |
public class LoadTeachedUnitsCurrentYearService implements IService |
{ |
public List<CourseUnitImpl> run(long teacherId) |
{ |
Teacher t = DaoFactory.getTeacherDaoImpl().load(teacherId); |
List<CourseUnitImpl> units = DaoFactory.getCourseUnitDaoImpl().loadTeachedImportYearUnits(teacherId,DatesUtils.getImportYear()); |
for(CourseUnit c: units) |
{ |
c.getName(); |
c.getCourse().getName(); |
} |
return units; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/LoadSubscribedUnitsOldYearsService.java |
---|
New file |
0,0 → 1,29 |
package pt.estgp.estgweb.services.courseunits; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.Student; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.utils.DatesUtils; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 2/Jun/2008 |
* @see pt.estgp.estgweb.services.courseunits |
*/ |
public class LoadSubscribedUnitsOldYearsService implements IService |
{ |
public List<CourseUnit> run(long studentId) |
{ |
// Student t = DaoFactory.getStudentDaoImpl().load(studentId); |
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadSubscribedOtherImportYearUnits(studentId, DatesUtils.getImportYear()); |
for(CourseUnit c: units) |
{ |
c.getName(); |
c.getCourse().getName(); |
} |
return units; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/courseunits/ScheduleCourseUnitAnnouncementSmsService.java |
---|
New file |
0,0 → 1,153 |
package pt.estgp.estgweb.services.courseunits; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.Course; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.Teacher; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.Globals; |
import org.apache.log4j.Logger; |
import jomm.utils.BytesUtils; |
import jomm.utils.StringsUtils; |
import jomm.utils.FilesUtils; |
import jomm.dao.impl.AbstractDao; |
import java.io.File; |
import java.io.FileWriter; |
import java.io.IOException; |
import java.util.List; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
/** |
* @author Jorge Machado |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
public class ScheduleCourseUnitAnnouncementSmsService implements IService |
{ |
private static final Logger logger = Logger.getLogger(ScheduleCourseUnitAnnouncementSmsService.class); |
public String run(String importYear, UserSession userSession) throws ServiceException |
{ |
if(importYear == null || importYear.trim().length() == 0) |
importYear = DatesUtils.getImportYear(); |
String importYearIntranet = DatesUtils.getImportYearIntranet(); |
String tmpName = BytesUtils.generateHexKey(); |
String tmpDir = Globals.TMP_DIR + "/" + tmpName; |
new File(tmpDir).mkdirs(); |
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(importYear); |
try |
{ |
FileWriter batRunner = new FileWriter(tmpDir + "/create.bat"); |
String back = ""; |
for(Course c: courses) |
{ |
String couseDirPath = tmpDir + "/" + StringsUtils.normalizeResourceName(c.getName()) + '.' + c.getCode(); |
File courseDir = new File(couseDirPath); |
courseDir.mkdirs(); |
try |
{ |
String courseImportYearPathDos = couseDirPath + "\\" + importYearIntranet; |
String courseImportYearPath = couseDirPath + "/" + importYearIntranet; |
File courseImportYearDir = new File(courseImportYearPath); |
courseImportYearDir.mkdirs(); |
new File(courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S1).mkdirs(); |
new File(courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S2).mkdirs(); |
FilesUtils.copy(ScheduleCourseUnitAnnouncementSmsService.class.getResourceAsStream(Globals.INTRANET_SETUP_FILE),courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S1 + "/" + Globals.INTRANET_SETUP_FILE_NAME); |
FilesUtils.copy(ScheduleCourseUnitAnnouncementSmsService.class.getResourceAsStream(Globals.INTRANET_SETUP_FILE),courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S2 + "/" + Globals.INTRANET_SETUP_FILE_NAME); |
String callPathS1 = (courseImportYearPathDos + "\\" + Globals.INTRANET_SEMESTRE_S1 + "\\").substring(tmpDir.length() + 1); |
String callPathS2 = (courseImportYearPathDos + "\\" + Globals.INTRANET_SEMESTRE_S2 + "\\").substring(tmpDir.length() + 1); |
batRunner.write("cd " + back + callPathS1); |
back = "..\\..\\..\\"; |
batRunner.write("\n"); |
batRunner.write(Globals.INTRANET_SETUP_FILE_NAME + " " + Globals.INTRANET_USERS_SETUP_FILE_NAME); |
batRunner.write("\n"); |
batRunner.write("cd " + back + callPathS2); |
batRunner.write("\n"); |
batRunner.write(Globals.INTRANET_SETUP_FILE_NAME + " " + Globals.INTRANET_USERS_SETUP_FILE_NAME); |
batRunner.write("\n"); |
FileWriter confWriterSemestre1 = new FileWriter(courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S1 + "/" + Globals.INTRANET_USERS_SETUP_FILE_NAME); |
FileWriter confWriterSemestre2 = new FileWriter(courseImportYearPath + "/" + Globals.INTRANET_SEMESTRE_S2 + "/" + Globals.INTRANET_USERS_SETUP_FILE_NAME); |
List<CourseUnit> courseUnits = DaoFactory.getCourseUnitDaoImpl().loadByCourse(c.getId(),importYear); |
for(CourseUnit courseUnit: courseUnits) |
{ |
FileWriter nowWriter; |
String semestre; |
if(courseUnit.getSemestre().equals("S1")) |
{ |
nowWriter = confWriterSemestre1; |
semestre = Globals.INTRANET_SEMESTRE_S1; |
} |
else |
{ |
nowWriter = confWriterSemestre2; |
semestre = Globals.INTRANET_SEMESTRE_S2; |
} |
String normalizedName = StringsUtils.normalizeResourceName(courseUnit.getName()); |
String unitPath = courseImportYearPath + "/" + semestre + "/" + normalizedName; |
courseUnit.setNormalizedName(normalizedName); |
courseUnit.setPathIntranet(unitPath.substring(tmpDir.length())); |
nowWriter.write(normalizedName); |
if(courseUnit.getTeachers() != null) |
{ |
String users = ""; |
int counter = 0; |
for(Teacher t: courseUnit.getTeachers()) |
{ |
if(t.getUsername() != null) |
{ |
users += " " + t.getUsername(); |
counter++; |
} |
} |
nowWriter.write(" " + counter + users); |
nowWriter.write("\n"); |
} |
} |
confWriterSemestre1.close(); |
confWriterSemestre2.close(); |
} |
catch (IOException e) |
{ |
logger.error(e,e); |
} |
} |
batRunner.write("cd " + back); |
batRunner.close(); |
FilesUtils.zipFolder(tmpDir,tmpDir + ".zip"); |
FilesUtils.delete(tmpDir); |
return tmpName + ".zip"; |
} |
catch (IOException e) |
{ |
logger.error(e,e); |
} |
return null; |
} |
public static void main(String[] args) throws ServiceException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
new ScheduleCourseUnitAnnouncementSmsService().run(null,null); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/SendUrl2FriendService.java |
---|
File deleted |
/impl/src/java/pt/estgp/estgweb/services/email/EMAILJob.java |
---|
New file |
0,0 → 1,48 |
package pt.estgp.estgweb.services.email; |
import pt.estgp.estgweb.services.jobs.JobHandler; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.sms.SmsService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.utils.Email; |
import java.io.Serializable; |
import java.util.List; |
import org.apache.log4j.Logger; |
import jomm.utils.TemplateUtils; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.sms |
*/ |
public class EMAILJob implements JobHandler, Serializable |
{ |
private static final Logger logger = Logger.getLogger(EMAILJob.class); |
private Email email; |
public EMAILJob(Email email) |
{ |
this.email = email; |
} |
public void runJob() |
{ |
try |
{ |
new SendEmailService().sendEmail(email); |
} |
catch (ServiceException e) |
{ |
logger.error("Sending EMAIL:" + e.toString(),e); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/SendEmailService.java |
---|
New file |
0,0 → 1,217 |
package pt.estgp.estgweb.services.email; |
import jomm.utils.TemplateUtils; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.enums.LangEnum; |
import pt.estgp.estgweb.domain.CourseUnitAnnouncement; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.utils.Email; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import javax.mail.MessagingException; |
import javax.mail.Session; |
import javax.mail.Message; |
import javax.mail.Transport; |
import javax.mail.internet.MimeMessage; |
import javax.mail.internet.InternetAddress; |
import java.util.ArrayList; |
import java.util.List; |
import java.util.Properties; |
import java.text.MessageFormat; |
/** |
* @author Jorge Machado |
* @date 20/Mar/2008 |
* @time 18:31:00 |
* @see pt.estgp.estgweb.services.email |
*/ |
public class SendEmailService implements IService |
{ |
private static final Logger logger = Logger.getLogger(SendEmailService.class); |
private static final String gradeUnitTemplate = Globals.TEMPLATE_EMAIL_PATH + "/" + Globals.EMAIL_GRADE_UNIT_TEMPLATE; |
public void sendEmail(Email email) throws ServiceException |
{ |
try{ |
// Set up properties for mail session |
Properties props = System.getProperties(); |
props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST); |
// Get session |
Session session = Session.getDefaultInstance(props, null); |
// Create message |
MimeMessage message = new MimeMessage(session); |
// Set the recipients of the message |
boolean valid = false; |
for (String recipient : email.getRecipients()) |
{ |
if(Email.validEmail(recipient)) |
{ |
valid=true; |
message.addRecipient(Message.RecipientType.TO,new InternetAddress(recipient)); |
} |
} |
if(valid) |
{ |
String content = TemplateUtils.getOrLoadTemplate(Globals.TEMPLATE_EMAIL_PATH + "/" + email.getEmailTemplateName()); |
// Format the mail message |
String fullMessage = MessageFormat.format(content, email.getArguments().toArray()); |
message.setFrom(new InternetAddress(email.getFrom())); |
message.setSubject(email.getSubject()); |
message.setText(fullMessage); |
Transport.send(message); |
} |
} |
catch(MessagingException e) |
{ |
logger.error(e,e); |
throw new ServiceException(e.toString()); |
} |
} |
public Email getSendUrlToFriendEmail(String url, String from, LangEnum langEnum, List<String> recipients) |
{ |
List<String> arguments = new ArrayList<String>(); |
arguments.add(from); |
arguments.add(url); |
String subjectTxt; |
String template; |
if(langEnum == LangEnum.PORTUGUESE) |
{ |
template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_PT; |
subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_PT; |
} |
else |
{ |
template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_EN; |
subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_EN; |
} |
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{from}); |
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments); |
} |
public boolean sendUrlToFriend(String url, String from, LangEnum langEnum, List<String> recipients) |
{ |
try |
{ |
sendEmail(getSendUrlToFriendEmail(url,from,langEnum,recipients)); |
return true; |
} |
catch (ServiceException e) |
{ |
return false; |
} |
} |
public boolean sendCourseUnitAnnouncement(CourseUnitAnnouncement announcement, LangEnum langEnum, String from, List<User> users) |
{ |
try |
{ |
sendEmail(getCourseUnitAnnouncementEmail(announcement,langEnum,from,users)); |
return true; |
} |
catch (ServiceException e) |
{ |
return false; |
} |
} |
public Email getCourseUnitAnnouncementEmail(CourseUnitAnnouncement announcement, LangEnum langEnum, String from, List<User> users) |
{ |
List<String> arguments = new ArrayList<String>(); |
arguments.add(announcement.getCourseUnit().getName()); |
arguments.add(announcement.getTitle()); |
arguments.add(announcement.getText()); |
arguments.add(from); |
String subjectTxt; |
String template; |
if(langEnum == LangEnum.PORTUGUESE) |
{ |
template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_PT; |
subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_PT; |
} |
else |
{ |
template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_EN; |
subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_EN; |
} |
List<String> recipients = new ArrayList<String>(); |
for(User u: users) |
{ |
if(Email.validEmail(u.getEmail())) |
recipients.add(u.getEmail()); |
} |
String subject = java.text.MessageFormat.format(subjectTxt,new String[]{announcement.getCourseUnit().getNormalizedName(),announcement.getTitle()}); |
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments); |
} |
public Email getNewGradesEmail(List<String[]> grades, LangEnum langEnum, String studentEmail, String studentName) |
{ |
List<String> arguments = new ArrayList<String>(); |
String subject; |
String template; |
if(langEnum == LangEnum.PORTUGUESE) |
{ |
template = Globals.EMAIL_NEW_GRADES_TEMPLATE_PT; |
subject = Globals.EMAIL_NEW_GRADES_SUBJECT_PT; |
} |
else |
{ |
template = Globals.EMAIL_NEW_GRADES_TEMPLATE_EN; |
subject = Globals.EMAIL_NEW_GRADES_SUBJECT_EN; |
} |
StringBuilder gradesBuilder = new StringBuilder(); |
for(String[] grade: grades) |
{ |
String gradeTxt = TemplateUtils.formatMessageTemplate(gradeUnitTemplate,grade); |
gradesBuilder.append(gradeTxt); |
} |
arguments.add(studentName); |
arguments.add(gradesBuilder.toString()); |
List<String> recipients = new ArrayList<String>(); |
recipients.add(studentEmail); |
return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments); |
} |
public boolean sendNewGrades(List<String[]> grades, LangEnum langEnum, String studentEmail, String studentName) |
{ |
try |
{ |
sendEmail(getNewGradesEmail(grades,langEnum,studentEmail,studentName)); |
return true; |
} |
catch (ServiceException e) |
{ |
return false; |
} |
} |
public static void main(String [] args) |
{ |
List<String[]> grades = new ArrayList<String[]>(); |
grades.add(new String[]{"Teste","3"}); |
grades.add(new String[]{"Teste2","4"}); |
new SendEmailService().sendNewGrades(grades,LangEnum.PORTUGUESE,"jmachado@estgp.pt","jorge Machado"); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java |
---|
6,9 → 6,14 |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages; |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.jobs.JobScheduleService; |
import pt.estgp.estgweb.services.email.EMAILJob; |
import pt.estgp.estgweb.services.email.SendEmailService; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.enums.LangEnum; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.ipportalegre.siges.web.services.*; |
import org.apache.log4j.Logger; |
16,10 → 21,10 |
import javax.xml.namespace.QName; |
import java.net.URL; |
import java.net.MalformedURLException; |
import java.math.BigDecimal; |
import java.util.*; |
import jomm.dao.impl.AbstractDao; |
import jomm.utils.TemplateUtils; |
/** |
* @author Jorge Machado |
34,7 → 39,7 |
private static final int MAX_COMMIT = 100; |
private List<Long> newGrades = new ArrayList<Long>(); |
private HashMap<Long,List<Long>> newGrades = new HashMap<Long,List<Long>>(); |
public ILogMessages run(String year) throws ServiceException |
{ |
70,6 → 75,7 |
int codAluno = nota.getCodigoAluno().intValue(); |
int codUnidade = nota.getCodigoDisciplina().intValue(); |
int codCurso = nota.getCodigoCurso().intValue(); |
String cdDuracao = nota.getCdDuracao(); |
int valor = nota.getNota().intValue(); |
int statusEpoca = nota.getStatusEpoca().intValue(); |
Date data = nota.getDataAvaliacao().toGregorianCalendar().getTime(); |
81,7 → 87,7 |
{ |
CourseUnit courseUnit; |
try{ |
courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueSubscribed("" + codUnidade, "" + codCurso,s.getId()); |
courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueSubscribed("" + codUnidade, year, "" + codCurso,s.getId(),cdDuracao); |
if(courseUnit != null) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId()); |
90,16 → 96,19 |
grade = DomainObjectFactory.createCourseUnitGradeImpl(); |
grade.setStudent(s); |
grade.setCourseUnit(courseUnit); |
grade.setNormalizedCourseUnitName(courseUnit.getNormalizedName()); |
grade.setImportYear(year); |
DaoFactory.getCourseUnitGradeDaoImpl().save(grade); |
newGrades.add(grade.getId()); |
if(grade.getGrade() > 0) |
addGrade(grade); |
} |
if(grade.getGrade() != valor || grade.getStatusEpoca() != statusEpoca || grade.getPublishDate().getTime() != data.getTime()) |
if(grade.getGrade() != valor || grade.getStatusEpoca() != statusEpoca || (grade.getPublishDate() != null && grade.getPublishDate().getTime() != data.getTime())) |
{ |
grade.setPublishDate(data); |
grade.setGrade(valor); |
grade.setStatusEpoca(statusEpoca); |
newGrades.add(grade.getId()); |
if(grade.getGrade() > 0) |
addGrade(grade); |
} |
} |
else |
109,7 → 118,7 |
} |
}catch(Exception e) |
{ |
logger.warn("Not unique : unit:" + codUnidade + " course:" + codCurso + " student:" + s.getId()); |
logger.warn("Error : unit:" + codUnidade + " course:" + codCurso + " student:" + s.getId(),e); |
} |
} |
120,6 → 129,8 |
} |
} |
sendSms(null); |
sendEmail(null); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
catch (Throwable e) |
134,6 → 145,68 |
return logMessages; |
} |
private void addGrade(CourseUnitGrade grade) |
{ |
List<Long> studentGrades = newGrades.get(grade.getStudent().getId()); |
if(studentGrades == null) |
{ |
studentGrades = new ArrayList<Long>(); |
newGrades.put(grade.getStudent().getId(),studentGrades); |
} |
studentGrades.add(grade.getId()); |
} |
private void sendSms(UserSession userSession) |
{ |
if(Globals.SMS_NEW_GRADES && newGrades.size() > 0) |
{ |
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet(); |
for(Map.Entry<Long,List<Long>> entry: set) |
{ |
long studentId = entry.getKey(); |
List<Long> studentGrades = entry.getValue(); |
Student s = DaoFactory.getStudentDaoImpl().get(studentId); |
if(SMSJob.validPhoneNumber(s.getPhonenumber())) |
{ |
StringBuilder gradesBuilder = new StringBuilder(); |
for(long gradeId: studentGrades) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId); |
String gradeStr = TemplateUtils.formatMessageTemplate(Globals.TEMPLATE_SMS_NEW_GRADE,new String[]{grade.getNormalizedCourseUnitName(),""+grade.getGrade()}); |
gradesBuilder.append(gradeStr); |
} |
SMSJob smsJob = new SMSJob(s,new String[]{gradesBuilder.toString()},Globals.TEMPLATE_SMS_NEW_GRADES); |
JobScheduleService.getInstance().scheduleNow(smsJob,"New Grades SMS: to" + s.getUsername(),userSession); |
} |
} |
} |
} |
public static SendEmailService sendEmailService = new SendEmailService(); |
private void sendEmail(UserSession userSession) |
{ |
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0) |
{ |
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet(); |
for(Map.Entry<Long,List<Long>> entry: set) |
{ |
long studentId = entry.getKey(); |
List<Long> studentGrades = entry.getValue(); |
Student s = DaoFactory.getStudentDaoImpl().get(studentId); |
List<String[]> gradesArray = new ArrayList<String[]>(); |
for(long gradeId: studentGrades) |
{ |
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId); |
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade()}; |
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); |
} |
} |
} |
/** |
* Testar por aqui poi requer Super Role e assim e' autmatico |
* |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java |
---|
13,9 → 13,7 |
import pt.estgp.estgweb.services.logresults.LogMessageTypeEnum; |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessages; |
import pt.estgp.estgweb.services.logresults.impl.DefaultLogMessage; |
import pt.ipportalegre.siges.web.services.Aluno; |
import pt.ipportalegre.siges.web.services.ArrayOfDecimal; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import pt.ipportalegre.siges.web.services.*; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import javax.xml.namespace.QName; |
131,26 → 129,49 |
student.setUsername("a" + d.getCodigo().intValue()); |
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas */ |
if (d.getDisciplinasInscrito() == null || d.getDisciplinasInscrito().getDecimal() == null || d.getDisciplinasInscrito().getDecimal().size() == 0) |
if (d.getDisciplinasInscrito() == null || d.getDisciplinasInscrito().getDisciplina() == null || d.getDisciplinasInscrito().getDisciplina().size() == 0) |
logger.warn("ATENTION STUDENT WITH ZERO UNITS: codigo " + d.getCodigo()); |
else |
{ |
Set<CourseUnit> units = new HashSet<CourseUnit>(); |
for (BigDecimal unitCode : d.getDisciplinasInscrito().getDecimal()) |
ArrayOfDisciplina disciplinas = d.getDisciplinasInscrito(); |
for (Disciplina disciplina : disciplinas.getDisciplina()) |
{ |
List<CourseUnit> l = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue()); |
if (l != null) |
units.addAll(l); |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + disciplina.getCodigoCurso(),disciplina.getCdDuracao(),disciplina.getCdLectivo()); |
if(courseUnit == null) |
{ |
logger.warn("Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo()); |
} |
else |
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue()); |
units.add(courseUnit); |
} |
Iterator<CourseUnit> iter = units.iterator(); |
while (iter.hasNext()) |
{ |
CourseUnit courseUnit = iter.next(); |
if(((StudentImpl)student).isLocalRemovedUnit(courseUnit.getId())) |
if(((StudentImpl)student).isLocalRemovedUnit(courseUnit)) |
iter.remove(); |
} |
if(student.getSubscribedUnits() != null) |
{ |
for(CourseUnit c: units) |
{ |
boolean isIn = false; |
for(CourseUnit tc : student.getSubscribedUnits()) |
{ |
if(tc.equals(c)) |
{ |
isIn = true; |
break; |
} |
} |
if(!isIn) |
student.getSubscribedUnits().add(c); |
} |
} |
else |
student.setSubscribedUnits(units); |
student.setSubscribedUnits(units); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java |
---|
10,10 → 10,7 |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.utils.DatesUtils; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.Teacher; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.TeacherImpl; |
import pt.estgp.estgweb.domain.*; |
import pt.ipportalegre.siges.web.services.*; |
import org.apache.log4j.Logger; |
116,28 → 113,48 |
t.setAcademicName(d.getNomeAcademico()); |
t.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime()); |
//Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas |
if (d.getDisciplinas() == null || d.getDisciplinas().getDecimal() == null || d.getDisciplinas().getDecimal().size() == 0) |
if (d.getDisciplinas() == null || d.getDisciplinas().getDisciplina() == null || d.getDisciplinas().getDisciplina().size() == 0) |
logger.warn("ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + d.getCodigoFuncionario()); |
else |
{ |
Set<CourseUnit> units = new HashSet<CourseUnit>(); |
for (BigDecimal unitCode : d.getDisciplinas().getDecimal()) |
for (Disciplina disciplina : d.getDisciplinas().getDisciplina()) |
{ |
List<CourseUnit> l = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue()); |
CourseUnit courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + disciplina.getCodigo(),"" + disciplina.getCodigoCurso(),"" + disciplina.getCdDuracao(),"" + disciplina.getCdLectivo()); |
if (l != null) |
units.addAll(l); |
if(courseUnit == null) |
{ |
logger.warn("Unit not found: semestre:" + disciplina.getCdDuracao() + " codigo:" + disciplina.getCodigo() + " course:" + disciplina.getCodigoCurso() + " year:" + disciplina.getCdLectivo()); |
} |
else |
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue()); |
units.add(courseUnit); |
} |
Iterator<CourseUnit> iter = units.iterator(); |
while (iter.hasNext()) |
{ |
CourseUnit courseUnit = iter.next(); |
if(((TeacherImpl)t).isLocalRemovedUnit(courseUnit.getId())) |
if(((TeacherImpl)t).isLocalRemovedUnit(courseUnit)) |
iter.remove(); |
} |
t.setTeachedUnits(units); |
if(t.getTeachedUnits() != null) |
{ |
for(CourseUnit c: units) |
{ |
boolean isIn = false; |
for(CourseUnit tc : t.getTeachedUnits()) |
{ |
if(tc.equals(c)) |
{ |
isIn = true; |
break; |
} |
} |
if(!isIn) |
t.getTeachedUnits().add(c); |
} |
} |
else |
t.setTeachedUnits(units); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
143,10 → 143,12 |
for (Map.Entry<String, Disciplina> entry : set) |
{ |
Disciplina d = entry.getValue(); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(), semestre, year); |
if (c == null) |
{ |
c = DomainObjectFactory.createCourseUnitImpl(); |
DaoFactory.getCourseUnitDaoImpl().save(c);DaoFactory.getCourseUnitDaoImpl().save(c); |
} |
c.setName(d.getNome()); |
c.setInstitutionCode("" + Globals.SIGES_INSTITUTION_CODE); |
c.setCode("" + d.getCodigo().intValue()); |
156,7 → 158,7 |
c.setImportYear(year); |
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode()); |
c.setCourse(course); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobRunner.java |
---|
New file |
0,0 → 1,22 |
package pt.estgp.estgweb.services.jobs; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.jobs |
*/ |
public class JobRunner implements Runnable |
{ |
JobHandler handler; |
public JobRunner(JobHandler handler) |
{ |
this.handler = handler; |
} |
public void run() |
{ |
handler.runJob(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobHandler.java |
---|
New file |
0,0 → 1,13 |
package pt.estgp.estgweb.services.jobs; |
import java.io.Serializable; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.jobs |
*/ |
public interface JobHandler extends Serializable |
{ |
public void runJob(); |
} |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobScheduleService.java |
---|
New file |
0,0 → 1,40 |
package pt.estgp.estgweb.services.jobs; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.Job; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import java.util.Date; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.jobs |
*/ |
public class JobScheduleService implements IService |
{ |
private static JobScheduleService instance = new JobScheduleService(); |
public static JobScheduleService getInstance() |
{ |
return instance; |
} |
public void scheduleNow(JobHandler handler, String description, UserSession userSession) |
{ |
schedule(handler, description, new Date(),userSession); |
} |
public void schedule(JobHandler handler, String description, Date startDate, UserSession userSession) |
{ |
Job job = DomainObjectFactory.createJobImpl(); |
if(userSession != null && userSession.getUser() != null) |
job.setOwner(userSession.getUser()); |
job.setDescription(description); |
job.setStartDate(startDate); |
job.setJobHandler(handler); |
DaoFactory.getJobDaoImpl().save(job); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/jobs/JobDeamon.java |
---|
New file |
0,0 → 1,61 |
package pt.estgp.estgweb.services.jobs; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.Job; |
import pt.estgp.estgweb.Globals; |
import jomm.dao.impl.AbstractDao; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.jobs |
*/ |
public class JobDeamon implements Runnable |
{ |
public static final Logger logger = Logger.getLogger(JobDeamon.class); |
public void run() |
{ |
while(true) |
{ |
try |
{ |
logger.info("JobRunner: Waiking up"); |
AbstractDao.getCurrentSession().beginTransaction(); |
List<Job> jobs = DaoFactory.getJobDaoImpl().findExecutableJobs(); |
logger.info("JobRunner found: " + jobs.size() + " jobs"); |
for(Job j: jobs) |
{ |
logger.info("JobRunner running job: " + j.getDescription()); |
JobRunner jobRunner = new JobRunner((JobHandler) j.getJobHandler()); |
jobRunner.run(); |
j.setExecuted(true); |
} |
AbstractDao.getCurrentSession().getTransaction().commit(); |
Thread.sleep(Globals.JOB_DEAMON_SLEEP_SECONDS*1000); |
} |
catch (InterruptedException e) |
{ |
logger.error(e,e); |
try |
{ |
if(AbstractDao.getCurrentSession().getTransaction().isActive()) |
AbstractDao.getCurrentSession().getTransaction().rollback(); |
} |
catch(Throwable t) |
{ |
logger.fatal(t,t); |
logger.fatal("STOPING JOB DEAMON"); |
break; |
} |
} |
} |
} |
public static void main(String [] args) |
{ |
new JobDeamon().run(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/utils/TransformXmlService.java |
---|
New file |
0,0 → 1,47 |
package pt.estgp.estgweb.services.utils; |
import pt.estgp.estgweb.utils.Dom4jUtil; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.io.File; |
/** |
* @author Jorge Machado |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
public class TransformXmlService implements IService |
{ |
public void transform(String xmlFile, String xslTemplate, String fileDest) throws Exception |
{ |
try |
{ |
Dom4jUtil.styleDocument(Dom4jUtil.parse(new File(xmlFile)),xslTemplate,fileDest); |
} |
catch (Exception e) |
{ |
throw e; |
} |
} |
public static void main(String [] args) |
{ |
String xmlFile = args[0]; |
String xslTemplate = args[1]; |
String fileDest = args[2]; |
System.out.println(""); |
try |
{ |
new TransformXmlService().transform(xmlFile,xslTemplate,fileDest); |
} |
catch (Exception e) |
{ |
System.out.println(e.toString()); |
e.printStackTrace(); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/profile/CurriculumService.java |
---|
7,7 → 7,9 |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.enums.RecordEnum; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.dao.impl.CourseUnitDaoImpl; |
import pt.estgp.estgweb.filters.chains.ResourceAccessControlEnum; |
import pt.estgp.estgweb.utils.DatesUtils; |
import org.apache.log4j.Logger; |
import java.io.InputStream; |
40,9 → 42,13 |
public UserView deleteRecord(long recordId, UserSession userSession) throws ServiceException |
{ |
Record record = DaoFactory.getRecordDaoImpl().load(recordId); |
RepositoryFile repositoryFile = DaoFactory.getRepositoryFileDaoImpl().loadByIdentifier(record.getRepositoryStream()); |
repositoryFile.setDeleted(true); |
if(record.getRepositoryStream() != null && record.getRepositoryStream().length() > 0) |
{ |
RepositoryFile repositoryFile = DaoFactory.getRepositoryFileDaoImpl().loadByIdentifier(record.getRepositoryStream()); |
repositoryFile.setDeleted(true); |
} |
DaoFactory.getRecordDaoImpl().delete(record); |
userSession.getUser().getCreatorRecords().remove(record); |
return loadUserViewWithRecords(record.getOwner().getId(),userSession); |
} |
51,7 → 57,7 |
Record record = DaoFactory.getRecordDaoImpl().load(recordId); |
return new RecordView(record,true); |
} |
public UserView createRecord(RecordView recordView,InputStream file, String name, String contentType, int size, UserSession userSession) throws ServiceException |
{ |
Record r; |
99,7 → 105,7 |
return loadUserViewWithRecords(u.getId(),userSession); |
return null; |
} |
public UserView loadUserViewWithRecords(long id, UserSession userSession) throws ServiceException |
{ |
User u; |
131,7 → 137,7 |
if(u instanceof Teacher) |
{ |
Teacher teacher = (Teacher) u; |
courseUnits = teacher.getTeachedUnits(); |
courseUnits = new HashSet<CourseUnit>(DaoFactory.getCourseUnitDaoImpl().loadTeachedImportYearUnits(teacher.getId(), DatesUtils.getImportYear())); |
} |
else if(u instanceof Student) |
{ |
/impl/src/java/pt/estgp/estgweb/services/sms/SmsService.java |
---|
New file |
0,0 → 1,70 |
package pt.estgp.estgweb.services.sms; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import org.apache.log4j.Logger; |
import javax.xml.namespace.QName; |
import java.util.*; |
import java.net.URL; |
import java.net.MalformedURLException; |
/** |
* @author Jorge Machado |
*/ |
public class SmsService implements IService |
{ |
private static final Logger logger = Logger.getLogger(SmsService.class); |
public void run(String message, String phones) throws ServiceException |
{ |
if(Globals.MODULE_STATUS_SMS) |
{ |
logger.info("start sending sms send"); |
try |
{ |
SiGesWEB service; |
try |
{ |
service = new SiGesWEB(new URL(Globals.SIGES_WEBSERVICE_WSDL), new QName(Globals.SIGES_WEBSERVICE_TARGET_NAMESPACE, "SiGesWEB")); |
} |
catch (MalformedURLException e) |
{ |
logger.fatal(e, e); |
return; |
} |
// ArrayOfString phonesArray = new ArrayOfString(); |
// for(String phone: phones) |
// { |
// phonesArray.getString().add(phone); |
// } |
service.getSiGesWEBSoap().sendSmsSeparatedWithComma(message,phones,Globals.SIGES_WEBSERVICE_SECRET); |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
} |
logger.info("terminating sms send"); |
} |
else |
{ |
logger.info("SMS module turned off"); |
} |
} |
public static void main(String[] args) throws ServiceException |
{ |
// AbstractDao.getCurrentSession().beginTransaction(); |
List<String> phones = new ArrayList<String>(); |
phones.add("916252810"); |
phones.add("916252810"); |
new SmsService().run("Teste Final","916252810,916252810"); |
// AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sms/SMSJob.java |
---|
New file |
0,0 → 1,77 |
package pt.estgp.estgweb.services.sms; |
import pt.estgp.estgweb.services.jobs.JobHandler; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.User; |
import java.io.Serializable; |
import java.util.List; |
import org.apache.log4j.Logger; |
import jomm.utils.TemplateUtils; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.services.sms |
*/ |
public class SMSJob implements JobHandler, Serializable |
{ |
private static final Logger logger = Logger.getLogger(SMSJob.class); |
private static String separator = ""; |
private static String separator2 = ","; |
private String phones; |
private String message; |
public SMSJob(List<User> userPhones, String[] args, String template) |
{ |
if(userPhones != null) |
{ |
StringBuilder phonesBuilder = new StringBuilder(); |
for(User u: userPhones) |
{ |
if(validPhoneNumber(u.getPhonenumber())) |
{ |
phonesBuilder.append(separator).append(u.getPhonenumber()); |
separator = separator2; |
} |
} |
this.phones = phonesBuilder.toString(); |
} |
this.message = TemplateUtils.formatMessageTemplate(template,args); |
} |
public SMSJob(User user, String[] args, String template) |
{ |
if(user != null) |
{ |
this.phones = user.getPhonenumber(); |
this.message = TemplateUtils.formatMessageTemplate(template,args); |
} |
} |
public SMSJob(String phones, String message) |
{ |
this.phones = phones; |
this.message = message; |
} |
public static boolean validPhoneNumber(String phoneNumber) |
{ |
return phoneNumber != null && phoneNumber.length() == 9 && phoneNumber.startsWith("9"); |
} |
public void runJob() |
{ |
try |
{ |
new SmsService().run(message,phones); |
} |
catch (ServiceException e) |
{ |
logger.error("Sending SMS:" + e.toString(),e); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/blogs/LoadEditableBlogs.java |
---|
6,6 → 6,7 |
import pt.estgp.estgweb.domain.BlogImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
import org.apache.log4j.Logger; |
import java.util.List; |
/impl/src/java/pt/estgp/estgweb/services/blogs/CreateBlogService.java |
---|
2,6 → 2,7 |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.data.ImageManager; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
36,6 → 37,11 |
Blog b; |
if(bV.getId() <= 0) |
{ |
if(bV.getImage() != null) |
{ |
DaoFactory.getImageDaoImpl().save(bV.getImage()); |
ImageManager.store((ImageImpl) bV.getImage()); |
} |
if(bV.getCourseUnitView() != null) |
{ |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(bV.getCourseUnitView().getId()); |
58,6 → 64,15 |
else |
{ |
b = DaoFactory.getBlogDaoImpl().get(bV.getSerializable()); |
if(bV.getImage() != null && b.getImage() != null) |
DaoFactory.getImageDaoImpl().delete(b.getImage().getId()); |
if(bV.getImage() != null) |
{ |
DaoFactory.getImageDaoImpl().save(bV.getImage()); |
ImageManager.store((ImageImpl) bV.getImage()); |
b.setImage(bV.getImage()); |
} |
} |
if(userSession.getUser() != null && userSession.getUser().isSuperuserOrAdmin()) |
bV.persistViewInObjectByAdmin(b); |
/impl/src/java/pt/estgp/estgweb/services/blogs/CreateBlogPostService.java |
---|
3,10 → 3,7 |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.domain.views.BlogPostView; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.BlogPostImpl; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.data.ImageManager; |
54,13 → 51,9 |
DaoFactory.getImageDaoImpl().delete(bP.getImage().getId()); |
} |
if(bPV.getImage() != null) |
{ |
byte[] bytes = bPV.getImage().getImage(); |
bPV.getImage().setImage(null); |
{ |
DaoFactory.getImageDaoImpl().save(bPV.getImage()); |
bPV.getImage().setImage(bytes); |
ImageManager.store(bPV.getImage()); |
bPV.getImage().setImage(null); |
ImageManager.store((ImageImpl) bPV.getImage()); |
} |
/impl/src/java/pt/estgp/estgweb/services/data/ResourceManager.java |
---|
5,6 → 5,7 |
import java.io.*; |
import jomm.utils.StreamsUtils; |
import org.apache.log4j.Logger; |
/** |
* @author Jorge Machado |
14,15 → 15,48 |
public class ResourceManager |
{ |
public static final int DOCS_IN_PATH = 1000; |
public static final int DOCS_FIRST_DIR_LEN = 20; |
public static void saveResource(InputStream stream, String resourcePath, long id) throws IOException |
{ |
StreamsUtils.inputStream2File(stream,new File(Globals.DATA_DIR + resourcePath + "/" + id)); |
StreamsUtils.inputStream2File(stream, new File(Globals.DATA_DIR + resourcePath + getDocumentPathById(id))); |
} |
public static InputStream getResource(String resourcePath,long id) throws FileNotFoundException |
public static InputStream getResource(String resourcePath, long id) throws FileNotFoundException |
{ |
return new FileInputStream(Globals.DATA_DIR + resourcePath + "/" + id); |
return new FileInputStream(Globals.DATA_DIR + resourcePath + getDocumentPathById(id)); |
} |
public static void setAllChars(char c, char[] dir) |
{ |
for (int i = 0; i < dir.length; i++) |
{ |
dir[i] = c; |
} |
} |
public static void copyCharsToArray(char[] dir, String str) |
{ |
int dirLen = dir.length; |
int strLen = str.length(); |
for (int i = 0; i < strLen; i++) |
{ |
dir[dirLen - i - 1] = str.charAt(strLen - i - 1); |
} |
} |
public static String getDocumentPathById(long id) |
{ |
char[] dir = new char[DOCS_FIRST_DIR_LEN]; |
setAllChars('0', dir); |
long dirNumber = id / DOCS_IN_PATH; |
dirNumber = dirNumber * DOCS_IN_PATH; |
String dirNumberStr = "" + dirNumber; |
copyCharsToArray(dir, dirNumberStr); |
dirNumberStr = new String(dir); |
return "/" + dirNumberStr + "/" + id; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/data/ImageManager.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.services.data; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.ImageImpl; |
import java.io.ByteArrayInputStream; |
import java.io.IOException; |
19,10 → 20,12 |
private static final Logger logger = Logger.getLogger(ImageManager.class); |
public static boolean store(Image img) |
public static boolean store(ImageImpl img) |
{ |
try |
{ |
if(img.getId() <= 0) |
logger.error("Image arrive with out identifier: save it first"); |
ResourceManager.saveResource(new ByteArrayInputStream(img.getImage()), IMAGES_RESOURCE_PATH, img.getId()); |
return true; |
} |
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java |
---|
2,15 → 2,23 |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.sms.SMSJob; |
import pt.estgp.estgweb.services.jobs.JobScheduleService; |
import pt.estgp.estgweb.services.email.EMAILJob; |
import pt.estgp.estgweb.services.email.SendEmailService; |
import pt.estgp.estgweb.services.data.ImageManager; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.enums.LangEnum; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.dao.impl.ImageDaoImpl; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.utils.Email; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.Date; |
import java.util.List; |
import java.util.ArrayList; |
/** |
* @author Fabio Velez |
21,6 → 29,8 |
public class CreateAnnouncementService implements IService |
{ |
private static final Logger logger = Logger.getLogger(CreateAnnouncementService.class); |
private static final String ALL_ROLE = Globals.ALL_ROLE; |
40,6 → 50,19 |
announcementView.persistViewInObject(a); |
a.setOwner(userSession.getUser()); |
a.setSaveDate(new Date()); |
if(imageBig != null) |
{ |
DaoFactory.getImageDaoImpl().save(imageBig); |
ImageManager.store((ImageImpl) imageBig); |
((ImageImpl)imageBig).setImage(null); |
} |
if(imageSmall != null) |
{ |
DaoFactory.getImageDaoImpl().save(imageSmall); |
ImageManager.store((ImageImpl) imageSmall); |
((ImageImpl)imageSmall).setImage(null); |
} |
a.setBigImage(imageBig); |
a.setSmallImage(imageSmall); |
if(a.getTargetRoles() == null || a.getTargetRoles().length() == 0) |
47,18 → 70,23 |
} |
else |
{ |
a= DaoFactory.getAnnouncementDaoImpl().get(announcementView.getSerializable()); |
a = DaoFactory.getAnnouncementDaoImpl().get(announcementView.getSerializable()); |
if(imageBig != null) |
{ |
try |
if(a.getBigImage() != null) |
{ |
DaoFactory.getImageDaoImpl().delete(a.getBigImage().getId()); |
// try |
// { |
DaoFactory.getImageDaoImpl().delete(a.getBigImage().getId()); |
// } |
// catch(Exception e) |
// { |
// logger.info("Announcement:" + announcementView.getId() + "do not have imageBig!"); |
// } |
} |
catch(Exception e) |
{ |
logger.info("Announcement:" + announcementView.getId() + "do not have imageBig!"); |
} |
DaoFactory.getImageDaoImpl().save(imageBig); |
ImageManager.store((ImageImpl) imageBig); |
announcementView.setBigImage(imageBig); |
} |
else |
70,20 → 98,25 |
} |
catch(Exception e) |
{ |
logger.info("ImageBig form announcement:" + announcementView.getId() + "do not exist!"); |
logger.debug("ImageBig form announcement:" + announcementView.getId() + "do not exist!"); |
} |
} |
if(imageSmall!=null) |
{ |
try |
if(a.getSmallImage() != null) |
{ |
// try |
// { |
DaoFactory.getImageDaoImpl().delete(a.getSmallImage().getId()); |
// } |
// catch(Exception e) |
// { |
// logger.info("Announcement:" + announcementView.getId() + "do not have smallBig!"); |
// } |
} |
catch(Exception e) |
{ |
logger.info("Announcement:" + announcementView.getId() + "do not have smallBig!"); |
} |
DaoFactory.getImageDaoImpl().save(imageSmall); |
ImageManager.store((ImageImpl) imageSmall); |
announcementView.setSmallImage(imageSmall); |
} |
else |
190,8 → 223,8 |
} |
} |
a.setStatus(validation); |
} |
AnnouncementView aView; |
if(announcementView.getId() <= 0) |
{ |
204,6 → 237,86 |
logger.info("Updating announcement:" + a.getId()); |
aView = new AnnouncementView(a); |
} |
sendSms(a,userSession); |
sendEmail(a,userSession); |
return aView; |
} |
private void sendSms(Announcement announcement, UserSession userSession) |
{ |
if(userSession.getUser() != null && announcement.isStatus()) |
{ |
trySendAnnouncementSms(announcement,userSession); |
} |
} |
private void sendEmail(Announcement announcement, UserSession userSession) |
{ |
if(userSession.getUser() != null && announcement.isStatus()) |
{ |
trySendAnnouncementEmail(announcement,userSession); |
} |
} |
private void trySendAnnouncementSms(Announcement announcement, UserSession userSession) |
{ |
if(announcement instanceof CourseUnitAnnouncement && Globals.SMS_COURSEUNIT_ANNOUNCEMENT) |
{ |
CourseUnit c = ((CourseUnitAnnouncement)announcement).getCourseUnit(); |
if(!Globals.SMS_COURSEUNIT_ANNOUNCEMENT_ONLY_PROFS || (userSession.getUser() instanceof TeacherImpl && ((TeacherImpl)userSession.getUser()).hasCourseUnit(c.getId(),true))) |
{ |
List<User> users = new ArrayList<User>(); |
if(c.getStudents() != null) |
users.addAll(c.getStudents()); |
if(c.getTeachers() != null) |
users.addAll(c.getTeachers()); |
sendAnnouncementSms(announcement,c.getNormalizedName(), userSession,users); |
} |
} |
} |
private void trySendAnnouncementEmail(Announcement announcement, UserSession userSession) |
{ |
if(announcement instanceof CourseUnitAnnouncement && Globals.EMAIL_COURSEUNIT_ANNOUNCEMENTS) |
{ |
CourseUnit c = ((CourseUnitAnnouncement)announcement).getCourseUnit(); |
List<User> users = new ArrayList<User>(); |
if(c.getStudents() != null) |
users.addAll(c.getStudents()); |
if(c.getTeachers() != null) |
users.addAll(c.getTeachers()); |
sendAnnouncementEmail((CourseUnitAnnouncement) announcement,c.getNormalizedName(), userSession, users); |
} |
} |
private void sendAnnouncementSms(Announcement a, String desc, UserSession userSession, List<User> users) |
{ |
String text; |
if(a.getText() != null) |
text = a.getText(); |
else |
text = ""; |
String[] args = |
{ |
desc, |
userSession.getUser().getUsername(), |
a.getTitle(), |
text, |
}; |
SMSJob smsJob = new SMSJob(users,args,Globals.TEMPLATE_SMS_COURSEUNIT_ANNOUNCMENT); |
JobScheduleService.getInstance().scheduleNow(smsJob,"CourseUnit Announcement SMS:" + desc,userSession); |
} |
SendEmailService sendEmailService = new SendEmailService(); |
private void sendAnnouncementEmail(CourseUnitAnnouncement a, String desc, UserSession userSession, List<User> users) |
{ |
Email e = sendEmailService.getCourseUnitAnnouncementEmail(a, LangEnum.PORTUGUESE,userSession.getName(),users); |
EMAILJob emailJob = new EMAILJob(e); |
JobScheduleService.getInstance().scheduleNow(emailJob,"CourseUnit Announcement Email:" + desc,userSession); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ImageImpl.java |
---|
10,9 → 10,22 |
*/ |
public class ImageImpl extends Image |
{ |
public Serializable getSerializable() |
private byte[] image; |
public Serializable getSerializable() |
{ |
return getId(); |
} |
public byte[] getImage() |
{ |
return image; |
} |
public void setImage(byte[] image) |
{ |
this.image = image; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/enums/LangEnum.java |
---|
New file |
0,0 → 1,49 |
package pt.estgp.estgweb.domain.enums; |
import pt.estgp.estgweb.domain.*; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
public enum LangEnum implements Serializable |
{ |
PORTUGUESE("pt"), |
ENGLISH("en"), |
DEFAULT("pt"); |
private static final Logger logger = Logger.getLogger(LangEnum.class); |
private String lang; |
private LangEnum(String lang) |
{ |
this.lang = lang; |
} |
public String getLang() |
{ |
return lang; |
} |
public void setLang(String lang) |
{ |
this.lang = lang; |
} |
public static LangEnum parse(String lang) |
{ |
for(LangEnum langEnum: values()) |
{ |
if(langEnum.getLang().equals(lang)) |
return langEnum; |
} |
logger.warn("Lang Enum not found returning DEFAULT Type"); |
return DEFAULT; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/StudentImpl.java |
---|
4,13 → 4,11 |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import java.util.Set; |
import java.util.HashSet; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.*; |
import org.apache.log4j.Logger; |
import jomm.utils.StringsUtils; |
import com.lowagie.text.pdf.hyphenation.TernaryTree; |
/** |
* @author Jorge Machado |
26,8 → 24,12 |
public static final Logger logger = Logger.getLogger(StudentImpl.class); |
private List<CourseUnit> subscribedUnitsView = null; |
private List<CourseUnit> subscribedUnitsCurrentYearView = null; |
private List<CourseUnit> subscribedUnitsOldYearsView = null; |
private List<CourseUnitAnnouncementImpl> courseUnitAnnouncementsView = null; |
private List<Course> subscribedCoursesView = null; |
private List<Course> subscribedCoursesCurrentYearView = null; |
private List<Course> subscribedCoursesOldYearsView = null; |
public List<Course> getSubscribedCoursesView() |
{ |
35,10 → 37,30 |
return subscribedCoursesView; |
} |
public List<Course> getSubscribedCoursesCurrentYearView() |
{ |
getSubscribedUnitsCurrentYearView(); |
return subscribedCoursesCurrentYearView; |
} |
public List<Course> getSubscribedCoursesOldYearsView() |
{ |
getSubscribedUnitsOldYearsView(); |
return subscribedCoursesOldYearsView; |
} |
public String getManagedRole() { |
return STUDENT_ROLE; |
} |
public List<CourseUnit> getSubscribedUnitsViewS1() |
{ |
return getUnitsSemestre("S1",getSubscribedUnitsView()); |
} |
public List<CourseUnit> getSubscribedUnitsViewS2() |
{ |
return getUnitsSemestre("S2",getSubscribedUnitsView()); |
} |
public List<CourseUnit> getSubscribedUnitsView() |
{ |
if(subscribedUnitsView == null) |
68,7 → 90,82 |
return subscribedUnitsView; |
} |
public List<CourseUnit> getSubscribedUnitsCurrentYearViewS1() |
{ |
return getUnitsSemestre("S1",getSubscribedUnitsCurrentYearView()); |
} |
public List<CourseUnit> getSubscribedUnitsCurrentYearViewS2() |
{ |
return getUnitsSemestre("S2",getSubscribedUnitsCurrentYearView()); |
} |
public List<CourseUnit> getSubscribedUnitsCurrentYearView() |
{ |
if(subscribedUnitsCurrentYearView == null) |
{ |
subscribedCoursesCurrentYearView = new ArrayList<Course>(); |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{getId()}; |
subscribedUnitsCurrentYearView = (List<CourseUnit>) sm.execute(null, "LoadSubscribedUnitsCurrentYear", args, names); |
if(subscribedUnitsCurrentYearView == null) |
subscribedUnitsCurrentYearView = new ArrayList<CourseUnit>(); |
for(CourseUnit c: subscribedUnitsCurrentYearView) |
{ |
if(!subscribedCoursesCurrentYearView.contains(c.getCourse())) |
{ |
subscribedCoursesCurrentYearView.add(c.getCourse()); |
} |
} |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
} |
} |
return subscribedUnitsCurrentYearView; |
} |
public List<CourseUnit> getSubscribedUnitsOldYearsViewS1() |
{ |
return getUnitsSemestre("S1",getSubscribedUnitsOldYearsView()); |
} |
public List<CourseUnit> getSubscribedUnitsOldYearsViewS2() |
{ |
return getUnitsSemestre("S2",getSubscribedUnitsOldYearsView()); |
} |
public List<CourseUnit> getSubscribedUnitsOldYearsView() |
{ |
if(subscribedUnitsOldYearsView == null) |
{ |
subscribedCoursesOldYearsView = new ArrayList<Course>(); |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{getId()}; |
subscribedUnitsOldYearsView = (List<CourseUnit>) sm.execute(null, "LoadSubscribedUnitsOldYears", args, names); |
if(subscribedUnitsOldYearsView == null) |
subscribedUnitsOldYearsView = new ArrayList<CourseUnit>(); |
for(CourseUnit c: subscribedUnitsOldYearsView) |
{ |
if(!subscribedCoursesOldYearsView.contains(c.getCourse())) |
{ |
subscribedCoursesOldYearsView.add(c.getCourse()); |
} |
} |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
} |
} |
return subscribedUnitsOldYearsView; |
} |
public List<CourseUnitAnnouncementImpl> getCourseUnitAnnouncementsView() |
{ |
if(courseUnitAnnouncementsView == null) |
90,12 → 187,17 |
return courseUnitAnnouncementsView; |
} |
public boolean hasCourseUnit(CourseUnit courseUnit) |
{ |
return hasCourseUnit(courseUnit.getId(),false); |
} |
public boolean hasCourseUnit(long id, boolean transaction) |
public boolean hasCourseUnit(long unitId, boolean transaction) |
{ |
List<CourseUnit> cUnits; |
if(transaction) |
106,24 → 208,24 |
return false; |
for(CourseUnit c: cUnits) |
{ |
if(c.getId() == id) |
if(c.getId() == unitId) |
return true; |
} |
return false; |
} |
public void removeUnitLocaly(long id) |
public void removeUnitLocaly(CourseUnit unit) |
{ |
setLocalRemovedSubscribedUnits(StringsUtils.addElement(getLocalRemovedSubscribedUnits(),"" + id,",")); |
setLocalRemovedSubscribedUnits(StringsUtils.addElement(getLocalRemovedSubscribedUnits(),"" + unit.getId(),",")); |
} |
public void addUnitLocaly(long id) |
public void addUnitLocaly(CourseUnit unit) |
{ |
setLocalRemovedSubscribedUnits(StringsUtils.removeElement(getLocalRemovedSubscribedUnits(),"" + id,",")); |
setLocalRemovedSubscribedUnits(StringsUtils.removeElement(getLocalRemovedSubscribedUnits(),"" + unit.getId(),",")); |
} |
public boolean isLocalRemovedUnit(long id) |
public boolean isLocalRemovedUnit(CourseUnit unit) |
{ |
return StringsUtils.hasElement(getLocalRemovedSubscribedUnits(),"" + id,","); |
return StringsUtils.hasElement(getLocalRemovedSubscribedUnits(),"" + unit.getId(),","); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitQuestionImpl.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
import java.util.List; |
/** |
* @author Jorge Machado |
13,4 → 14,14 |
{ |
return getId(); |
} |
public List<String> getOwnerRoles() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getChoosedOwnerRole() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/CourseUnitImpl.java |
---|
61,7 → 61,7 |
public boolean isInternal() |
{ |
return true; |
return true; |
} |
public CourseUnitBlogImpl getUnitBlog() |
70,4 → 70,18 |
return (CourseUnitBlogImpl) getBlogs().iterator().next(); |
return null; |
} |
public boolean equals(Object anotherInstance) |
{ |
if(anotherInstance instanceof CourseUnitImpl) |
{ |
CourseUnitImpl anCourseUnit = (CourseUnitImpl) anotherInstance; |
return anCourseUnit.getCode() != null && getCode() != null && getCode().equals(anCourseUnit.getCode()) && |
anCourseUnit.getCourseCode() != null && getCourseCode() != null && getCourseCode().equals(anCourseUnit.getCourseCode()) && |
anCourseUnit.getSemestre() != null && getSemestre() != null && getSemestre().equals(anCourseUnit.getSemestre()) && |
anCourseUnit.getImportYear() != null && getImportYear() != null && getImportYear().equals(anCourseUnit.getImportYear()); |
} |
return false; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java |
---|
56,12 → 56,23 |
public List<Course> findAllOrderByName() |
{ |
return createCriteria().addOrder(Order.asc("name")).list(); |
return createCriteria() |
.addOrder(Order.asc("name")) |
.list(); |
} |
public List<Course> findAllOrderByName(String importYear) |
{ |
return createCriteria() |
.add(eq("importYear",importYear)) |
.addOrder(Order.asc("name")) |
.list(); |
} |
public List<Course> findAll(String importYear) |
{ |
return createCriteria().add(eq("importYear",importYear)).list(); |
return createCriteria().add(eq("importYear",importYear)) |
.list(); |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TeacherDaoImpl.java |
---|
1,7 → 1,12 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.Teacher; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import static org.hibernate.criterion.Restrictions.*; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
23,10 → 28,13 |
{ |
return (Teacher) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult(); |
} |
public Teacher loadByBi(String bi) |
public Teacher loadByBi(String bi) |
{ |
return (Teacher) createCriteria().add(eq("bi",bi)).uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogDaoImpl.java |
---|
45,6 → 45,10 |
public List<BlogImpl> findBlogs(List<String> roles, boolean internal) |
{ |
return findBlogs(roles,internal,null); |
} |
public List<BlogImpl> findBlogs(List<String> roles, boolean internal, String type) |
{ |
if (roles == null) |
{ |
roles = new ArrayList<String>(); |
66,6 → 70,10 |
criteria.add(co); |
criteria.add(eq("status", true)) |
.addOrder(Order.desc("title")); |
if(type != null) |
criteria.add(eq("type",type)); |
else |
criteria.add(isNull("type")); |
return criteria.list(); |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDaoImpl.java |
---|
131,8 → 131,25 |
{ |
coSubTargets = eq("subTargets", subTarget); |
} |
if (type != null) |
criteria.add(eq("type", type)); |
{ |
String[] types = type.split(","); |
if(types.length == 1) |
criteria.add(eq("type", type)); |
else if(types.length > 1) |
{ |
Criterion orCriteron = null; |
for(String typeAux: types) |
{ |
if(orCriteron == null) |
orCriteron = eq("type", typeAux); |
else |
orCriteron = or(orCriteron,eq("type",typeAux)); |
} |
criteria.add(orCriteron); |
} |
} |
if (!internal) |
criteria.add(eq("internal", false)); |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
3,6 → 3,7 |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.TeacherImpl; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.dao.DaoUtils; |
import pt.estgp.estgweb.services.common.SearchTypeEnum; |
import pt.estgp.estgweb.utils.DatesUtils; |
52,13 → 53,21 |
{ |
return createCriteria().add(eq("importYear",importYear)) |
.createAlias("students","st") |
.add(eq("st.id", studentId)).list(); |
.add(eq("st.id", studentId)).addOrder(Order.asc("name")).list(); |
} |
public List<CourseUnit> loadTeachedImportYearUnits(long studentId, String importYear) |
public List<CourseUnit> loadSubscribedOtherImportYearUnits(long studentId, String importYear) |
{ |
return createCriteria().add(not(eq("importYear",importYear))) |
.createAlias("students","st") |
.add(eq("st.id", studentId)).addOrder(Order.asc("name")).list(); |
} |
public List<CourseUnitImpl> loadTeachedImportYearUnits(long teacherId, String importYear) |
{ |
return createCriteria().add(eq("importYear",importYear)) |
.createAlias("teachers","st") |
.add(eq("st.id", studentId)).list(); |
.add(eq("st.id", teacherId)).addOrder(Order.asc("importYear")).addOrder(Order.asc("name")).list(); |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode) |
71,11 → 80,13 |
return (CourseUnit) createCriteria().add(eq("code", sigesCode)).add(eq("courseCode", courseCode)).uniqueResult(); |
} |
public CourseUnit loadBySigesCodeUniqueSubscribed(String sigesCode, String courseCode, long studentId) |
public CourseUnit loadBySigesCodeUniqueSubscribed(String sigesCode, String year, String courseCode, long studentId, String semestre) |
{ |
List<CourseUnit> cus = createCriteria() |
.add(eq("code", sigesCode)) |
.add(eq("importYear", year)) |
.add(eq("courseCode", courseCode)) |
.add(eq("semestre", semestre)) |
.createAlias("students","st") |
.add(eq("st.id",studentId)) |
.list(); |
115,9 → 126,15 |
return null; |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre) |
public CourseUnit loadBySigesCodeUnique(String sigesCode, String courseCode, String semestre, String year) |
{ |
return (CourseUnit) createCriteria().add(eq("code", sigesCode)).add(eq("courseCode", courseCode)).add(eq("semestre", semestre)).uniqueResult(); |
return (CourseUnit) |
createCriteria() |
.add(eq("code", sigesCode)) |
.add(eq("courseCode", courseCode)) |
.add(eq("semestre", semestre)) |
.add(eq("importYear", year)) |
.uniqueResult(); |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/JobDaoImpl.java |
---|
New file |
0,0 → 1,47 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.BlogImpl; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.Job; |
import pt.estgp.estgweb.domain.dao.DaoUtils; |
import pt.estgp.estgweb.services.common.SearchTypeEnum; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.Date; |
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 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class JobDaoImpl extends JobDao |
{ |
private JobDaoImpl() |
{ |
} |
public static JobDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new JobDaoImpl(); |
return (JobDaoImpl) myInstance; |
} |
public List<Job> findExecutableJobs() |
{ |
return createCriteria() |
.add(lt("startDate",new Date())) |
.add(eq("executed",false)) |
.list(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java |
---|
11,8 → 11,14 |
public class DaoFactory |
{ |
public static CourseUnitGradeDaoImpl getCourseUnitGradeDaoImpl() |
public static JobDaoImpl getJobDaoImpl() |
{ |
return JobDaoImpl.getInstance(); |
} |
public static CourseUnitGradeDaoImpl getCourseUnitGradeDaoImpl() |
{ |
return CourseUnitGradeDaoImpl.getInstance(); |
} |
/impl/src/java/pt/estgp/estgweb/domain/JobImpl.java |
---|
New file |
0,0 → 1,17 |
package pt.estgp.estgweb.domain; |
import java.io.Serializable; |
/** |
* @author Jorge Machado |
* @date 11/Jul/2008 |
* @see pt.estgp.estgweb.domain |
*/ |
public class JobImpl extends Job |
{ |
public Serializable getSerializable() |
{ |
return getId(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/TeacherImpl.java |
---|
25,7 → 25,9 |
public static final Logger logger = Logger.getLogger(TeacherImpl.class); |
private List<CourseUnit> teachedUnitsView = null; |
private List<CourseUnit> teachedUnitsCurrentYearView = null; |
private List<Course> teachedCoursesView = null; |
private List<Course> teachedCoursesCurrentYearView = null; |
public TeacherImpl() |
{ |
41,7 → 43,21 |
getTeachedUnitsView(); |
return teachedCoursesView; |
} |
public List<Course> getTeachedCoursesCurrenYearView() |
{ |
getTeachedUnitsCurrentYearView(); |
return teachedCoursesCurrentYearView; |
} |
public List<CourseUnit> getTeachedUnitsViewS1() |
{ |
return getUnitsSemestre("S1",getTeachedUnitsView()); |
} |
public List<CourseUnit> getTeachedUnitsViewS2() |
{ |
return getUnitsSemestre("S2",getTeachedUnitsView()); |
} |
public List<CourseUnit> getTeachedUnitsView() |
{ |
if(teachedUnitsView == null) |
71,6 → 87,43 |
return teachedUnitsView; |
} |
public List<CourseUnit> getTeachedUnitsCurrentYearViewS1() |
{ |
return getUnitsSemestre("S1",getTeachedUnitsCurrentYearView()); |
} |
public List<CourseUnit> getTeachedUnitsCurrentYearViewS2() |
{ |
return getUnitsSemestre("S2",getTeachedUnitsCurrentYearView()); |
} |
public List<CourseUnit> getTeachedUnitsCurrentYearView() |
{ |
if(teachedUnitsCurrentYearView == null) |
{ |
teachedCoursesCurrentYearView = new ArrayList<Course>(); |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{getId()}; |
teachedUnitsCurrentYearView = (List<CourseUnit>) sm.execute(null, "LoadTeachedUnitsCurrentYear", args, names); |
if(teachedUnitsCurrentYearView == null) |
teachedUnitsCurrentYearView = new ArrayList<CourseUnit>(); |
for(CourseUnit c: teachedUnitsCurrentYearView) |
{ |
if(!teachedCoursesCurrentYearView.contains(c.getCourse())) |
{ |
teachedCoursesCurrentYearView.add(c.getCourse()); |
} |
} |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
} |
} |
return teachedUnitsCurrentYearView; |
} |
public boolean hasCourseUnit(long id) |
{ |
return hasCourseUnit(id,false); |
98,18 → 151,18 |
return false; |
} |
public void removeUnitLocaly(long id) |
public void removeUnitLocaly(CourseUnit unit) |
{ |
setLocalRemovedTeachedUnits(StringsUtils.addElement(getLocalRemovedTeachedUnits(),"" + id,",")); |
setLocalRemovedTeachedUnits(StringsUtils.addElement(getLocalRemovedTeachedUnits(),"" + unit.getId(),",")); |
} |
public void addUnitLocaly(long id) |
public void addUnitLocaly(CourseUnit unit) |
{ |
setLocalRemovedTeachedUnits(StringsUtils.removeElement(getLocalRemovedTeachedUnits(),"" + id,",")); |
setLocalRemovedTeachedUnits(StringsUtils.removeElement(getLocalRemovedTeachedUnits(),"" + unit.getId(),",")); |
} |
public boolean isLocalRemovedUnit(long id) |
public boolean isLocalRemovedUnit(CourseUnit unit) |
{ |
return StringsUtils.hasElement(getLocalRemovedTeachedUnits(),"" + id,","); |
return StringsUtils.hasElement(getLocalRemovedTeachedUnits(),"" + unit.getId(),","); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/UserManagedRoleImpl.java |
---|
2,13 → 2,29 |
import jomm.utils.StringsUtils; |
import java.util.Date; |
import java.util.Set; |
import java.util.*; |
public abstract class UserManagedRoleImpl extends UserImpl |
{ |
public static List<CourseUnit> getUnitsSemestre(String semestre, List<CourseUnit> s1) |
{ |
if(s1 != null) |
{ |
s1 = new ArrayList<CourseUnit>(s1); |
Iterator iter = s1.iterator(); |
while (iter.hasNext()) |
{ |
CourseUnit courseUnit = (CourseUnit) iter.next(); |
if(courseUnit.getSemestre() == null || !courseUnit.getSemestre().equals(semestre)) |
iter.remove(); |
} |
return s1; |
} |
return s1; |
} |
public UserManagedRoleImpl() |
{ |
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java |
---|
414,4 → 414,12 |
return ((AnnouncementImpl)announcement).canLoadInOpenTransaction(u); |
} |
public String getOwnerUsername() |
{ |
if (owner instanceof User) |
return ((User) owner).getUsername(); |
else |
return null; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitAssignementView.java |
---|
10,6 → 10,8 |
import java.util.List; |
import java.util.Date; |
import jomm.utils.StringsUtils; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
165,6 → 167,11 |
return description; |
} |
public String getFormatedDescription() |
{ |
return StringsUtils.getFormatedText(description); |
} |
public void setDescription(String description) |
{ |
this.description = description; |
/impl/src/java/pt/estgp/estgweb/domain/views/RecordView.java |
---|
49,7 → 49,7 |
public Class getReferenceClass() |
{ |
return CourseImpl.class; |
return Record.class; |
} |
public Serializable getSerializable() |
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java |
---|
358,6 → 358,26 |
return email; |
} |
public String getSafeEmail() |
{ |
String email = username + "@" + Globals.EMAIL_LOCAL_SUFFIX; |
if(email != null) |
{ |
String safe = email.replace("@", " [ AT ] ").replace("."," [ DOT ] "); |
StringBuilder result = new StringBuilder(); |
result.append("<script type=\"text/javascript\" language=\"JavaScript\">\n"); |
for(int i = 0;i< safe.length();i++) |
{ |
char c = safe.charAt(i); |
if(c != '\'') |
result.append("document.write('").append(c).append("');\n"); |
} |
result.append("</script>"); |
return result.toString(); |
} |
return email; |
} |
public void setEmail(String email) { |
this.email = email; |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitView.java |
---|
100,7 → 100,6 |
this.code = courseUnit.getCode(); |
this.importYear = courseUnit.getImportYear(); |
this.semestre = courseUnit.getSemestre(); |
this.importYear = courseUnit.getImportYear(); |
this.courseCode = courseUnit.getCourseCode(); |
this.objectives = courseUnit.getObjectives(); |
if(courseUnit.getProgramStreamId() != null) |
/impl/src/java/pt/estgp/estgweb/domain/views/CourseView.java |
---|
7,8 → 7,6 |
import org.apache.log4j.Logger; |
import java.util.List; |
import java.util.Set; |
import java.util.HashSet; |
import java.util.ArrayList; |
import java.io.Serializable; |
35,8 → 33,13 |
private List<CourseUnitView> courseUnits; |
private String studiesPlanStreamId; |
private RepositoryFileImpl studiesPlan; |
private String htmlResult; |
private String cacheWebDocument; |
private String externalSiteServer; |
private String externalSitePath; |
private Course course; |
78,6 → 81,10 |
this.description = course.getDescription(); |
this.importYear = course.getImportYear(); |
this.institutionalCode = course.getInstitutionalCode(); |
this.cacheWebDocument = course.getCacheWebDocument(); |
this.externalSitePath = course.getExternalSitePath(); |
this.externalSiteServer = course.getExternalSiteServer(); |
if(course.getStudiesPlan() != null) |
this.studiesPlanStreamId = course.getStudiesPlan(); |
if(course.getCoordinator() != null) |
106,6 → 113,8 |
c.setImportYear(importYear); |
c.setInstitutionalCode(institutionalCode); |
c.setName(name); |
c.setExternalSitePath(externalSitePath); |
c.setExternalSiteServer(externalSiteServer); |
if(coordinator != null && coordinator.getId() > 0) |
{ |
Teacher u = DaoFactory.getTeacherDaoImpl().load(coordinator.getId()); |
283,4 → 292,46 |
{ |
this.director = director; |
} |
public String getHtmlResult() |
{ |
return htmlResult; |
} |
public void setHtmlResult(String htmlResult) |
{ |
this.htmlResult = htmlResult; |
} |
public String getCacheWebDocument() |
{ |
return cacheWebDocument; |
} |
public void setCacheWebDocument(String cacheWebDocument) |
{ |
this.cacheWebDocument = cacheWebDocument; |
} |
public String getExternalSiteServer() |
{ |
return externalSiteServer; |
} |
public void setExternalSiteServer(String externalSiteServer) |
{ |
this.externalSiteServer = externalSiteServer; |
} |
public String getExternalSitePath() |
{ |
return externalSitePath; |
} |
public void setExternalSitePath(String externalSitePath) |
{ |
this.externalSitePath = externalSitePath; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
8,6 → 8,11 |
*/ |
public class DomainObjectFactory { |
public static JobImpl createJobImpl() |
{ |
return new JobImpl(); |
} |
public static CourseUnitGradeImpl createCourseUnitGradeImpl() |
{ |
return new CourseUnitGradeImpl(); |
/impl/src/java/pt/estgp/estgweb/web/StartPathLayoutProxy.java |
---|
New file |
0,0 → 1,103 |
package pt.estgp.estgweb.web; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitLayoutProxy; |
import pt.estgp.estgweb.web.exceptions.InternalException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.io.IOException; |
import java.util.Enumeration; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
* @time 12:46:16 |
* @see pt.estgp.estgweb.web |
*/ |
public class StartPathLayoutProxy extends LayoutProxy |
{ |
/** |
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. |
* |
* @param request servlet request |
* @param response servlet response |
*/ |
private static final Logger logger = Logger.getLogger(CourseUnitLayoutProxy.class); |
protected void processRequest(HttpServletRequest request, HttpServletResponse response) |
throws ServletException, IOException |
{ |
try |
{ |
String startPath = request.getParameter("startPath"); |
if (startPath != null) |
{ |
request.setAttribute("startPath", startPath); |
startPath = "startPath=" + startPath; |
} |
else |
startPath = ""; |
String from = ""; |
if (request.getParameter("from") != null) |
from = "&from=" + request.getParameter("from"); |
StringBuilder queryString = new StringBuilder(); |
queryString.append(startPath + from); |
Enumeration<String> enumeration = request.getParameterNames(); |
while(enumeration.hasMoreElements()) |
{ |
String attr = enumeration.nextElement(); |
if(attr.startsWith("nav")) |
{ |
queryString.append("&").append(attr).append("=").append(request.getParameter(attr)); |
} |
} |
super.setQueryString(queryString.toString(), request); |
super.processRequest(request, response); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw new InternalException(e.toString()); |
} |
} |
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> |
/** |
* Handles the HTTP <code>GET</code> method. |
* |
* @param request servlet request |
* @param response servlet response |
*/ |
protected void doGet(HttpServletRequest request, HttpServletResponse response) |
throws ServletException, IOException |
{ |
processRequest(request, response); |
} |
/** |
* Handles the HTTP <code>POST</code> method. |
* |
* @param request servlet request |
* @param response servlet response |
*/ |
protected void doPost(HttpServletRequest request, HttpServletResponse response) |
throws ServletException, IOException |
{ |
processRequest(request, response); |
} |
/** |
* Returns a short description of the servlet. |
*/ |
public String getServletInfo() |
{ |
return "Proxy Servlet to get pages form static web page servers"; |
} |
// </editor-fold> |
} |
/impl/src/java/pt/estgp/estgweb/web/tags/OwnerTag.java |
---|
New file |
0,0 → 1,101 |
package pt.estgp.estgweb.web.tags; |
import org.apache.log4j.Logger; |
import org.apache.struts.util.RequestUtils; |
import javax.servlet.jsp.tagext.BodyTagSupport; |
import javax.servlet.jsp.JspException; |
import javax.servlet.jsp.JspWriter; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.IOwned; |
import pt.estgp.estgweb.domain.IInternal; |
import pt.estgp.estgweb.domain.IValid; |
import pt.estgp.estgweb.Globals; |
public class OwnerTag extends BodyTagSupport |
{ |
private static final Logger logger = Logger.getLogger(OwnerTag.class); |
private String name; |
private String property; |
private String valid; |
public String getName() |
{ |
return name; |
} |
public void setName(String name) |
{ |
this.name = name; |
} |
public String getProperty() |
{ |
return property; |
} |
public void setProperty(String property) |
{ |
this.property = property; |
} |
public String getValid() |
{ |
return valid; |
} |
public void setValid(String valid) |
{ |
this.valid = valid; |
} |
public int doStartTag() throws JspException |
{ |
if (go()) |
{ |
return EVAL_BODY_TAG; |
} |
else |
return SKIP_BODY; |
} |
public boolean go() throws JspException |
{ |
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY); |
IOwned owned = (IOwned) RequestUtils.lookup(pageContext, name, property, null); |
return owned != null && userSession.getUser() != null && (owned.isOwnedBy(userSession.getUser(),false) || (userSession.getUser()).isSuperuserOrAdmin()); |
} |
public int doEndTag() throws JspException |
{ |
if(go()) |
{ |
String toPage = bodyContent.getString().trim(); |
JspWriter writer = pageContext.getOut(); |
try |
{ |
writer.write(toPage); |
} |
catch (Exception e) |
{ |
logger.error(e, e); |
throw new JspException(e); |
} |
} |
// Continue processing this page |
return EVAL_PAGE; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/WebProxy.java |
---|
1,19 → 1,21 |
package pt.estgp.estgweb.web; |
import org.apache.commons.httpclient.util.URIUtil; |
import org.apache.log4j.Logger; |
import org.apache.commons.httpclient.util.URIUtil; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServlet; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.*; |
import javax.servlet.jsp.JspWriter; |
import java.io.FileNotFoundException; |
import java.io.IOException; |
import java.io.InputStream; |
import java.io.OutputStream; |
import java.net.URL; |
import java.net.URLConnection; |
import java.net.URLEncoder; |
import pt.estgp.estgweb.utils.ConfigProperties; |
/** |
* @author Jorge Machado |
* @date 26/Fev/2008 |
31,7 → 33,7 |
protected void processRequest(HttpServletRequest request, HttpServletResponse response) |
protected static void processRequest(HttpServletRequest request, HttpServletResponse response) |
throws ServletException, IOException |
{ |
String path = (String) request.getAttribute("path"); |
88,6 → 90,42 |
} |
public static void processHttpRequestService(JspWriter out, String server, String path) throws IOException, ServletException |
{ |
String serverUrl = ConfigProperties.getProperty("server." + server); |
String serverEncoding = ConfigProperties.getProperty(server + ".encoding"); |
String confStartPath = ConfigProperties.getProperty("server." + server + ".start.path"); |
if(confStartPath != null) |
path = confStartPath + path; |
try |
{ |
URL url = new URL(serverUrl + URIUtil.encodePath(path,"ISO-8859-1")); |
URLConnection con = url.openConnection(); |
InputStream stream = con.getInputStream(); |
byte[] buf = new byte[1024]; |
int readedBytes; |
while((readedBytes = stream.read(buf)) > 0) |
{ |
String str = new String(buf,0,readedBytes,serverEncoding); |
out.print(str); |
} |
} |
catch(FileNotFoundException e) |
{ |
throw new FileNotFoundException("url not found for server:" + server + " and path:" + path); |
} |
catch(Exception e) |
{ |
throw new IOException(e.toString()); |
} |
} |
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> |
/** Handles the HTTP <code>GET</code> method. |
* @param request servlet request |
/impl/src/java/pt/estgp/estgweb/web/utils/ProxyUtils.java |
---|
New file |
0,0 → 1,96 |
package pt.estgp.estgweb.web.utils; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import javax.servlet.http.HttpServletRequest; |
import java.io.IOException; |
import java.net.MalformedURLException; |
import java.net.URL; |
/** |
* @author Jorge Machado |
* @date 8/Out/2008 |
* @see pt.estgp.estgweb.web.utils |
*/ |
public class ProxyUtils |
{ |
// proxy/accaoSocialAlunosPortalMenu/estgp |
private static final Logger logger = Logger.getLogger(ProxyUtils.class); |
public static String getTopImageLink(HttpServletRequest request) |
{ |
String pathIfo = request.getPathInfo(); |
String queryString = request.getQueryString(); |
if(request.getServletPath().equals("/proxy")) |
{ |
String finalFileCandidate1 = pathIfo.substring(0,pathIfo.lastIndexOf("/")) + "/top.jpg"; |
int lastIndexOfDot = pathIfo.lastIndexOf("."); |
String finalFileCandidate2 = null; |
if(lastIndexOfDot >= 0) |
finalFileCandidate2 = pathIfo.substring(0,lastIndexOfDot) + ".jpg"; |
String protocol = request.getRequestURL().substring(0,request.getRequestURL().indexOf("://")); |
String finalFileCandidate1total = protocol + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/proxy" + finalFileCandidate1; |
String finalFileCandidate2total = null; |
if(finalFileCandidate2 != null) |
finalFileCandidate2total = protocol + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/proxy" + finalFileCandidate2; |
if(finalFileCandidate2 != null) |
try |
{ |
URL url = new URL(finalFileCandidate2total); |
url.openConnection().getInputStream(); |
return request.getContextPath() + "/proxy" + finalFileCandidate2; |
} |
catch (MalformedURLException e) |
{ |
logger.error("BAD TOP IMAGE URL 2: " + finalFileCandidate2total); |
} |
catch (IOException e) |
{ |
logger.debug("candidate 2 don't exist: " + finalFileCandidate2total); |
} |
try |
{ |
URL url = new URL(finalFileCandidate1total); |
url.openConnection().getInputStream(); |
return request.getContextPath() + "/proxy" + finalFileCandidate1; |
} |
catch (MalformedURLException e) |
{ |
logger.error("BAD TOP IMAGE URL 1: " + finalFileCandidate1total); |
} |
catch (IOException e) |
{ |
logger.debug("candidate 1 don't exist: " + finalFileCandidate1total); |
} |
} |
else |
{ |
String link = request.getServletPath(); |
if(pathIfo!=null) |
link+= pathIfo; |
if(queryString!=null) |
link+= "?" + queryString; |
for(int i = 0; i < Globals.TOP_IMAGE_FILTER_LINKS.size();i++) |
{ |
String url = Globals.TOP_IMAGE_FILTER_LINKS.get(i); |
if(link.startsWith(url)) |
{ |
String finalUrl = Globals.TOP_IMAGE_FILTER_IMAGES_URL.get(i); |
if(finalUrl.startsWith("/")) |
return request.getContextPath() + finalUrl; |
else |
return finalUrl; |
} |
} |
} |
return null; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/utils/DomainUtils.java |
---|
2,6 → 2,7 |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.ImageImpl; |
import org.apache.struts.upload.FormFile; |
import org.apache.log4j.Logger; |
import jomm.utils.StreamsUtils; |
30,7 → 31,7 |
logger.error(e,e); |
return null; |
} |
Image i = DomainObjectFactory.createImageImpl(); |
ImageImpl i = DomainObjectFactory.createImageImpl(); |
i.setImage(bytes); |
i.setContentType(image.getContentType()); |
i.setSize(image.getFileSize()); |
/impl/src/java/pt/estgp/estgweb/web/LayoutController.java |
---|
54,12 → 54,14 |
logger.info("requested path:" + path); |
logger.info("requested server:" + server); |
String startPath = (String) request.getAttribute("startPath"); |
if(startPath == null) |
startPath = ConfigProperties.getProperty("server." + serverParameter + ".start.path"); |
else |
startPath = ConfigProperties.getProperty("server." + serverParameter + ".start.path") + startPath; |
path = startPath + path; |
String confStartPath = ConfigProperties.getProperty("server." + serverParameter + ".start.path"); |
if(confStartPath != null) |
if(startPath == null) |
startPath = confStartPath; |
else |
startPath = confStartPath + startPath; |
if(startPath != null) |
path = startPath + path; |
request.setAttribute("path", path); |
request.setAttribute("server", server); |
103,6 → 105,7 |
} |
protected void processRequestFtp(HttpServletRequest request, String path, String serverStr, String server, String startPath) |
throws ServletException, IOException |
{ |
/impl/src/java/pt/estgp/estgweb/web/Globals.java |
---|
13,6 → 13,8 |
public static final String BACO_SESSION_COOKIE = "BACOSESSIONID"; |
private static final String PORTAL_MENU_START_LINK_START = "/proxy/"; |
private static final String PORTAL_MENU_START_LINK_END = "/estgp/public/portal"; |
private static final String PUBLIC_MENU_START_LINK_END = "/estgp/public"; |
private static final String MENU_START_LINK_END = "/estgp"; |
private static final String PORTAL_MENU_START_LINK_END_AA = "/estgweb/aa"; |
private static final String PORTAL_MENU_START_LINK_END_NUCLEO_ENG = "/estgweb/nucleoeng"; |
public static final String PORTAL_ROLE_VIEW_STUDENT ="?role=student&menu=menu.alunos"; |
22,9 → 24,18 |
public static final String VISIBLE = "display:;"; |
public static final String HIDDEN = "display:none"; |
public static String getStartPublicLink(String layout) |
{ |
return PORTAL_MENU_START_LINK_START + layout + PUBLIC_MENU_START_LINK_END; |
} |
public static String getStartLink(String layout) |
{ |
return PORTAL_MENU_START_LINK_START + layout + MENU_START_LINK_END; |
} |
public static String getStartLinkPortalMenu(String layout) |
{ |
if(layout.contains("AA")) |
/impl/src/java/pt/estgp/estgweb/web/controllers/profile/ProfileController.java |
---|
411,9 → 411,9 |
UserView userView; |
if(profileForm.getRecordView().getId() > 0) |
userView = (UserView) sm.execute(RequestUtils.getRequester(request, response),"EditUserProfileRecord",args,names); |
else |
userView = (UserView) sm.execute(RequestUtils.getRequester(request, response),"CreateUserProfileRecord",args,names); |
else |
userView = (UserView) sm.execute(RequestUtils.getRequester(request, response),"EditUserProfileRecord",args,names); |
addMessage(request,"profile.record.add.sucess",profileForm.getRecordView().getTitle()); |
profileForm.setUserView(userView); |
/impl/src/java/pt/estgp/estgweb/web/controllers/utils/UtilsController.java |
---|
New file |
0,0 → 1,93 |
package pt.estgp.estgweb.web.controllers.utils; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.controllers.blogs.BlogsController; |
import pt.estgp.estgweb.web.controllers.profile.ProfileController; |
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.form.courseunits.CourseUnitsForm; |
import pt.estgp.estgweb.web.form.profile.ProfileForm; |
import pt.estgp.estgweb.web.form.blogs.BlogForm; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.domain.views.CourseUnitAssignementView; |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.Globals; |
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.serviceManager.exceptions.ExecutedFilterException; |
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 org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.upload.FormFile; |
import org.hibernate.ObjectNotFoundException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
/** |
* @author Jorge Machado |
* @author Fabio Velez |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class UtilsController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(UtilsController.class); |
public ActionForward loadPathIntranet(String root, |
String layout, |
String from, |
HttpServletRequest request) |
throws Throwable, ServletException |
{ |
return loadPathIntranet(root,layout,from,"",request); |
} |
public ActionForward loadPathIntranet(String root, |
String layout, |
String from, |
String path, |
HttpServletRequest request) |
throws Throwable, ServletException |
{ |
ActionForward forward = new ActionForward(); |
forward.setName("startpathproxy"); |
// forward.setPath("/startpathproxy/" + layout + "/ionline" + "/" + path + "/?startPath=" + cV.getPathIntranet() + "&from=" + request.getParameter("from")); |
forward.setPath("/startpathproxy/" + layout + "/ionline" + path + "/?startPath=" + root + "&from=" + request.getParameter("from")); |
forward.setRedirect(true); |
return forward; |
} |
public ActionForward loadRootPath( |
ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
String root = request.getParameter("root"); |
String layout = request.getParameter("layout"); |
String from = request.getParameter("from"); |
String path = request.getParameter("path"); |
if(path == null) |
return loadPathIntranet(root, layout, from, request); |
else |
return loadPathIntranet(root, layout,path, from, request); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/courses/CoursesController.java |
---|
56,7 → 56,7 |
{ |
String code = cF.getCourseView().getCode(); |
long id = cF.getCourseView().getId(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args; |
149,6 → 149,11 |
long id = cF.getCourseView().getId(); |
CourseView cV = (CourseView) sm.execute(RequestUtils.getRequester(request, response), "SubmitCourse", args, names); |
request.setAttribute("CourseView",cV); |
if(cV.getHtmlResult() != null) |
{ |
return mapping.findForward("submit"); |
} |
cF.setCourseView(cV); |
if(id > 0) |
addMessage(request,"course.updated.success","" + cV.getCode()); |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitLayoutProxy.java |
---|
2,25 → 2,22 |
import org.apache.log4j.Logger; |
import org.hibernate.ObjectNotFoundException; |
import javax.servlet.http.HttpServlet; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.estgp.estgweb.web.LayoutProxy; |
import pt.estgp.estgweb.web.exceptions.InternalException; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.domain.views.CourseUnitView; |
import pt.estgp.estgweb.filters.exceptions.NotFoundException; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ExecutedFilterException; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.io.FileNotFoundException; |
import java.io.IOException; |
import java.io.FileNotFoundException; |
/** |
* @author Jorge Machado |
54,7 → 51,10 |
} |
else |
startPath = ""; |
super.setQueryString("courseUnitView.id=" + request.getParameter("courseUnitView.id") + startPath,request); |
String from = ""; |
if(request.getParameter("from") != null) |
from = "&from=" + request.getParameter("from"); |
super.setQueryString("courseUnitView.id=" + request.getParameter("courseUnitView.id") + startPath + from,request); |
try |
{ |
CourseUnitView cV = (CourseUnitView) sm.execute(RequestUtils.getRequester(request, response), "LoadCourseUnit", args, names); |
/impl/src/java/pt/estgp/estgweb/web/controllers/courseunits/CourseUnitsController.java |
---|
689,7 → 689,7 |
ActionForward forward = new ActionForward(); |
forward.setName("intranetCourseUnit"); |
forward.setPath("/courseunitproxy/" + layout + "/ionline" + "/" + path + "/?courseUnitView.id="+ cV.getId() + "&startPath=" + cV.getPathIntranet()); |
forward.setPath("/courseunitproxy/" + layout + "/ionline" + "/" + path + "/?courseUnitView.id="+ cV.getId() + "&startPath=" + cV.getPathIntranet() + "&from=" + request.getParameter("from")); |
forward.setRedirect(true); |
return forward; |
} |
/impl/src/java/pt/estgp/estgweb/web/filters/TopImageFilter.java |
---|
New file |
0,0 → 1,79 |
package pt.estgp.estgweb.web.filters; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.utils.ProxyUtils; |
import javax.servlet.*; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import java.util.List; |
import java.io.IOException; |
/** |
* |
* @author Jorge Machado |
*/ |
public class TopImageFilter implements Filter |
{ |
public static final String TOP_IMAGE = "TOP_IMAGE"; |
public TopImageFilter() |
{ |
} |
public void init(FilterConfig config) |
{ |
} |
/** |
* |
* @param request The servlet request we are processing |
* @param chain The filter chain we are processing |
* |
* @exception java.io.IOException if an input/output error occurs |
* @exception javax.servlet.ServletException if a servlet error occurs |
*/ |
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) |
throws IOException, ServletException |
{ |
HttpServletRequest hrequest = (HttpServletRequest) request; |
String relativePath = hrequest.getServletPath(); |
if (relativePath == null) |
relativePath = ""; |
if (hrequest.getPathInfo() != null && hrequest.getPathInfo().length() > 0) |
{ |
relativePath += hrequest.getPathInfo(); |
} |
for (String ignore : Globals.FILTER_IGNORE_EXTENSIONS) |
{ |
if (relativePath.endsWith(ignore)) |
{ |
chain.doFilter(request, response); |
return; |
} |
} |
for (String ignore : Globals.FILTER_IGNORE_PREFIXES) |
{ |
if (relativePath.startsWith(ignore)) |
{ |
chain.doFilter(request, response); |
return; |
} |
} |
String link = ProxyUtils.getTopImageLink((HttpServletRequest) request); |
request.setAttribute(TOP_IMAGE,link); |
chain.doFilter(request,response); |
} |
public void destroy() |
{ |
// Nothing |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/FTPProxy.java |
---|
108,7 → 108,7 |
iFiles.add(iFile); |
} |
List<NavPlace> navPlaces = FtpFile.getNavPlaces(path); |
List<NavPlace> navPlaces = FtpFile.getNavPlaces(path,""); |
request.setAttribute("NavPlaces",navPlaces); |
request.setAttribute("files",iFiles); |
getServletContext().getRequestDispatcher("/user/ftpclient/ftpclient.jsp").forward(request,response); |
/impl/src/java/pt/estgp/estgweb/web/ImageStream.java |
---|
1,7 → 1,9 |
package pt.estgp.estgweb.web; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.ImageImpl; |
import pt.estgp.estgweb.domain.dao.impl.ImageDaoImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.data.ImageManager; |
import java.io.*; |
33,7 → 35,7 |
long id = Long.parseLong(imageRequarired.trim()); |
AbstractDao.getCurrentSession().beginTransaction(); |
Image image = new ImageDaoImpl().get(id); |
ImageImpl image = (ImageImpl) DaoFactory.getImageDaoImpl().get(id); |
try |
{ |
response.setContentType(image.getContentType()); |
/impl/src/java/pt/utl/ist/berserk/storage/hibernate/HibernateTransactionBroker.java |
---|
37,28 → 37,36 |
{ |
HibernateUtils.getCurrentSession().beginTransaction(); |
} |
public void commitTransaction() throws StorageException |
public void commitTransaction() throws StorageException |
{ |
HibernateUtils.getCurrentSession().getTransaction().commit(); |
// HibernateUtils.getCurrentSession().close(); |
} |
public void abortTransaction() throws StorageException |
public void abortTransaction() throws StorageException |
{ |
Session sess = HibernateUtils.getCurrentSession(); |
Transaction t = sess.getTransaction(); |
t.rollback(); |
// sess.close(); |
} |
public void lockRead(List list) throws StorageException |
public void lockRead(List list) throws StorageException |
{ |
for(Object obj: list) |
{ |
lockRead(obj); |
} |
} |
public void lockRead(Object obj) throws StorageException |
public void lockRead(Object obj) throws StorageException |
{ |
HibernateUtils.getCurrentSession().lock(obj, LockMode.READ); |
} |
public void lockWrite(Object obj) throws StorageException |
public void lockWrite(Object obj) throws StorageException |
{ |
HibernateUtils.getCurrentSession().lock(obj, LockMode.WRITE); |
} |
/impl/src/java/pt/ipp/siges/web/services/clients/Test.java |
---|
76,10 → 76,10 |
System.out.println(a.getNumeroBi()); |
System.out.println(a.getEmail()); |
System.out.println(a.getUsernameNetpa()); |
ArrayOfDecimal ad = a.getDisciplinasInscrito(); |
for(BigDecimal d :ad.getDecimal()) |
ArrayOfDisciplina ad = a.getDisciplinasInscrito(); |
for(Disciplina d :ad.getDisciplina()) |
{ |
Disciplina dAux = disciplinasMap.get(d.intValue()); |
Disciplina dAux = disciplinasMap.get(d.getCodigo()); |
System.out.println(dAux.getNome() + " " + dAux.getNomeCurso()); |
} |
/impl/src/doc/estgweb.eap |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/impl/src/doc/rss/RSS.zip |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/impl/src/doc/siges/index.zip |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/impl/src/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml |
---|
16,6 → 16,7 |
<property name="superuser" type="boolean"/> |
<property name="name" type="string" index="nameIndex"/> |
<property name="roles" type="string" index="rolesIndex"/> |
<many-to-one name="image" column="image" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all"/> |
<subclass name="pt.estgp.estgweb.domain.GenericUserImpl"> |
<subclass name="pt.estgp.estgweb.domain.Group"> |
<meta attribute="scope-class">public abstract</meta> |
53,15 → 54,15 |
<key column="user_id"/> |
<one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/> |
</set> |
<set name="creatorRecords" lazy="true" order-by="recordId" table="creatorRecords"> |
<set name="creatorRecords" lazy="true" order-by="recordId" table="creatorrecords"> |
<key column="creatorId"/> |
<many-to-many class="pt.estgp.estgweb.domain.Record" column="recordId"/> |
</set> |
<set name="contributorRecords" lazy="true" order-by="recordId" table="contributorRecords"> |
<set name="contributorRecords" lazy="true" order-by="recordId" table="contributorrecords"> |
<key column="contributorId"/> |
<many-to-many class="pt.estgp.estgweb.domain.Record" column="recordId"/> |
</set> |
<set name="managedIdentifierCollectionsManager" lazy="true" table="managedIdentifierCollectionManagers"> |
<set name="managedIdentifierCollectionsManager" lazy="true" table="managedidentifiercollectionmanagers"> |
<key column="managerId"/> |
<many-to-many class="pt.estgp.estgweb.domain.ManagedIdentifierCollection" column="collectionId"/> |
</set> |
97,7 → 98,7 |
<property name="unitCheck" type="boolean"/> |
<property name="academicDegree" type="string"/> |
<property name="localRemovedTeachedUnits" type="string"/> |
<set name="teachedUnits" lazy="true" order-by="courseUnitId" table="teachedUnits"> |
<set name="teachedUnits" lazy="true" order-by="courseUnitId" table="teachedunits"> |
<key column="teacherId"/> |
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/> |
</set> |
/impl/src/hbm/pt/estgp/estgweb/domain/Record.hbm.xml |
---|
4,7 → 4,7 |
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> |
<hibernate-mapping> |
<class name="pt.estgp.estgweb.domain.Record" table="profileRecord" abstract="true"> |
<class name="pt.estgp.estgweb.domain.Record" table="profilerecord" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
24,11 → 24,11 |
<property name="identifier" type="string"/> |
<property name="repositoryStream" type="string" index="repositoryStreamIndex"/> |
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="false" outer-join="true"/> |
<set name="creators" lazy="true" table="creatorRecords"> |
<set name="creators" lazy="true" table="creatorrecords"> |
<key column="recordId"/> |
<many-to-many class="pt.estgp.estgweb.domain.User" column="creatorId"/> |
</set> |
<set name="contributors" lazy="true" table="contributorRecords"> |
<set name="contributors" lazy="true" table="contributorrecords"> |
<key column="recordId"/> |
<many-to-many class="pt.estgp.estgweb.domain.User" column="contributorId"/> |
</set> |
/impl/src/hbm/pt/estgp/estgweb/domain/RepositoryFile.hbm.xml |
---|
4,7 → 4,7 |
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> |
<hibernate-mapping> |
<class name="pt.estgp.estgweb.domain.RepositoryFile" table="repositoryFile" abstract="true"> |
<class name="pt.estgp.estgweb.domain.RepositoryFile" table="repositoryfile" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
24,7 → 24,7 |
<subclass name="pt.estgp.estgweb.domain.RepositoryFileImpl" discriminator-value="RepositoryFileImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.RepositoryFileVersion" table="repositoryFileVersion" abstract="true"> |
<class name="pt.estgp.estgweb.domain.RepositoryFileVersion" table="repositoryfileversion" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
/impl/src/hbm/pt/estgp/estgweb/domain/Image.hbm.xml |
---|
17,7 → 17,6 |
<property name="contentType" type="string"/> |
<property name="size" type="int"/> |
<property name="description" type="text"/> |
<property name="image" type="binary" length="4194304"/> |
<subclass name="pt.estgp.estgweb.domain.ImageImpl" discriminator-value="ImageImpl"/> |
</class> |
</hibernate-mapping> |
/impl/src/hbm/pt/estgp/estgweb/domain/Course.hbm.xml |
---|
21,6 → 21,9 |
<property name="externalSiteServer" type="string"/> |
<property name="externalSitePath" type="string"/> |
<property name="degree" type="string"/> |
<property name="cacheWebDocument" type="text"> |
<column name="cacheWebDocument" sql-type="TEXT"/> |
</property> |
<property name="studiesPlan" type="string" index="studiesPlanIndex"/> |
<many-to-one name="director" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/> |
<many-to-one name="coordinator" class="pt.estgp.estgweb.domain.Teacher" outer-join="false" lazy="proxy"/> |
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml |
---|
4,7 → 4,7 |
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> |
<hibernate-mapping> |
<class name="pt.estgp.estgweb.domain.CourseUnit" table="courseUnit" abstract="true"> |
<class name="pt.estgp.estgweb.domain.CourseUnit" table="courseunit" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
15,23 → 15,23 |
<property name="saveDate" type="timestamp"/> |
<property name="semestre" type="string" index="semestreIndex"/> |
<property name="name" type="string" index="nameIndex"/> |
<property name="code" type="string"/> |
<property name="courseCode" type="string"/> |
<property name="courseName" type="string"/> |
<property name="courseYear" type="string"/> |
<property name="code" type="string" index="codeIndex"/> |
<property name="courseCode" type="string" index="courseCodeIndex"/> |
<property name="courseName" type="string" index="courseNameIndex"/> |
<property name="courseYear" type="string" index="courseYearIndex"/> |
<property name="importYear" type="string" index="importYearIndex"/> |
<property name="institutionCode" type="string" /> |
<property name="institutionCode" type="string" index="institutionCodeIndex" /> |
<property name="pathIntranet" type="string" /> |
<property name="normalizedName" type="string" /> |
<property name="objectives" type="text"/> |
<property name="programStreamId" type="string"/> |
<property name="status" type="boolean" /> |
<property name="programStreamId" type="string" index="programStreamIdIndex" /> |
<property name="status" type="boolean" index="statusIndex" /> |
<many-to-one name="course" class="pt.estgp.estgweb.domain.Course" lazy="false" outer-join="true"/> |
<set name="blogs" cascade="delete" lazy="true" order-by="saveDate asc"> |
<key column="courseUnit"/> |
<one-to-many class="pt.estgp.estgweb.domain.CourseUnitBlog" /> |
</set> |
<set name="teachers" lazy="true" table="teachedUnits"> |
<set name="teachers" lazy="true" table="teachedunits"> |
<key column="courseUnitId"/> |
<many-to-many class="pt.estgp.estgweb.domain.TeacherImpl" column="teacherId"/> |
</set> |
54,8 → 54,8 |
<subclass name="pt.estgp.estgweb.domain.CourseUnitImpl" discriminator-value="CourseUnitImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseUnitQuestion" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseunitquestion" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
<generator class="native"/> |
66,11 → 66,12 |
<property name="question" type="text"/> |
<property name="answer" type="text"/> |
<property name="answred" type="boolean" index="answredIndex"/> |
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="false" outer-join="true"/> |
<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/> |
<subclass name="pt.estgp.estgweb.domain.CourseUnitQuestionImpl" discriminator-value="CourseUnitQuestionImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitAssignement" table="courseUnitAssignement" abstract="true"> |
<class name="pt.estgp.estgweb.domain.CourseUnitAssignement" table="courseunitassignement" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
94,7 → 95,7 |
<subclass name="pt.estgp.estgweb.domain.CourseUnitAssignementImpl" discriminator-value="CourseUnitAssignementImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitDeliverable" table="courseUnitDeliverable" abstract="true"> |
<class name="pt.estgp.estgweb.domain.CourseUnitDeliverable" table="courseunitdeliverable" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
112,7 → 113,7 |
<subclass name="pt.estgp.estgweb.domain.CourseUnitDeliverableImpl" discriminator-value="CourseUnitDeliverableImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.CourseUnitGrade" table="courseUnitGrade" abstract="true"> |
<class name="pt.estgp.estgweb.domain.CourseUnitGrade" table="courseunitgrade" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
123,6 → 124,7 |
<property name="saveDate" type="timestamp"/> |
<property name="publishDate" type="timestamp"/> |
<property name="grade" type="int" index="gradeIndex"/> |
<property name="normalizedCourseUnitName" type="string"/> |
<property name="statusEpoca" type="int" index="statusEpocaIndex"/> |
<property name="importYear" type="string" index="importYearIndex"/> |
<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/> |
130,4 → 132,28 |
<subclass name="pt.estgp.estgweb.domain.CourseUnitGradeImpl" discriminator-value="CourseUnitGradeImpl"/> |
</class> |
<!--<class name="pt.estgp.estgweb.domain.CourseUnit" table="courseunitassignement" abstract="true">--> |
<!--<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>--> |
<!--<meta attribute="scope-class">public abstract</meta>--> |
<!--<id name="id" type="long">--> |
<!--<generator class="native"/>--> |
<!--</id>--> |
<!--<discriminator column="discrimitator"/>--> |
<!--<timestamp name="updateDate" unsaved-value="null"/>--> |
<!--<property name="saveDate" type="timestamp"/>--> |
<!--<property name="deliverDate" type="timestamp"/>--> |
<!--<property name="deliverType" type="string"/>--> |
<!--<property name="lateDelivers" type="boolean"/>--> |
<!--<property name="title" type="string"/>--> |
<!--<property name="description" type="text"/>--> |
<!--<property name="repositoryStream" type="string" index="repositoryStreamIndex"/>--> |
<!--<property name="status" type="boolean"/>--> |
<!--<many-to-one name="courseUnit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/>--> |
<!--<set name="deliverables" cascade="delete" lazy="true" order-by="deliverDate asc">--> |
<!--<key column="courseUnitAssignement"/>--> |
<!--<one-to-many class="pt.estgp.estgweb.domain.CourseUnitDeliverable"/>--> |
<!--</set>--> |
<!--<subclass name="pt.estgp.estgweb.domain.CourseUnitAssignementImpl" discriminator-value="CourseUnitAssignementImpl"/>--> |
<!--</class>--> |
</hibernate-mapping> |
/impl/src/hbm/pt/estgp/estgweb/domain/IdentifiersManagement.hbm.xml |
---|
4,7 → 4,7 |
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> |
<hibernate-mapping> |
<class name="pt.estgp.estgweb.domain.ManagedIdentifier" table="managedIdentifier" abstract="true"> |
<class name="pt.estgp.estgweb.domain.ManagedIdentifier" table="managedidentifier" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
20,7 → 20,7 |
<subclass name="pt.estgp.estgweb.domain.ManagedIdentifierImpl" discriminator-value="ManagedIdentifierImpl"/> |
</class> |
<class name="pt.estgp.estgweb.domain.ManagedIdentifierCollection" table="managedIdentifierCollection" abstract="true"> |
<class name="pt.estgp.estgweb.domain.ManagedIdentifierCollection" table="managedidentifiercollection" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.OwnedDomainObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
33,7 → 33,7 |
<property name="sequenceNumber" type="long"/> |
<property name="description" type="text"/> |
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="false" outer-join="true"/> |
<set name="managers" lazy="true" table="managedIdentifierCollectionManagers"> |
<set name="managers" lazy="true" table="managedIdentifiercollectionmanagers"> |
<key column="collectionId"/> |
<many-to-many class="pt.estgp.estgweb.domain.User" column="managerId"/> |
</set> |
/impl/src/hbm/pt/estgp/estgweb/domain/Job.hbm.xml |
---|
New file |
0,0 → 1,25 |
<?xml version="1.0"?> |
<!DOCTYPE hibernate-mapping |
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" |
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> |
<hibernate-mapping> |
<class name="pt.estgp.estgweb.domain.Job" table="job" abstract="true"> |
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta> |
<meta attribute="scope-class">public abstract</meta> |
<id name="id" type="long"> |
<generator class="native"/> |
</id> |
<discriminator column="discrimitator"/> |
<timestamp name="updateDate" unsaved-value="null"/> |
<property name="saveDate" type="timestamp"/> |
<property name="startDate" type="timestamp" index="startDateIndex"/> |
<property name="description" type="string"/> |
<property name="executed" type="boolean"/> |
<many-to-one name="owner" class="pt.estgp.estgweb.domain.User" lazy="proxy" outer-join="true"/> |
<property name="jobHandler" type="java.io.Serializable"> |
<column name="jobHandler" sql-type="LONGBLOB"/> |
</property> |
<subclass name="pt.estgp.estgweb.domain.JobImpl" discriminator-value="JobImpl"/> |
</class> |
</hibernate-mapping> |
/impl/src/scripts/transformXml.bat |
---|
New file |
0,0 → 1,4 |
call setenv.bat |
set LIBS=lib/dom4j-1.4.jar;lib/saxon9.jar;lib/saxon9-dom4j.jar;lib/log4j-1.2.8.jar;lib/estgweb.jar |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "classes;%LIBS%" pt.estgp.estgweb.services.utils.TransformXmlService in.xml /template/xsd/curso.xsl out.html |
/impl/src/scripts/importCourseUnits.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.sigesimports.ImportCourseService |
/impl/src/scripts/jobDeamon.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.jobs.JobDeamon |
/impl/src/scripts/tempCleaner.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.data.TmpCleaner |
/impl/src/scripts/importGrades.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.sigesimports.ImportGradesService |
/impl/src/scripts/importStudents.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.sigesimports.ImportStudentsService |
/impl/src/scripts/setenv.bat |
---|
New file |
0,0 → 1,9 |
SET TOMCAT_HOME=@tomcat.home@ |
SET JAVA_OPTS=-Xmx1024m -Xms512m -XX:NewRatio=1 |
call libs.bat |
/impl/src/scripts/importTeachers.bat |
---|
New file |
0,0 → 1,3 |
call setenv.bat |
java %JAVA_OPTS% -Dfile.encoding=UTF-8 -classpath "%LIBS%" pt.estgp.estgweb.services.sigesimports.ImportTeachersService |
/impl/src/web/imgs/top.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/impl/src/web/admin/profile/profileCurriculum.jsp |
---|
26,6 → 26,7 |
%> |
<html:form action="/user/profile" enctype="multipart/form-data"> |
<input type="hidden" name="dispatch" value="createRecord"> |
<html:hidden property="recordView.id"/> |
<table class="form"> |
<tr> |
<th> |
35,6 → 36,7 |
<html:select property="recordView.type"> |
<html:option value="RecordThesisImpl" key="profile.RecordThesisImpl"/> |
<html:option value="RecordPaperImpl" key="profile.RecordPaperImpl"/> |
<%--todo Falta Artigo de Opinião e falta meter artigo cientifico, revista, conferencia, workshop--%> |
<html:option value="RecordJobImpl" key="profile.RecordJobImpl"/> |
<html:option value="RecordEventOrganizationImpl" key="profile.RecordEventOrganizationImpl"/> |
<html:option value="RecordProjectImpl" key="profile.RecordProjectImpl"/> |
/impl/src/web/admin/courses/course.jsp |
---|
11,6 → 11,11 |
<html:form action="/user/courseControllerFromServiceZone" enctype="multipart/form-data"> |
<input type="hidden" name="dispatch" value="submit"/> |
<html:hidden property="courseView.id"/> |
<logic:present name="CourseView" property="htmlResult"> |
<pre class="log"> |
<bean:write name="CourseView" property="htmlResult"/> |
</pre> |
</logic:present> |
<table class="form"> |
<tr> |
<th> |
34,10 → 39,11 |
</th> |
<td> |
<html:select property="courseView.degree"> |
<html:option value="B">Bacharlato</html:option> |
<html:option value="L">Lincenciatura</html:option> |
<html:option value="M">Mestrado</html:option> |
<html:option value="P">Pós Graduação</html:option> |
<html:option value="B"><bean:message key="course.B"/></html:option> |
<html:option value="L"><bean:message key="course.L"/></html:option> |
<html:option value="M"><bean:message key="course.M"/></html:option> |
<html:option value="P"><bean:message key="course.P"/></html:option> |
<html:option value="E"><bean:message key="course.E"/></html:option> |
</html:select> |
* SIGES: <bean:write name="CourseForm" property="courseView.degree"/> - Confirmar Mestrados e Pos graduacoes e informar equipa de desenvolvimento |
</td> |
109,6 → 115,18 |
</td> |
</tr> |
<tr> |
<td> |
<bean:message key="course.externalSite"/> |
</td> |
<td> |
<html:select property="courseView.externalSiteServer"> |
<html:option value="estgp">ESTG</html:option> |
</html:select> |
<html:text property="courseView.externalSitePath"/> |
</td> |
</tr> |
<tr> |
<th> |
<bean:message key="course.studies.plan"/> |
</th> |
/impl/src/web/admin/courseunits/courseunit.jsp |
---|
84,74 → 84,89 |
<bean:message key="courseunit.teachers"/> |
</th> |
<td> |
<html:select property="teacherId"> |
<logic:present name="CourseUnitsForm" property="teachers"> |
<logic:iterate id="teacher" name="CourseUnitsForm" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitsForm" |
comparableObjectProperty="teacherId"> |
(${teacher.code}) ${teacher.name} |
</jomm:option> |
</logic:iterate> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addTeacher');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0"> |
<table class="dataTable removeButton"> |
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.name} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitsForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();"> |
</td> |
</tr> |
</logic:iterate> |
</table> |
<logic:lessEqual value="0" name="CourseUnitView" property="id"> |
<i><bean:message key="courseunit.to.add.teachers.save.first"/></i> |
</logic:lessEqual> |
<logic:greaterThan value="0" name="CourseUnitView" property="id"> |
<html:select property="teacherId"> |
<logic:present name="CourseUnitsForm" property="teachers"> |
<logic:iterate id="teacher" name="CourseUnitsForm" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<jomm:option itemName="teacher" itemProperty="id" comparableObjectName="CourseUnitsForm" |
comparableObjectProperty="teacherId"> |
(${teacher.code}) ${teacher.name} |
</jomm:option> |
</logic:iterate> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addTeacher');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:greaterThan name="CourseUnitView" property="teachersSize" value="0"> |
<table class="dataTable removeButton"> |
<logic:iterate id="userView" name="CourseUnitView" property="teachers" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.name} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitsForm.id.value='${userView.id}';set(this.form,'removeTeacher');this.form.submit();"> |
</td> |
</tr> |
</logic:iterate> |
</table> |
</logic:greaterThan> |
</logic:greaterThan> |
</td> |
</tr> |
<tr> |
<th> |
<bean:message key="courseunit.students"/> |
</th> |
<td> |
<html:text styleClass="text" property="studentCode"/> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addStudent');this.form.submit();"> |
<logic:greaterThan name="CourseUnitView" property="studentsSize" value="0"> |
<table class="dataTable removeButton"> |
<logic:iterate id="userView" name="CourseUnitView" property="students" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.username} |
</th> |
<th> |
${userView.name} |
</th> |
<th> |
${userView.email} |
</th> |
<th> |
${userView.address} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitsForm.id.value='${userView.code}';set(this.form,'removeStudent');this.form.submit();"> |
</td> |
</tr> |
</logic:iterate> |
</table> |
<logic:lessEqual value="0" name="CourseUnitView" property="id"> |
<i><bean:message key="courseunit.to.add.students.save.first"/></i> |
</logic:lessEqual> |
<logic:greaterThan value="0" name="CourseUnitView" property="id"> |
<html:text styleClass="text" property="studentCode"/> |
<input type="button" value="<bean:message key="add"/>" |
onclick="set(this.form,'addStudent');this.form.submit();"> |
<logic:greaterThan name="CourseUnitView" property="studentsSize" value="0"> |
<table class="dataTable removeButton"> |
<logic:iterate id="userView" name="CourseUnitView" property="students" type="pt.estgp.estgweb.domain.views.UserView"> |
<tr> |
<th> |
${userView.code} |
</th> |
<th> |
${userView.username} |
</th> |
<th> |
${userView.name} |
</th> |
<th> |
${userView.email} |
</th> |
<th> |
${userView.address} |
</th> |
<td><input type="button" class="removeButton" |
onclick="CourseUnitsForm.id.value='${userView.code}';set(this.form,'removeStudent');this.form.submit();"> |
</td> |
</tr> |
</logic:iterate> |
</table> |
</logic:greaterThan> |
</logic:greaterThan> |
</td> |
</tr> |
</table> |
<input type="button" onclick="set(form,'createOrUpdateAdmin');form.submit()" value="<bean:message key="confirm"/>"> |
</html:form> |
/impl/src/web/admin/announcements/submitAnnouncement.jsp |
---|
328,7 → 328,7 |
</html:select> |
<html:text property="announcementView.internalUrlPath"/> |
<html:select property="announcementView.internalUrlServer"> |
<html:option value="estg">ESTG</html:option> |
<html:option value="estgp">ESTG</html:option> |
<html:option value="ionline">IONLINE</html:option> |
</html:select> |
</td> |
/impl/src/web/css/style.css |
---|
13,6 → 13,12 |
cursor:pointer; |
} |
label.info |
{ |
FONT-SIZE: 10px; |
font-style:italic; |
padding-left:5px; |
} |
/*Errors and Warnings*/ |
.statusOK, .active { |
33,6 → 39,12 |
background-color: black; |
} |
.log |
{ |
background:gray; |
color:#FFFFFF; |
} |
.requiredField * { |
color: red; |
} |
396,8 → 408,6 |
} |
#searchResults li .module { |
position: absolute; |
visibility: hidden; |
margin-left:5px; |
} |
464,6 → 474,7 |
.block |
{ |
margin-bottom:10px; |
border-left: 1px solid #8EC73F; |
} |
.block .zerofound, .block table |
483,19 → 494,40 |
} |
.block ul li ul li |
{ |
padding-left: 10px; |
padding-left: 0; |
} |
.block p, .navLeftMenu h2 { |
background-color: #ededed; |
padding-left: 10px; |
background-color: #8EC73F; |
padding-left: 0; |
margin: 0; |
} |
.intranetLayout .block ul |
{ |
LIST-STYLE-TYPE: square; |
} |
.block ul { |
LIST-STYLE-TYPE: none; |
padding-left: 10px; |
list-style:none; |
padding-left: 18px; |
margin-left:0; |
} |
.intranetLayout .block ul ul{ |
LIST-STYLE-TYPE: circle; |
} |
.block ul ul |
{ |
list-style:none; |
padding-left: 15px; |
margin-left:0; |
} |
.block ul li{ |
padding-top:5px; |
padding-left:0; |
margin-left:0; |
} |
.block a { |
color: #4d4d4d; |
618,6 → 650,7 |
background-x-position: 0pt; |
background-y-position: 50%; |
padding-left: 20px; |
padding-top:0; |
list-style-type: none; |
margin-left:10px; |
vertical-align:top; |
641,6 → 674,10 |
margin-left: 15px; |
} |
.listDecimal li |
{ |
padding-top:5px; |
} |
.listDisc UL /*Lista circulo preto*/ |
{ |
/*LIST-STYLE-TYPE: disc;*/ |
732,7 → 769,7 |
/*FlashCenterNews*/ |
#flashCenterNews { |
margin-top: 2px; |
border-top-style: dotted; |
/* border-top-style: dotted;*/ |
border-top-color: gray; |
} |
746,7 → 783,7 |
} |
#flashCenterNews h2 a{ |
color: #8EC73F; |
color: #589A2C; |
font-weight: bold; |
text-decoration: none; |
} |
768,14 → 805,59 |
} |
#flashBottomNews h2 a { |
color: #8EC73F; |
color: #589A2C; |
font-weight: bold; |
} |
#flashBottomNews p a { |
color: #4d4d4d; |
text-decoration:none; |
text-align:justify; |
} |
.flashNew |
{ |
width:100%; |
} |
.flashNew td |
{ |
background-color: #D3D3D3; |
} |
#flashCenterNews .container td, #flashBottomNews .container td |
{ |
padding:2px; |
} |
#flashCenterNews .container td.cont |
{ |
width:50%; |
} |
#flashBottomNews .container td.cont |
{ |
width:25%; |
} |
#flashCenterNews .flashNew td, #flashBottomNews .flashNew td |
{ |
border-right: 1px solid black; |
border-bottom: 1px solid black; |
border-top: 1px solid black; |
padding: 4px; |
width:80%; |
} |
#flashCenterNews .flashNew th, #flashBottomNews .flashNew th |
{ |
border-left: 1px solid black; |
border-bottom: 1px solid black; |
border-top: 1px solid black; |
border-right: 1px solid gray; |
padding: 4px; |
} |
/*Last News Block*/ |
#lastnews { |
} |
1446,3 → 1528,45 |
background-color: black; |
} |
/*Plano Curricular*/ |
.planoCurricular td, .planoCurricular th |
{ |
font-family: "bitstream vera sans",Verdana,Arial,Helvetica,sans-serif; |
} |
.planoCurricular |
{ |
border:1px solid black; |
} |
.planoCurricular th |
{ |
font-weight:normal; |
border:1px solid black; |
} |
.planoCurricular td.unidade |
{ |
text-align:right; |
} |
td.unidade span |
{ |
width:100%; |
} |
.semestre |
{ |
background-color:#8ec73f; |
} |
.semestreHead |
{ |
background-color:#8ec73f; |
} |
.perfilNome, .perfilHead |
{ |
background-color:#D6D6D6 |
} |
.ects |
{ |
background-color:#EBFCD6; |
} |
/impl/src/web/js/functions.js |
---|
71,3 → 71,5 |
{ |
return confirm(msg); |
} |
/impl/src/web/layout/header.jsp |
---|
1,3 → 1,5 |
<%@ page import="pt.estgp.estgweb.web.utils.ProxyUtils" %> |
<%@ page import="pt.estgp.estgweb.web.filters.TopImageFilter" %> |
<%@ page contentType="text/html; charset=UTF-8" language="java"%> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
7,7 → 9,22 |
<table width="100%"> |
<tr> |
<td> |
<img alt="estg" src="<%=request.getContextPath()%>/imgs/top.jpg"/> |
<% |
String link = (String) request.getAttribute(TopImageFilter.TOP_IMAGE); |
if (link == null) |
{ |
%> |
<img alt="estg" src="<%=request.getContextPath()%>/imgs/top.jpg"/> |
<% |
} |
else |
{ |
%> |
<img alt="estg" src="<%=link%>"/> |
<% |
} |
%> |
</td> |
</tr> |
</table> |
/impl/src/web/layout/headerIntranet.jsp |
---|
7,7 → 7,9 |
<table width="100%" id="headerIntranet"> |
<tr> |
<td class="title"> |
INTRANET - ESTG (<bean:write name="UserSession" property="user.name"/> online) |
<logic:present name="UserSession"> |
INTRANET - ESTG (<bean:write name="UserSession" property="user.name"/> online) |
</logic:present> |
</td> |
<td class="links"> |
<ul> |
/impl/src/web/layout/topnav.jsp |
---|
12,10 → 12,15 |
List<NavPlace> navKeys = topNav.getNavPlaces(); |
for (NavPlace navPlace : navKeys) |
{ |
if (navPlace.getUrl() != null) |
{ |
String context = ""; |
if(navPlace.getUrl().startsWith("/")) |
context = request.getContextPath(); |
%> |
<li class="navPlace"><a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=navPlace.getMessage(request)%></a> ></li> |
<li class="navPlace"><a href="<%=context + navPlace.getUrl()%>"><%=navPlace.getMessage(request)%></a> ></li> |
<% |
} |
else |
/impl/src/web/layout/layoutintranet.jsp |
---|
5,6 → 5,8 |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<?xml version="1.0" encoding="utf-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html:html locale="true"> |
<head> |
<title><bean:message key="site.title"/> - <tiles:getAsString name="title"/></title> |
12,7 → 14,7 |
<jsp:include page="/layout/scripts.jsp"/> |
</head> |
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0"> |
<div id="body"> |
<div id="body" class="intranetLayout"> |
<div id="header"> |
<tiles:insert attribute="header"/> |
</div> |
/impl/src/web/layout/navigationTop.jsp |
---|
1,4 → 1,5 |
<%-- |
<%@ page import="pt.estgp.estgweb.web.Globals" %> |
<%-- |
Created by IntelliJ IDEA. |
User: Fabio Velez |
Date: 13/Mar/2008 |
29,25 → 30,24 |
</ul> |
</div> |
</li> |
<li class="submenu"><a href="#">Organização</a> |
<li class="submenu"><a href="#"><bean:message key="organization"/> </a> |
<div class="shadow"> |
<ul class="menu"> |
<li><a href="#">Assembleia de Representantes</a></li> |
<li><a href="#">Conselho Directivo</a></li> |
<li><a href="#">Conselho Ciêntifico</a></li> |
<li><a href="#">Conselho Pedagógico</a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartLinkPortalMenu("assembleiaRepresentantes") + "/orgaosAssembleiaRepresentantes.html"%>"><bean:message key="user.role.representativeCouncil"/></a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartLinkPortalMenu("conselhoDirectivo") + "/orgaosConselhoDirectivo.html"%>"><bean:message key="user.role.administrativeCouncil"/></a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartLinkPortalMenu("conselhoCientifico") + "/orgaosConselhoCientifico.html"%>"><bean:message key="user.role.scientificCouncil"/></a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartLinkPortalMenu("conselhoPedagogico") + "/orgaosConselhoPedagogico.html"%>"><bean:message key="user.role.pedagogicCouncil"/></a></li> |
</ul> |
</div> |
</li> |
<li class="submenu"><a href="#">Áreas</a> |
<li class="submenu"><a href="<%=request.getContextPath() + Globals.getStartPublicLink("areas") + "/areas/areas.html"%>"><bean:message key="areas"/> </a> |
<div class="shadow "> |
<ul class="menu"> |
<li><a href="#">Engenharias</a></li> |
<li><a href="#">Ciências Empresariais</a></li> |
<li><a href="#">Ciências Humanas</a></li> |
<li><a href="#">Design</a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartPublicLink("areaEG") + "/areas/areaEG.html"%>"><bean:message key="top.menu.area.eg"/> </a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartPublicLink("areaCE") + "/areas/areaEG.html"%>"><bean:message key="top.menu.area.ce"/> </a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartPublicLink("areaCH") + "/areas/areaEG.html"%>"><bean:message key="top.menu.area.ch"/> </a></li> |
<li><a href="<%=request.getContextPath() + Globals.getStartPublicLink("areaDG") + "/areas/areaEG.html"%>"><bean:message key="top.menu.area.dg"/> </a></li> |
</ul> |
</div> |
</li> |
55,11 → 55,11 |
<div class="shadow "> |
<ul class="menu"> |
<li><a href="#">Cursos</a></li> |
<li><a href="#">Mestrados</a></li> |
<li><a href="#">Pós Graduações</a></li> |
<li><a href="#">Cet´s</a></li> |
<li><a href="#">Formação TIC</a></li> |
<li><html:link action="/courses"><bean:message key="module.Courses"/></html:link></li> |
<li><html:link action="/courses" anchor="M"><bean:message key="course.Ms"/></html:link></li> |
<li><html:link action="/courses" anchor="P"><bean:message key="course.Ps"/></html:link></li> |
<li><a href="http://www.estgp.pt/cets/index.htm"><bean:message key="course.Es"/></a></li> |
<li><a href="http://www.estgp.pt/tic/">Formação TIC</a></li> |
<li><a href="#">Formação CTOC</a></li> |
<li><a href="#">Acções de Formação de Curta Duração</a></li> |
</ul> |
/impl/src/web/layout/separators.jsp |
---|
33,7 → 33,7 |
String link3 = "href=\"" + request.getContextPath() + "/user/startProfile.do\""; |
String link4 = "href=\"" + request.getContextPath() + "/user/startServiceZone.do\""; |
String link5 = "href=\"" + request.getContextPath() + "/proxy/layoutIOnline/ionline/\""; |
String link6 = "href=\"" + request.getContextPath() + "/proxy/layoutIntranetUtils/estgp/intranet/index.html\""; |
String link6 = "href=\"" + request.getContextPath() + "/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html\""; |
if(sep == 0) |
{ |
/impl/src/web/public/topMenuNavs/topnavConselhoPedagogico.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "user.role.pedagogicCouncil"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAreaCE.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.web.Globals" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(Globals.getStartPublicLink("areas") + "/areas/areas.html", "areas"); |
topNav.addNavPlace(null, "area.ce"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAreaCH.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.web.Globals" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(Globals.getStartPublicLink("areas") + "/areas/areas.html", "areas"); |
topNav.addNavPlace(null, "area.ch"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAreaDG.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.web.Globals" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(Globals.getStartPublicLink("areas") + "/areas/areas.html", "areas"); |
topNav.addNavPlace(null, "area.dg"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavConselhoDirectivo.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "user.role.administrativeCouncil"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAreaEG.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<%@ page import="pt.estgp.estgweb.web.Globals" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(Globals.getStartPublicLink("areas") + "/areas/areas.html", "areas"); |
topNav.addNavPlace(null, "area.eg"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavConselhoCientifico.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "user.role.scientificCouncil"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAssembleiaRepresentantes.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "user.role.representativeCouncil"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/topMenuNavs/topnavAreas.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "areas"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/profile/profileHome.jsp |
---|
81,7 → 81,7 |
<bean:message key="email.institucion"/> |
</th> |
<td> |
<bean:write name="ProfileForm" property="userView.email"/> |
${ProfileForm.userView.safeEmail} |
</td> |
</tr> |
115,7 → 115,7 |
<ul> |
<logic:iterate id="courseUnit" name="course" property="courseUnits"> |
<li> |
<html:link action="${user}/startLoadCourseUnit${fromAction}?courseUnitView.id=${courseUnit.id}"><bean:write name="courseUnit" property="name"/> (<bean:write name="courseUnit" property="code"/>)</html:link> |
(<bean:write name="courseUnit" property="importYear"/>) <html:link action="${user}/startLoadCourseUnit${fromAction}?courseUnitView.id=${courseUnit.id}"><bean:write name="courseUnit" property="name"/> (<bean:write name="courseUnit" property="code"/>)</html:link> |
</li> |
</logic:iterate> |
</ul> |
/impl/src/web/public/profile/recordViews.jsp |
---|
1,3 → 1,4 |
<%@ page import="jomm.utils.MessageResources" %> |
<%@ 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" %> |
6,70 → 7,81 |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<div class="listClean"> |
<ul> |
<logic:iterate id="recordView" name="RecordViews" type="pt.estgp.estgweb.domain.views.RecordView"> |
<li> |
<table> |
<logic:present name="recordView" property="title"> |
<tr> |
<th><bean:message key="profile.record.title"/></th> |
<td> |
<logic:equal value="false" name="recordView" property="haveIdentifier"> |
${recordView.title} |
<logic:present name="recordView" property="subtitle"> |
- ${recordView.subtitle} |
</logic:present> |
</logic:equal> |
<logic:equal value="true" name="recordView" property="haveIdentifier"> |
<a href="${recordView.identifier}"> |
<ul> |
<logic:iterate id="recordView" name="RecordViews" type="pt.estgp.estgweb.domain.views.RecordView"> |
<li> |
<table> |
<logic:present name="recordView" property="title"> |
<tr> |
<th><bean:message key="profile.record.title"/></th> |
<td> |
<logic:equal value="false" name="recordView" property="haveIdentifier"> |
${recordView.title} |
<logic:present name="recordView" property="subtitle"> |
- ${recordView.subtitle} |
</logic:present> |
</a> |
</logic:equal> |
</logic:equal> |
<logic:equal value="true" name="recordView" property="haveIdentifier"> |
<a href="${recordView.identifier}"> |
${recordView.title} |
<logic:present name="recordView" property="subtitle"> |
- ${recordView.subtitle} |
</logic:present> |
</a> |
</logic:equal> |
|
<baco:isOwner name="recordView"> |
<html:link action="/user/startChangeRecordProfile?recordView.id=${recordView.id}"><bean:message key="edit"/></html:link> |
<% |
String confirmDelete = MessageResources.getMessage(request, "profile.record.confirm.delete"); |
request.setAttribute("confirmDelete", confirmDelete); |
%> |
<html:link onclick="return confirm('${confirmDelete}')" action="/user/startDeleteRecordProfile?recordView.id=${recordView.id}"> |
<bean:message key="delete"/> |
</html:link> |
</baco:isOwner> |
</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="date"> |
<tr> |
<th><bean:message key="profile.record.date"/></th> |
<td>${recordView.date}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="publisher"> |
<tr> |
<th><bean:message key="profile.record.publisher"/></th> |
<td>${recordView.publisher}</td> |
</tr> |
</logic:present> |
</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="date"> |
<tr> |
<th><bean:message key="profile.record.date"/></th> |
<td>${recordView.date}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="publisher"> |
<tr> |
<th><bean:message key="profile.record.publisher"/></th> |
<td>${recordView.publisher}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="copyright"> |
<tr> |
<th><bean:message key="profile.record.copyright"/></th> |
<td>${recordView.copyright}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="description"> |
<tr> |
<th><bean:message key="profile.record.description"/></th> |
<td>${recordView.description}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="repositoryStream"> |
<tr> |
<th > |
<bean:message key="profile.record.file"/> |
</th> |
<td> |
<a target="blank" href="<%=request.getContextPath()%>/repositoryStream/${recordView.repositoryStream}">${recordView.repositoryFile.lastVersion.name}</a> |
(${recordView.repositoryFile.lastVersion.sizeKb} Kb) |
</td> |
</tr> |
</logic:present> |
</table> |
</li> |
</logic:iterate> |
</ul> |
<logic:present name="recordView" property="copyright"> |
<tr> |
<th><bean:message key="profile.record.copyright"/></th> |
<td>${recordView.copyright}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="description"> |
<tr> |
<th><bean:message key="profile.record.description"/></th> |
<td>${recordView.description}</td> |
</tr> |
</logic:present> |
<logic:present name="recordView" property="repositoryStream"> |
<tr> |
<th > |
<bean:message key="profile.record.file"/> |
</th> |
<td> |
<a target="blank" href="<%=request.getContextPath()%>/repositoryStream/${recordView.repositoryStream}">${recordView.repositoryFile.lastVersion.name}</a> |
(${recordView.repositoryFile.lastVersion.sizeKb} Kb) |
</td> |
</tr> |
</logic:present> |
</table> |
</li> |
</logic:iterate> |
</ul> |
</div> |
/impl/src/web/public/index.jsp |
---|
16,9 → 16,6 |
String subTarget = null; |
String[] names = new String[]{}; |
Object[] args = new Object[]{Globals.ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS, subTarget}; |
int topAnnouncements = 1; |
int centerAnnouncements = 1; |
int bottomAnnouncements = 1; |
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request, response), "LoadTypeMaxAnnouncements", args, names); |
request.setAttribute("Announcements", announcementViews); |
%> |
49,169 → 46,130 |
</table> |
</div> |
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<logic:equal value="bottom.flash.news" name="item" property="type"> |
<% |
if (centerAnnouncements <= Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX) |
if(announcementViews != null && announcementViews.size() > 0) |
{ |
if (centerAnnouncements == 1) |
{ |
%> |
<div id="flashCenterNews"> |
<table class="container"> |
<tr> |
<% |
} |
%> |
<td class="imageContainer"> |
<% |
if (item.getSmallImage() != null) |
{ |
%><img alt="<%=item.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%> |
</td> |
<td class="textContainer"> |
<logic:empty name="item" property="url"> |
<h2> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<% |
if (!item.getHaveAllText()) |
{ |
%> |
<h2> |
<html:link href="${item.url}">${item.title}</html:link> |
</h2> |
<p> |
<html:link href="${item.url}">${item.textSummarySmall}</html:link> |
</p> |
<% |
} |
else |
{ |
%> |
<h2> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
<%}%> |
</logic:notEmpty> |
</td> |
<% |
if (centerAnnouncements == Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX) |
<div id="flashCenterNews"> |
<table class="container" cellspacing="0"> |
<tr> |
<% |
int i; |
for(i = 0; i < announcementViews.size() && i < 2; i++) |
{ |
%> |
</tr> |
</table> |
</div> |
AnnouncementView announcementView = announcementViews.get(i); |
request.setAttribute("item",announcementView); |
%> <td class="cont"> |
<table class="flashNew" cellpadding="0" cellspacing="0"><tr> |
<th class="imageContainer"> |
<logic:present name="item" property="smallImage"> |
<img alt="${item.title}" src="<%=request.getContextPath()%>/imageStream/${item.smallImage.id}"> |
</logic:present> |
</th> |
<td class="textContainer"> |
<logic:empty name="item" property="url"> |
<h2> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<logic:equal value="false" name="item" property="haveAllText"> |
<h2> |
<html:link href="${item.url}">${item.title}</html:link> |
</h2> |
<p> |
<html:link href="${item.url}">${item.textSummarySmall}</html:link> |
</p> |
</logic:equal> |
<logic:equal value="true" name="item" property="haveAllText"> |
<h2> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:equal> |
</logic:notEmpty> |
</td> |
</tr></table> |
<% |
} |
centerAnnouncements++; |
} |
else if (bottomAnnouncements <= Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX) |
{ |
if (bottomAnnouncements == 1) |
{ |
} |
%> |
</tr> |
</table> |
</div> |
<% |
if(i < announcementViews.size()) |
{ |
%> |
<div id="flashBottomNews"> |
<table class="container" cellspacing="0"> |
<% |
while(i < announcementViews.size()) |
{ |
%> |
<tr> |
<% int j; |
<div id="flashBottomNews"> |
<table class="container"> |
<tr> |
<%}%> |
<td> |
<div class="imageContainer"> |
<% |
if (item.getSmallImage() != null) |
{ |
%><img alt="<%=item.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%> |
</div> |
<div class="textContainer"> |
<logic:empty name="item" property="url"> |
<h2> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<% |
if (!item.getHaveAllText()) |
{ |
%> |
<h2> |
<html:link href="${item.url}">${item.title}</html:link> |
</h2> |
<p> |
<html:link href="${item.url}">${item.textSummarySmall}</html:link> |
</p> |
<% |
for(j = i; j < announcementViews.size() && j - i < 4; j++) |
{ |
AnnouncementView announcementView = announcementViews.get(j); |
request.setAttribute("item",announcementView); |
%> |
<td class="cont"> |
<table class="flashNew" cellpadding="0" cellspacing="0"><tr> |
<th class="imageContainer"> |
<logic:present name="item" property="smallImage"> |
<img alt="${item.title}" src="<%=request.getContextPath()%>/imageStream/${item.smallImage.id}"> |
</logic:present> |
</th> |
<td class="textContainer"> |
<logic:empty name="item" property="url"> |
<h2> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:empty> |
<logic:notEmpty name="item" property="url"> |
<logic:equal value="false" name="item" property="haveAllText"> |
<h2> |
<html:link href="${item.url}">${item.title}</html:link> |
</h2> |
<p> |
<html:link href="${item.url}">${item.textSummarySmall}</html:link> |
</p> |
</logic:equal> |
<logic:equal value="true" name="item" property="haveAllText"> |
<h2> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
<p> |
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
</logic:equal> |
</logic:notEmpty> |
</td> |
</tr></table> |
<% |
} |
else |
{ |
%> |
<h2> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link> |
</h2> |
i = j; |
%> |
</td> |
</tr> |
<p> |
<html:link |
action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link> |
</p> |
<%}%> |
</logic:notEmpty> |
</div> |
</td> |
<% |
if (bottomAnnouncements == Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX) |
{ |
%> |
</tr> |
</table> |
</div> |
<% |
} |
%> |
</table> |
</div> |
<% |
} |
bottomAnnouncements++; |
} |
%> |
</logic:equal> |
</logic:iterate> |
<% |
if (bottomAnnouncements > 1 && bottomAnnouncements <= Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX) |
{ |
%> |
</div> |
<%}%> |
<% |
if (centerAnnouncements > 1 && centerAnnouncements <= Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX) |
{ |
%> |
</tr> |
</table> |
</div> |
<%}%> |
</div> |
/impl/src/web/public/courses/index.jsp |
---|
New file |
0,0 → 1,87 |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<%@ page import="pt.estgp.estgweb.web.WebProxy" %> |
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %> |
<%@ page import="java.util.List" %> |
<%@ page import="java.util.ArrayList" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.estgp.estgweb.domain.views.AnnouncementView" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<% |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{}; |
List<CourseView> courses = (List<CourseView>) sm.execute(RequestUtils.getRequester(request, response), "LoadCoursesImportYear", args, names); |
request.setAttribute("Courses", courses); |
List<CourseView> bs = new ArrayList<CourseView>(); |
List<CourseView> ls = new ArrayList<CourseView>(); |
List<CourseView> ms = new ArrayList<CourseView>(); |
List<CourseView> ps = new ArrayList<CourseView>(); |
List<CourseView> es = new ArrayList<CourseView>(); |
for (CourseView cv : courses) |
{ |
if (cv.getDegree().equals("B")) |
bs.add(cv); |
else if (cv.getDegree().equals("L")) |
ls.add(cv); |
else if (cv.getDegree().equals("M")) |
ms.add(cv); |
else if (cv.getDegree().equals("P")) |
ps.add(cv); |
else if (cv.getDegree().equals("E")) |
es.add(cv); |
} |
request.setAttribute("bs",bs); |
request.setAttribute("ls",ls); |
request.setAttribute("ms",ms); |
request.setAttribute("ps",ps); |
request.setAttribute("es",es); |
%> |
<div class="seccao" > |
<logic:notEmpty name="bs"> |
<a name="B"></a> |
<h2><bean:message key="course.Bs"/></h2> |
<% |
request.setAttribute("courses",bs); |
%> |
<jsp:include page="courseList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ls"> |
<a name="L"></a> |
<h2><bean:message key="course.Ls"/></h2> |
<% |
request.setAttribute("courses",ls); |
%> |
<jsp:include page="courseList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ms"> |
<a name="M"></a> |
<h2><bean:message key="course.Ms"/></h2> |
<% |
request.setAttribute("courses",ms); |
%> |
<jsp:include page="courseList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ps"> |
<a name="P"></a> |
<h2><bean:message key="course.Ps"/></h2> |
<% |
request.setAttribute("courses",ps); |
%> |
<jsp:include page="courseList.jsp"/> |
</logic:notEmpty> |
</div> |
/impl/src/web/public/courses/topnavCourse.jsp |
---|
6,6 → 6,7 |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace("/courses.do", "module.Courses"); |
topNav.addNavPlace(null, "course", CourseView.getName()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/courses/topnavCourses.jsp |
---|
New file |
0,0 → 1,12 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="java.util.*"%> |
<%@ page import="jomm.web.utils.NavPlace" %> |
<%@ page import="jomm.web.utils.NavPlaceServer" %> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "courses"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/public/courses/courseList.jsp |
---|
New file |
0,0 → 1,21 |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<jsp:useBean id="courses" type="java.util.List" scope="request"/> |
<div class="listClean"> |
<ul> |
<logic:iterate id="courseView" name="courses" type="pt.estgp.estgweb.domain.views.CourseView"> |
<li> |
<a href="<%=request.getContextPath() + "/startLoadCourse.do?courseView.id=" + courseView.getId()%>">${courseView.name}</a> |
<logic:notEmpty name="courseView" property="description"> |
<br/> |
${courseView.description} |
</logic:notEmpty> |
</li> |
</logic:iterate> |
</ul> |
</div> |
/impl/src/web/public/courses/course.jsp |
---|
1,8 → 1,5 |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %> |
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %> |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %> |
<%@ page import="java.util.List" %> |
<%@ page import="pt.estgp.estgweb.Globals" %> |
<%@ page import="pt.estgp.estgweb.web.WebProxy" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
13,28 → 10,29 |
<jsp:useBean id="CourseView" type="pt.estgp.estgweb.domain.views.CourseView" scope="request"/> |
<div class="seccao"> |
<h2>${CourseView.name}</h2> |
<table class="dataTable"> |
<tr> |
<th> |
Nome |
</th> |
<td> |
${CourseView.name} |
</td> |
</tr> |
</table> |
</div> |
<h2>${CourseView.name} (<%=Globals.NATIONAL_INSTITUTION_CODE%> / ${CourseView.code})</h2> |
<div class="seccao"> |
<h2>Unidades Curriculares</h2> |
<ul> |
<logic:iterate id="courseUnitView" name="CourseView" property="courseUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<li> |
${courseUnitView.name} |
</li> |
</logic:iterate> |
</ul> |
<logic:notEmpty name="CourseView" property="externalSitePath"> |
<% |
WebProxy.processHttpRequestService(out,CourseView.getExternalSiteServer(),CourseView.getExternalSitePath()); |
%> |
</logic:notEmpty> |
<logic:empty name="CourseView" property="cacheWebDocument"> |
<div class="seccao"> |
<h2>Unidades Curriculares</h2> |
<ul> |
<logic:iterate id="courseUnitView" name="CourseView" property="courseUnits" type="pt.estgp.estgweb.domain.views.CourseUnitView"> |
<li> |
${courseUnitView.name} |
</li> |
</logic:iterate> |
</ul> |
</div> |
</logic:empty> |
<logic:notEmpty name="CourseView" property="cacheWebDocument"> |
<h3><bean:message key="course.studies.plan"/></h3> |
<bean:write name="CourseView" property="cacheWebDocument" filter="no"/> |
</logic:notEmpty> |
</div> |
/impl/src/web/public/courses/courseMenuList.jsp |
---|
New file |
0,0 → 1,24 |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<jsp:useBean id="courses" type="java.util.List" scope="request"/> |
<jsp:useBean id="typeKey" type="java.lang.String" scope="request"/> |
<div class="linkMenuBlock"> |
<div class="linkMenuBlockTitle"><bean:message key="${typeKey}"/></div> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul> |
<logic:iterate id="courseView" name="courses" type="pt.estgp.estgweb.domain.views.CourseView"> |
<li> |
<html:link action="/startLoadCourse?courseView.id=${courseView.id}">${courseView.name}</html:link> |
</li> |
</logic:iterate> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/public/courses/courses.jsp |
---|
3,6 → 3,7 |
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %> |
<%@ page import="pt.estgp.estgweb.domain.views.CourseView" %> |
<%@ page import="java.util.List" %> |
<%@ page import="java.util.ArrayList" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
14,18 → 15,64 |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{}; |
List<CourseView> courseViews = (List<CourseView>) sm.execute(RequestUtils.getRequester(request, response), "LoadCourses", args, names); |
request.setAttribute("Courses", courseViews); |
List<CourseView> courses = (List<CourseView>) sm.execute(RequestUtils.getRequester(request, response), "LoadCoursesImportYear", args, names); |
request.setAttribute("Courses", courses); |
List<CourseView> bs = new ArrayList<CourseView>(); |
List<CourseView> ls = new ArrayList<CourseView>(); |
List<CourseView> ms = new ArrayList<CourseView>(); |
List<CourseView> ps = new ArrayList<CourseView>(); |
List<CourseView> es = new ArrayList<CourseView>(); |
for (CourseView cv : courses) |
{ |
if (cv.getDegree().equals("B")) |
bs.add(cv); |
else if (cv.getDegree().equals("L")) |
ls.add(cv); |
else if (cv.getDegree().equals("M")) |
ms.add(cv); |
else if (cv.getDegree().equals("P")) |
ps.add(cv); |
else if (cv.getDegree().equals("E")) |
es.add(cv); |
} |
request.setAttribute("bs", bs); |
request.setAttribute("ls", ls); |
request.setAttribute("ms", ms); |
request.setAttribute("ps", ps); |
request.setAttribute("es", es); |
%> |
<jsp:useBean id="Courses" type="java.util.List" scope="request"/> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<ul> |
<logic:iterate id="courseView" name="Courses" type="pt.estgp.estgweb.domain.views.CourseView"> |
<li> |
<html:link action="/startLoadCourse?courseView.id=${courseView.id}">${courseView.name}</html:link> |
</li> |
</logic:iterate> |
</ul> |
</div> |
</div> |
<logic:notEmpty name="bs"> |
<% |
request.setAttribute("typeKey","course.Bs"); |
request.setAttribute("courses",bs); |
%> |
<jsp:include page="courseMenuList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ls"> |
<% |
request.setAttribute("typeKey","course.Ls"); |
request.setAttribute("courses",ls); |
%> |
<jsp:include page="courseMenuList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ms"> |
<% |
request.setAttribute("typeKey","course.Ms"); |
request.setAttribute("courses",ms); |
%> |
<jsp:include page="courseMenuList.jsp"/> |
</logic:notEmpty> |
<logic:notEmpty name="ps"> |
<% |
request.setAttribute("typeKey","course.Ps"); |
request.setAttribute("courses",ps); |
%> |
<jsp:include page="courseMenuList.jsp"/> |
</logic:notEmpty> |
/impl/src/web/public/search/searchResults.jsp |
---|
15,7 → 15,7 |
var moduleResults = <%=ICommonSearchResults.getTotalResults()%>; |
var query = '<%=ICommonSearchResults.getQuery()%>'; |
var searchType = '<%=ICommonSearchResults.getSearchType()%>'; |
if (moduleResults == 0 ) |
if (moduleResults == 0 ) |
{ |
window.location = "<%=request.getContextPath()%>/noresults.do?query=" + query + "&searchType=" + searchType; |
} |
154,11 → 154,9 |
<% |
String visibility; |
if (ICommonSearchResults.getSearchResults().size() == 1) |
{ |
visibility = Globals.VISIBLE; |
} |
else |
visibility = Globals.HIDDEN; |
visibility = Globals.HIDDEN; |
%> |
<div class="module" id="<%=searchResults.getModule().getMessageKey()%>" style="<%=visibility%>"> |
<div id="${searchResults.module.messageKey}Results"> |
/impl/src/web/public/announcements/announcementsPortalLeft.jsp |
---|
21,7 → 21,7 |
IServiceManager sm = ServiceManager.getInstance(); |
String subTarget = null; |
String[] names = new String[]{}; |
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, subTarget}; |
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS + "," +Globals.ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS, subTarget}; |
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request, response), "LoadRoleTypeMaxAnnouncements", args, names); |
request.setAttribute("Announcements", announcementViews); |
/impl/src/web/public/announcements/loadAnnouncement.jsp |
---|
2,6 → 2,7 |
<%@ page import="pt.estgp.estgweb.domain.UserSessionImpl" %> |
<%@ page import="pt.estgp.estgweb.domain.enums.AnnouncementStyleEnum" %> |
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
<%@ page import="jomm.utils.MessageResources" %> |
<%@ 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" %> |
18,18 → 19,22 |
<% |
String fromAction = ""; |
String user = ""; |
if(request.getParameter("from")!=null) |
if (request.getParameter("from") != null) |
{ |
user = "/user"; |
fromAction = "From" + request.getParameter("from"); |
} |
request.setAttribute("user",user); |
request.setAttribute("fromAction",fromAction); |
request.setAttribute("user", user); |
request.setAttribute("fromAction", fromAction); |
String confirmDelete = MessageResources.getMessage(request, "announcement.confirm.delete"); |
request.setAttribute("confirmDelete", confirmDelete); |
%> |
<html:link action="${user}/startEditAnnouncement${fromAction}?id=${Announcement.id}"> |
<bean:message key="edit"/> |
</html:link> |
<html:link action="${user}/startDeleteAnnouncement${fromAction}?id=${Announcement.id}"> |
<html:link onclick="return confirm('${confirmDelete}')" action="${user}/startDeleteAnnouncement${fromAction}?id=${Announcement.id}"> |
<bean:message key="delete"/> |
</html:link> |
</baco:canManage> |
80,9 → 85,13 |
if (Announcement.getUrl() != null) |
{ |
%> |
<html:link href="${Announcement.url}">Ver +</html:link> |
>> <html:link href="${Announcement.url}">Ver +</html:link> |
<% |
}%> |
<div class="pFooter"> |
Posted by: ${Announcement.ownerUsername} AT ${Announcement.formatedSaveDate} |
</div> |
</p> |
<% |
} |
115,6 → 124,14 |
<tr> |
<td>${Announcement.formatedText}</td> |
</tr> |
<tr> |
<td> >> <html:link href="${Announcement.url}">${Announcement.url}</html:link></td> |
</tr> |
<tr> |
<td class="pFooter"> |
Posted by: ${Announcement.ownerUsername} AT ${Announcement.formatedSaveDate} |
</td> |
</tr> |
</table> |
<% |
} |
145,6 → 162,14 |
</td> |
<td>${Announcement.formatedText}</td> |
</tr> |
<tr> |
<td colspan="2"> >> <html:link href="${Announcement.url}">${Announcement.url}</html:link></td> |
</tr> |
<tr> |
<td colspan="2" class="pFooter"> |
Posted by: ${Announcement.ownerUsername} AT ${Announcement.formatedSaveDate} |
</td> |
</tr> |
</table> |
<% |
} |
175,6 → 200,14 |
</div> |
</td> |
</tr> |
<tr> |
<td colspan="2"> >> <html:link href="${Announcement.url}">${Announcement.url}</html:link></td> |
</tr> |
<tr> |
<td colspan="2" class="pFooter"> |
Posted by: ${Announcement.ownerUsername} AT ${Announcement.formatedSaveDate} |
</td> |
</tr> |
</table> |
<% |
} |
/impl/src/web/public/announcements/topnavLoadAnnouncement.jsp |
---|
New file |
0,0 → 1,11 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@ page import="jomm.web.utils.NavPlaceServer" %> |
<%@ page import="jomm.web.utils.TopNav" %> |
<jsp:useBean id="Announcement" type="pt.estgp.estgweb.domain.views.AnnouncementView" scope="request"/> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/Welcome.do", "Home"); |
topNav.addNavPlace(null, "Announcement",Announcement.getTitle()); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/templates/intranet/escola/secretaria/folhasPresencas.html |
---|
New file |
0,0 → 1,89 |
<div id="contentIntranet"><div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/legislacao.html |
---|
New file |
0,0 → 1,89 |
<div id="contentIntranet"><div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/formulariosAlunos.html |
---|
New file |
0,0 → 1,89 |
<div id="contentIntranet"><div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/calendariosExames.html |
---|
New file |
0,0 → 1,90 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/documentosApoio.html |
---|
New file |
0,0 → 1,92 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
<a href="teste/teste.html?nav0=Documentos de apoio&navUrl0=../documentosApoio.html%3Fnav0%3DDocumentos de Apoio&nav1=teste">teste</a> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/projectos.html |
---|
New file |
0,0 → 1,89 |
<div id="contentIntranet"><div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria/calendarioEscolar.html |
---|
New file |
0,0 → 1,90 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Formulários para pedidos de contratação de Pessoal Docente</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/Documentos/PropostasPessoalDocente/PropostaAdmissaoPessoalDocente-Tipounico.doc">Proposta de contratação de pessoal docente e anexo com as instruções de preenchimento [documento novo]</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Normas de Funcionamento</h2> |
<ul> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/Normas%20de%20Funcionamento%202007-2008.pdf">Normas de Funcionamento - Ano Lectivo 2007/2008</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/AcessoLaboratorio.doc">a. Formulário de autorização de acesso aos laboratórios</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/RequerimentoAulas.doc">b. Requerimento para compensação de aulas</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloProvaExame.doc">c. Modelo/cabeçalho para provas de exame</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ModeloComunicacaoInterna.doc">d. Modelo de Comunicação Interna [novo]</a> |
</li> |
<li> |
<a href="http://www.global.estgp.pt/escola/NormasFuncionamento/ActualizacaoBibliografias.doc">e. Formulário para requisição bibliográfica</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Relatórios de Auto-Avaliação</h2> |
<ul> |
<li> |
Avaliação do Curso de Engenharia Civil - <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AdendaEC2003.pdf">Adenda</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEC2003.pdf">Engenharia Civil</a> - Ano Lectivo de 2003/2004 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEEM200203.pdf">Engenharia Electromecânica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoEIQ20012002.pdf">Engenharia Industrial e da Qualidade</a> - Ano Lectivo de 2001/2002 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoGE.pdf">Gestão Estratégica</a> - Ano Lectivo de 2002/2003 |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoAA.pdf">Assessoria de Administração</a> |
</li> |
<li> |
Avaliação do Curso de <a href="http://www.global.estgp.pt/escola/Documentos/Avaliacao/AvaliacaoMKT.pdf">Marketing</a> - Ano Lectivo de 2001/2002 |
</li> |
</ul> |
</li> |
</ul> |
</div> |
<div class="listClean"> |
<ul> |
<li> |
<h2>Comissão de Assessoria e de Coordenação Técnica de Reformulação Curricular 2005/2006</h2> |
<ul> |
<li> |
2º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento2.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> |
</li> |
<li> |
1º documento de trabalho <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.pdf"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Acrobat.gif"></a> <a href="http://www.global.estgp.pt/escola/Documentos/ComissoaRC/Documento1.doc"><img border="0" width="20px" src="http://www.global.estgp.pt/imagens/IconsOfficce/Word.gif"></a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/Legislacao/EstatutosDocente/dl18581i.htm |
---|
New file |
0,0 → 1,68 |
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
<html><head> |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
<meta name="ProgId" content="FrontPage.Editor.Document"><title>Estatuto da Carreira do pessoal Docente do Ensino Superior Politécnico - Índice</title></head><body bgcolor="#ffffff"> |
<p align="center"><em><b><font color="#004080" face="Verdana" size="4">DECRETO-LEI N.º 185/81,</font></b></em></p> |
<p align="center"><font face="Verdana" size="2">de 1 de Julho</font></p> |
<p align="center"><font face="Verdana" size="2">(<font color="#0080c0">com |
as alterações introduzidas pelo Decretos-Leis n.ºs 69/88, de 3 de |
Março, 408/89, de 18 de Novembro, 245/91 de 6 de Julho, 212/97 de 16 de |
Agosto</font>)</font></p> |
<p align="center"><em><b><font color="#004080" face="Verdana" size="2">ESTATUTO DA CARREIRA DO PESSOAL DOCENTE<br> |
DO ENSINO SUPERIOR POLITÉCNICO</font></b></em></p> |
<hr> |
<p align="center"><b><font face="Verdana" size="2">ÍNDICE DE ARTIGOS</font></b></p> |
<ul> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A01">Artigo 1.º</a> - Âmbito</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A02">Artigo 2.º</a> - Categorias</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A03">Artigo 3.º</a> - Conteúdo funcional das categorias</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A04">Artigo 4.º</a> - Recrutamento de assistentes</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A05">Artigo 5.º</a> - Acesso à categoria de professor-adjunto</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A06">Artigo 6.º</a> - Acesso à categoria de professor-coordenador</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A07">Artigo 7.º</a> - Outras formas de recrutamento</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A08">Artigo 8.º</a> - Pessoal especialmente contratado</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A09">Artigo 9.º</a> - Provimento dos assistentes</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A10">Artigo 10.º</a> - Provimento dos professores-adjuntos e dos professores-coordenadores</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A11">Artigo 11.º</a> - Tramitação do processo de nomeação definitiva</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A12">Artigo 12.º</a> - Provimento do pessoal especialmente contratado</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A13">Artigo 13.º</a> - Provimento por urgente conveniência de serviço</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A14">Artigo 14.º</a> - Denúncia e rescisão contratual</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A15">Artigo 15.º</a> - Concursos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A16">Artigo 16.º</a> - Conteúdo dos editais dos concursos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A17">Artigo 17.º</a> - Candidatos aos concursos documentais para recrutamento de professores-adjuntos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A18">Artigo 18.º</a> - Candidatos aos concursos de provas públicas para professores-adjuntos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A19">Artigo 19.º</a> - Candidatos aos concursos de provas públicas para professores-coordenadores</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A20">Artigo 20.º</a> - Requerimento de admissão</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A21">Artigo 21.º</a> - Júris dos concursos documentais para recrutamento de assistentes e professores-adjuntos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A22">Artigo 22.º</a> - Júri do concurso de provas públicas para professor-adjunto</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A23">Artigo 23.º</a> - Júri dos concursos de provas públicas para professor-coordenador</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A24">Artigo 24.º</a> - Impedimento na constituição dos júris</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A25">Artigo 25.º</a> - Provas públicas para professor-adjunto</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A26">Artigo 26.º</a> - Provas públicas para professor-coordenador</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A27">Artigo 27.º</a> - Regime de prestação de provas</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A28">Artigo 28.º</a> - Apreciação das provas</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A29">Artigo 29.º</a> - lrrecorribilidade</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A30">Artigo 30.º</a> - Quadros</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A31">Artigo 31.º</a> - Liberdade de orientação e opinião científica</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A32">Artigo 32.º</a> - Programas das disciplinas</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A33">Artigo 33.º</a> - Sumários</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A34">Artigo 34.º</a> - Regime de prestação de serviço</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A35">Artigo 35.º</a> - Vencimento e remunerações</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A36">Artigo 36.º</a> - Dispensa de serviço docente</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A37">Artigo 37.º</a> - Formação e orientação dos assistentes</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A38">Artigo 38.º</a> - Distribuição de serviço docente</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A39">Artigo 39.º</a> - Serviço docente nocturno</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A40">Artigo 40.º</a> - Serviço em instituição diferente</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A41">Artigo 41.º</a> - Serviço prestado em outras funções públicas</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A42">Artigo 42.º</a> - Serviço prestado por docentes aposentados</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A43">Artigo 43.º</a> - Mobilidade de efectivos</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A44">Artigo 44.º</a> - Antiguidade e precedência</font></li> |
<li><font face="Verdana" size="1"><a href="http://www.global.estgp.pt/escola/Legislacao/EstatutosDocente/dl18581.htm#A45">Artigo 45.º</a> - Dúvidas</font></li> |
</ul> |
</body></html> |
/impl/src/web/templates/intranet/escola/utils.html |
---|
New file |
0,0 → 1,33 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2> |
Estrutura Organizativa |
</h2> |
<p>Documentação sobre a organização interna da ESTG, superintendida pelos órgãos da Escola. Constituição e estatutos da Assembleia de Representantes e dos Conselhos Directivo, Cientifico e Pedagógico.</p> |
</li> |
<li> |
<h2> |
Secretaria |
</h2> |
<p>Documentação de apoio ao funcionamento das várias etapas do ano lectivo.</p> |
</li> |
<li> |
<h2> |
Ensino |
</h2> |
<p>Documentação directamente relacionada com a estrutura curricular dos cursos em funcionamento.</p> |
</li> |
<li> |
<h2> |
Horários |
</h2> |
<p>Disponibilização dos horários das turmas, dos docentes e das salas e laboratórios. O objectivo principal da colocação ONLINE dos horários é funcionar como ferramenta de apoio ao planeamento das várias actividades no decorrer do ano lectivo, tanto para alunos como docentes.</p> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/bolonha.html |
---|
New file |
0,0 → 1,33 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2> |
Estrutura Organizativa |
</h2> |
<p>Documentação sobre a organização interna da ESTG, superintendida pelos órgãos da Escola. Constituição e estatutos da Assembleia de Representantes e dos Conselhos Directivo, Cientifico e Pedagógico.</p> |
</li> |
<li> |
<h2> |
Secretaria |
</h2> |
<p>Documentação de apoio ao funcionamento das várias etapas do ano lectivo.</p> |
</li> |
<li> |
<h2> |
Ensino |
</h2> |
<p>Documentação directamente relacionada com a estrutura curricular dos cursos em funcionamento.</p> |
</li> |
<li> |
<h2> |
Horários |
</h2> |
<p>Disponibilização dos horários das turmas, dos docentes e das salas e laboratórios. O objectivo principal da colocação ONLINE dos horários é funcionar como ferramenta de apoio ao planeamento das várias actividades no decorrer do ano lectivo, tanto para alunos como docentes.</p> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/secretaria.html |
---|
New file |
0,0 → 1,28 |
<div id="contentIntranet"> |
<div class="seccao"> |
<h2>Secretaria - conteúdos disponíveis</h2> |
<div class="listDecimal"> |
<ul> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineConfigurable/ionline/?startPath=/Intranet/Escola/Secretaria/CalEscolar&nav0=Calendario%20Escolar">Calendário Escolar</a></li> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineConfigurable/ionline/?startPath=/Intranet/Escola/Secretaria/CalExames&nav0=Calendários Exames">Calendários de Exames</a></li> |
<li><a href="../../../../layoutIntranetUtilsSecretariaConfigurable/estgp/intranet/escola/secretaria/documentosApoio.html?nav0=Documentos de apoio">Documentos de apoio</a> <label class="info">Normas de funcionamento, Relatórios de auto-avaliação</label></li> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineConfigurable/ionline/?startPath=/Intranet/Escola/Secretaria/Forms.Alunos&nav0=Formulários [alunos]">Formulários [alunos]</a> <label class="info">Formulários para requisição de documentos na Secretaria</label></li> |
<li><a href="../../../../layoutIntranetUtilsSecretariaConfigurable/estgp/intranet/secretaria/legislacao.html?nav0=Legislação">Legislação</a></li> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineConfigurable/ionline/?startPath=/Intranet/Escola/Secretaria/Folhas.Presencas&nav0=Folhas de Presenças">Folhas de Presenças</a></li> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineConfigurable/ionline/?startPath=/Intranet/Escola/Secretaria/Projectos.Finais&nav0=Projectos-AA,CA,GE,MKT">Projectos-AA,CA,GE,MKT</a></li> |
<li><a href="../../../../../startpathproxy/utilsLayoutIOnlineActas/ionline/?startPath=/Actas/Arquivo">Actas</a> <label class="info">Acesso restricto ao seus membros</label></li> |
<li>Estágios |
<div class="listSquare"> |
<ul> |
<li><a href="http://www.global.estgp.pt/avisos/BASE%20GERAL.xls">Base de Dados de Empresas onde podes solicitar o teu estágio</a></li> |
<li><a href="http://www.global.estgp.pt/escola/Secretaria/CalendarizacaoActividadesEstagios.pdf">Calendarizacao de Actividades para Estagios</a></li> |
<li><a href="http://www.global.estgp.pt/avisos/Calend%E1rio%20estagios%2007%2008.pdf">Calendário de Estágios do Corrente ano lectivo</a></li> |
<li><a href="http://www.global.estgp.pt/escola/Secretaria/Modelo%20de%20Proposta.doc">Modelo de Proposta</a></li> |
</ul> |
</div> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/horarios.html |
---|
New file |
0,0 → 1,33 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2> |
Estrutura Organizativa |
</h2> |
<p>Documentação sobre a organização interna da ESTG, superintendida pelos órgãos da Escola. Constituição e estatutos da Assembleia de Representantes e dos Conselhos Directivo, Cientifico e Pedagógico.</p> |
</li> |
<li> |
<h2> |
Secretaria |
</h2> |
<p>Documentação de apoio ao funcionamento das várias etapas do ano lectivo.</p> |
</li> |
<li> |
<h2> |
Ensino |
</h2> |
<p>Documentação directamente relacionada com a estrutura curricular dos cursos em funcionamento.</p> |
</li> |
<li> |
<h2> |
Horários |
</h2> |
<p>Disponibilização dos horários das turmas, dos docentes e das salas e laboratórios. O objectivo principal da colocação ONLINE dos horários é funcionar como ferramenta de apoio ao planeamento das várias actividades no decorrer do ano lectivo, tanto para alunos como docentes.</p> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/org.html |
---|
New file |
0,0 → 1,33 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2> |
Estrutura Organizativa |
</h2> |
<p>Documentação sobre a organização interna da ESTG, superintendida pelos órgãos da Escola. Constituição e estatutos da Assembleia de Representantes e dos Conselhos Directivo, Cientifico e Pedagógico.</p> |
</li> |
<li> |
<h2> |
Secretaria |
</h2> |
<p>Documentação de apoio ao funcionamento das várias etapas do ano lectivo.</p> |
</li> |
<li> |
<h2> |
Ensino |
</h2> |
<p>Documentação directamente relacionada com a estrutura curricular dos cursos em funcionamento.</p> |
</li> |
<li> |
<h2> |
Horários |
</h2> |
<p>Disponibilização dos horários das turmas, dos docentes e das salas e laboratórios. O objectivo principal da colocação ONLINE dos horários é funcionar como ferramenta de apoio ao planeamento das várias actividades no decorrer do ano lectivo, tanto para alunos como docentes.</p> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/intranet/escola/ensino.html |
---|
New file |
0,0 → 1,33 |
<div id="contentIntranet"> |
<div class="seccao"> |
<div class="listClean"> |
<ul> |
<li> |
<h2> |
Estrutura Organizativa |
</h2> |
<p>Documentação sobre a organização interna da ESTG, superintendida pelos órgãos da Escola. Constituição e estatutos da Assembleia de Representantes e dos Conselhos Directivo, Cientifico e Pedagógico.</p> |
</li> |
<li> |
<h2> |
Secretaria |
</h2> |
<p>Documentação de apoio ao funcionamento das várias etapas do ano lectivo.</p> |
</li> |
<li> |
<h2> |
Ensino |
</h2> |
<p>Documentação directamente relacionada com a estrutura curricular dos cursos em funcionamento.</p> |
</li> |
<li> |
<h2> |
Horários |
</h2> |
<p>Disponibilização dos horários das turmas, dos docentes e das salas e laboratórios. O objectivo principal da colocação ONLINE dos horários é funcionar como ferramenta de apoio ao planeamento das várias actividades no decorrer do ano lectivo, tanto para alunos como docentes.</p> |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/public/areas/areaCE.html |
---|
New file |
0,0 → 1,5 |
<div class="seccao"> |
Area de CE teste |
</div> |
/impl/src/web/templates/public/areas/areaCH.html |
---|
New file |
0,0 → 1,4 |
<div class="seccao"> |
Area de CH teste |
</div> |
/impl/src/web/templates/public/areas/areaDG.html |
---|
New file |
0,0 → 1,4 |
<div class="seccao"> |
Area de DG teste |
</div> |
/impl/src/web/templates/public/areas/areaEG.html |
---|
New file |
0,0 → 1,4 |
<div class="seccao"> |
Area de EG teste |
</div> |
/impl/src/web/templates/public/areas/areas.html |
---|
New file |
0,0 → 1,94 |
<div class="seccao"> |
<p> |
As áreas científicas são compostas pelos Docentes que leccionam disciplinas integradas nas áreas de Ciências Empresariais, Ciências Humanas, Design e Engenharia, respectivamente. Cada área tem, como órgão único de gestão científico-pedagógica, o Conselho de Área. Este é presidido pelo coordenador de área e constituído por todos os Docentes que nela prestam serviço. |
</p> |
<div class="seccao"> |
<h3><a href="../../../../areaEG/estgp/public/areas/areaEG.html">Engenharia</a></h3> |
<div class="listClean"> |
<ul> |
<li> |
<b>Coordenador:</b> Paulo Sérgio Duque Brito |
</li> |
<li> |
<b>Gabinete:</b> 3.05 |
</li> |
<li> |
<b>Telefone:</b> 245 300 200; Ext.187 |
</li> |
<li> |
<b>Fax:</b> 245 300 230 |
</li> |
<li> |
<b>eMail</b> pbrito [AT] estgp [DOT] pt |
</li> |
</ul> |
</div> |
</div> |
<div class="seccao"> |
<h3><a href="../../../../areaCE/estgp/public/areas/areaCE.html">Ciências Empresariais</a></h3> |
<div class="listClean"> |
<ul> |
<li> |
<b>Coordenador:</b> António José Vieira de Azevedo Coutinho |
</li> |
<li> |
<b>Gabinete:</b> 3.06 |
</li> |
<li> |
<b>Telefone:</b> 245 300 200; Ext.186 |
</li> |
<li> |
<b>Fax:</b> 245 300 230 |
</li> |
<li> |
<b>eMail</b> azeco [AT] estgp [DOT] pt |
</li> |
</ul> |
</div> |
</div> |
<div class="seccao"> |
<h3><a href="../../../../areaCH/estgp/public/areas/areaCH.html">Ciências Humanas</a></h3> |
<div class="listClean"> |
<ul> |
<li> |
<b>Coordenador:</b> Maria Helena Serras Reis Freire Camero |
</li> |
<li> |
<b>Gabinete:</b> 3.09 |
</li> |
<li> |
<b>Telefone:</b> 245 300 200; Ext.183 |
</li> |
<li> |
<b>Fax:</b> 245 300 230 |
</li> |
<li> |
<b>eMail</b> helenac [AT] estgp [DOT] pt |
</li> |
</ul> |
</div> |
</div> |
<div class="seccao"> |
<h3><a href="../../../../areaDG/estgp/public/areas/areaDG.html">Design</a></h3> |
<div class="listClean"> |
<ul> |
<li> |
<b>Coordenador:</b> Arsénio da Gama Vieira |
</li> |
<li> |
<b>Gabinete:</b> 3.16 |
</li> |
<li> |
<b>Telefone:</b> 245 300 200; Ext. 162 |
</li> |
<li> |
<b>Fax:</b> 245 300 230 |
</li> |
<li> |
<b>eMail</b> arsenio [AT] estgp [DOT] pt |
</li> |
</ul> |
</div> |
</div> |
</div> |
/impl/src/web/templates/public/cursos/curso_AA.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de AA |
</div> |
/impl/src/web/templates/public/cursos/curso_DAM.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de DAM |
</div> |
/impl/src/web/templates/public/cursos/curso_EGI.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de EGI |
</div> |
/impl/src/web/templates/public/cursos/curso_DC.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de DC |
</div> |
/impl/src/web/templates/public/cursos/curso_EC.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de EC |
</div> |
/impl/src/web/templates/public/cursos/curso_APM.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de APM |
</div> |
/impl/src/web/templates/public/cursos/curso_EI.html |
---|
New file |
0,0 → 1,3 |
<div class="seccao"> |
Teste para o curso de EI |
</div> |
/impl/src/web/user/utils/utils.jsp |
---|
File deleted |
\ No newline at end of file |
/impl/src/web/user/utils/menu.jsp |
---|
11,19 → 11,19 |
<div class="listClean"> |
<ul> |
<li> |
<a href="/proxy/layoutIntranetUtils/estgp/intranet/index.html">Estrutura Organizativa</a> |
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetUtilsOrg/estgp/intranet/escola/org.html"><bean:message key="intranet.utils.org"/></a> |
</li> |
<li> |
<a href="/proxy/layoutIntranetUtils/estgp/intranet/index.html">Secretaria</a> |
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetUtilsSecretaria/estgp/intranet/escola/secretaria.html"><bean:message key="intranet.utils.services"/></a> |
</li> |
<li> |
<a href="/proxy/layoutIntranetUtils/estgp/intranet/index.html">Ensino</a> |
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetUtilsEnsino/estgp/intranet/escola/ensino.html"><bean:message key="intranet.utils.teaching"/></a> |
</li> |
<li> |
<a href="/proxy/layoutIntranetUtils/estgp/intranet/index.html">Horários</a> |
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetUtilsHorarios/estgp/intranet/escola/horarios.html"><bean:message key="intranet.utils.schedules"/></a> |
</li> |
<li> |
<a href="/proxy/layoutIntranetUtils/estgp/intranet/index.html">Declaração de Bolonha</a> |
<a href="<%=request.getContextPath()%>/proxy/layoutIntranetUtilsBolonha/estgp/intranet/escola/bolonha.html"><bean:message key="intranet.utils.bolonha"/></a> |
</li> |
</ul> |
</div> |
/impl/src/web/user/utils/topnavSecretariaActas.jsp |
---|
New file |
0,0 → 1,11 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace("/proxy/layoutIntranetUtilsSecretaria/estgp/intranet/escola/secretaria.html", "intranet.utils.services"); |
topNav.addNavPlace(null, "intranet.utils.actas"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/ftpClient.jsp |
---|
New file |
0,0 → 1,11 |
<%-- |
Created by IntelliJ IDEA. |
User: Jorge |
Date: 9/Jul/2008 |
Time: 16:52:37 |
To change this template use File | Settings | File Templates. |
--%> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<div id="contentIntranet"> |
<jsp:include page="/user/ftpclient/ftpclient.jsp"/> |
</div> |
/impl/src/web/user/utils/topnavSecretariaIonlineConfigurable.jsp |
---|
New file |
0,0 → 1,34 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
String conflevel0 = request.getParameter("nav0"); |
String conflevel1 = request.getParameter("nav1"); |
String conflevel2 = request.getParameter("nav2"); |
String conflevel3 = request.getParameter("nav3"); |
String confurl0 = request.getParameter("navUrl0"); |
String confurl1 = request.getParameter("navUrl1"); |
String confurl2 = request.getParameter("navUrl2"); |
String confurl3 = request.getParameter("navUrl3"); |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace("/proxy/layoutIntranetUtilsSecretaria/estgp/intranet/escola/secretaria.html", "intranet.utils.services"); |
if(conflevel0 != null) |
{ |
topNav.addNavPlace(confurl0, conflevel0); |
if(conflevel1 != null) |
{ |
topNav.addNavPlace(confurl1, conflevel1); |
if(conflevel2 != null) |
{ |
topNav.addNavPlace(confurl2, conflevel2); |
if(conflevel3 != null) |
{ |
topNav.addNavPlace(confurl3, conflevel3); |
} |
} |
} |
} |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavBolonha.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace(null, "intranet.utils.bolonha"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavSecretaria.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace(null, "intranet.utils.services"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavSecretariaConfigurable.jsp |
---|
New file |
0,0 → 1,34 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
String conflevel0 = request.getParameter("nav0"); |
String conflevel1 = request.getParameter("nav1"); |
String conflevel2 = request.getParameter("nav2"); |
String conflevel3 = request.getParameter("nav3"); |
String confurl0 = request.getParameter("navUrl0"); |
String confurl1 = request.getParameter("navUrl1"); |
String confurl2 = request.getParameter("navUrl2"); |
String confurl3 = request.getParameter("navUrl3"); |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace("/proxy/layoutIntranetUtilsSecretaria/estgp/intranet/escola/secretaria.html", "intranet.utils.services"); |
if(conflevel0 != null) |
{ |
topNav.addNavPlace(confurl0, conflevel0); |
if(conflevel1 != null) |
{ |
topNav.addNavPlace(confurl1, conflevel1); |
if(conflevel2 != null) |
{ |
topNav.addNavPlace(confurl2, conflevel2); |
if(conflevel3 != null) |
{ |
topNav.addNavPlace(confurl3, conflevel3); |
} |
} |
} |
} |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavHorarios.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace(null, "intranet.utils.schedules"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavOrg.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace(null, "intranet.utils.org"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/utils/topnavEnsino.jsp |
---|
New file |
0,0 → 1,10 |
<%@page contentType="text/html"%> |
<%@page pageEncoding="UTF-8"%> |
<%@page import="jomm.web.utils.NavPlaceServer"%> |
<%@ page import="jomm.web.utils.TopNav" %> |
<% |
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request); |
topNav.addNavPlace("/proxy/layoutIntranetUtils/estgp/intranet/escola/utils.html", "intranet.separator.utils.back"); |
topNav.addNavPlace(null, "intranet.utils.teaching"); |
%> |
<jsp:include page="/layout/topnav.jsp"/> |
/impl/src/web/user/courseunits/courseunitworks.jsp |
---|
83,7 → 83,7 |
<bean:message key="courseunit.description"/> |
</th> |
<td> |
<html:textarea styleClass="textarea" property="courseUnitAssignementView.description"/> |
<html:textarea styleClass="textarea" property="courseUnitAssignementView.formatedDescription"/> |
</td> |
</tr> |
<tr> |
/impl/src/web/user/courseunits/courseunit.jsp |
---|
85,7 → 85,7 |
<html:link action="${user}/startLoadTeacherCourseUnit${fromAction}?code=${teacher.code}&courseUnitView.id=${CourseUnitView.id}">${teacher.name}</html:link> |
</td> |
<td> |
${teacher.email} |
${teacher.safeEmail} |
</td> |
</tr> |
</logic:iterate> |
102,7 → 102,7 |
<logic:iterate id="announcement" name="CourseUnitView" property="announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView"> |
<li> |
<h3><html:link action="/user/startLoadAnnouncementFromCourseUnit?id=${announcement.id}">${announcement.title}</html:link></h3> |
<p>${announcement.text}</p> |
<p>${announcement.formatedText}</p> |
<p class="pFooterSeccao"><bean:message key="from"/>: ${announcement.owner.name} (${announcement.owner.username}) <bean:message key="at"/> ${announcement.formatedSaveDate} </p> |
</li> |
</logic:iterate> |
/impl/src/web/user/courseunits/menu.jsp |
---|
49,9 → 49,9 |
<li> |
<html:link action="/user/startSubmitAnnouncementFromCourseUnit?announcementView.courseUnitView.id=${CourseUnitView.id}"><bean:message key="courseunit.menu.put.announcement"/></html:link> |
</li> |
<li> |
<!--<li> |
<a href="<%=request.getContextPath()%>/"><bean:message key="courseunit.menu.put.question"/></a> |
</li> |
</li>--> |
<li> |
<a href="<%=request.getContextPath()%>${user}/startLoadCourseUnitWorks${fromAction}.do?courseUnitView.id=${CourseUnitView.id}"><bean:message key="courseunit.menu.assignements"/></a> |
</li> |
/impl/src/web/user/courseunits/students.jsp |
---|
44,7 → 44,7 |
${student.username} |
</td> |
<td> |
${student.email} |
${student.safeEmail} |
</td> |
</tr> |
</logic:iterate> |
/impl/src/web/user/home.jsp |
---|
4,6 → 4,7 |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/baco.tld" prefix="baco" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<jomm:messages/> |
<html:errors/> |
11,7 → 12,8 |
<table width="100%" cellpadding="0" cellspacing="0"> |
<tr> |
<td id="leftPage"> |
<jsp:include page="/public/announcements/announcementsPortalLeft.jsp?role=student&from=Home"/> |
<jsp:include page="/public/announcements/announcementsPortalLeft.jsp?role=${UserSession.user.roles}&from=Home"/> |
</td> |
<td class="contentPortal"> |
<jsp:include page="/user/home/student.jsp"/> |
22,7 → 24,7 |
<%--</table>--%> |
</td> |
<td id="rightPagePortal"> |
<jsp:include page="/public/announcements/announcementsPortalRight.jsp?role=student&from=Home"/> |
<jsp:include page="/public/announcements/announcementsPortalRight.jsp?role=${UserSession.user.roles}&from=Home"/> |
</td> |
</tr> |
</table> |
31,7 → 33,7 |
<table> |
<tr> |
<td id="leftPage"> |
<jsp:include page="/public/announcements/announcementsPortalLeft.jsp?role=teacher&from=Home"/> |
<jsp:include page="/public/announcements/announcementsPortalLeft.jsp?role=${UserSession.user.roles}&from=Home"/> |
</td> |
<td class="contentPortal"> |
<jsp:include page="/user/home/teacher.jsp"/> |
42,7 → 44,7 |
<%--</table>--%> |
</td> |
<td id="rightPagePortal"> |
<jsp:include page="/public/announcements/announcementsPortalRight.jsp?role=teacher&from=Home"/> |
<jsp:include page="/public/announcements/announcementsPortalRight.jsp?role=${UserSession.user.roles}&from=Home"/> |
</td> |
</tr> |
</table> |
/impl/src/web/user/home/student.jsp |
---|
8,24 → 8,62 |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<div class="portal"> |
<ul> |
<li class="WARNING"> |
<logic:notMatch value="StudentImpl" name="UserSession" property="user.class.name"> |
<bean:message key="profile.bad.profile.student.iregular.user.class"/> |
</logic:notMatch> |
</li> |
</ul> |
<table class="columnTable" width="100%"> |
<tbody> |
<tr> |
<baco:isModuleOn module="courseunits"> |
<td class="column"> |
<div class="block"> |
<p><bean:message key="intranet.course.units"/></p> |
<ul> |
<logic:present name="UserSession" property="user.subscribedUnitsView"> |
<logic:notEmpty name="UserSession" property="user.subscribedUnitsView"> |
<logic:iterate id="unit" name="UserSession" property="user.subscribedUnitsView" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name}</html:link> |
</li> |
</logic:iterate> |
</logic:notEmpty> |
</logic:present> |
<li> |
<p><bean:message key="courseunit.semestre"/> 1</p> |
<logic:present name="UserSession" property="user.subscribedUnitsCurrentYearViewS1"> |
<logic:empty name="UserSession" property="user.subscribedUnitsCurrentYearViewS1"> |
<bean:message key="courseunit.zero.units"/> |
</logic:empty> |
</logic:present> |
<logic:present name="UserSession" property="user.subscribedUnitsCurrentYearViewS1"> |
<logic:notEmpty name="UserSession" property="user.subscribedUnitsCurrentYearViewS1"> |
<ul> |
<logic:iterate id="unit" name="UserSession" property="user.subscribedUnitsCurrentYearViewS1" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.importYear})</html:link> |
</li> |
</logic:iterate> |
</ul> |
</logic:notEmpty> |
</logic:present> |
</li> |
<li> |
<p><bean:message key="courseunit.semestre"/> 2</p> |
<logic:present name="UserSession" property="user.subscribedUnitsCurrentYearViewS2"> |
<logic:empty name="UserSession" property="user.subscribedUnitsCurrentYearViewS2"> |
<bean:message key="courseunit.zero.units"/> |
</logic:empty> |
</logic:present> |
<logic:present name="UserSession" property="user.subscribedUnitsCurrentYearViewS2"> |
<logic:notEmpty name="UserSession" property="user.subscribedUnitsCurrentYearViewS2"> |
<ul> |
<logic:iterate id="unit" name="UserSession" property="user.subscribedUnitsCurrentYearViewS2" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.importYear})</html:link> |
</li> |
</logic:iterate> |
</ul> |
</logic:notEmpty> |
</logic:present> |
</li> |
</ul> |
<!--Can put year all other units in the future calling service user.subscribedUnitsOldYearsView--> |
</div> |
</td> |
</baco:isModuleOn> |
/impl/src/web/user/home/teacher.jsp |
---|
8,6 → 8,13 |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/> |
<div class="portal"> |
<ul> |
<li class="WARNING"> |
<logic:notMatch value="TeacherImpl" name="UserSession" property="user.class.name"> |
<bean:message key="profile.bad.profile.teacher.iregular.user.class"/> |
</logic:notMatch> |
</li> |
</ul> |
<table class="columnTable" width="100%"> |
<tbody> |
<tr> |
16,17 → 23,45 |
<div class="block"> |
<p><bean:message key="intranet.course.units"/></p> |
<ul> |
<logic:present name="UserSession" property="user.teachedUnitsView"> |
<logic:notEmpty name="UserSession" property="user.teachedUnitsView"> |
<logic:iterate id="unit" name="UserSession" property="user.teachedUnitsView" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName})</html:link> |
</li> |
</logic:iterate> |
</logic:notEmpty> |
</logic:present> |
<li> |
<p><bean:message key="courseunit.semestre"/> 1</p> |
<logic:present name="UserSession" property="user.teachedUnitsCurrentYearViewS1"> |
<logic:empty name="UserSession" property="user.teachedUnitsCurrentYearViewS1"> |
<bean:message key="courseunit.zero.units"/> |
</logic:empty> |
</logic:present> |
<logic:present name="UserSession" property="user.teachedUnitsCurrentYearViewS1"> |
<logic:notEmpty name="UserSession" property="user.teachedUnitsCurrentYearViewS1"> |
<ul> |
<logic:iterate id="unit" name="UserSession" property="user.teachedUnitsCurrentYearViewS1" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name}</html:link> |
</li> |
</logic:iterate> |
</ul> |
</logic:notEmpty> |
</logic:present> |
</li> |
<li> |
<p><bean:message key="courseunit.semestre"/> 2</p> |
<logic:present name="UserSession" property="user.teachedUnitsCurrentYearViewS2"> |
<logic:empty name="UserSession" property="user.teachedUnitsCurrentYearViewS2"> |
<bean:message key="courseunit.zero.units"/> |
</logic:empty> |
</logic:present> |
<logic:present name="UserSession" property="user.teachedUnitsCurrentYearViewS2"> |
<logic:notEmpty name="UserSession" property="user.teachedUnitsCurrentYearViewS2"> |
<ul> |
<logic:iterate id="unit" name="UserSession" property="user.teachedUnitsCurrentYearViewS2" type="pt.estgp.estgweb.domain.CourseUnit"> |
<li> |
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name}</html:link> |
</li> |
</logic:iterate> |
</ul> |
</logic:notEmpty> |
</logic:present> |
</li> |
</ul> |
</div> |
</td> |
</baco:isModuleOn> |
/impl/src/web/user/serviceZone/serviceZone.jsp |
---|
85,8 → 85,9 |
</baco:hasRole> |
</baco:isModuleOn> |
<li> |
<baco:isAdmin> |
<baco:isAdmin> |
<li> |
<bean:message key="users"/> |
<ul> |
<li> |
112,11 → 113,12 |
</li> |
</baco:isModuleOn> |
</ul> |
</baco:isAdmin> |
</li> |
</li> |
</baco:isAdmin> |
<baco:isModuleOn module="courseunits"> |
<li> |
<baco:isAdmin> |
<baco:isAdmin> |
<li> |
<bean:message key="courses"/> |
<ul> |
<li> |
139,8 → 141,16 |
<bean:message key="courseunit.search"/> |
</html:link> |
</li> |
<%--<li>--%> |
<%--<html:link action="/user/startFindCourseUnitAdminFromServiceZone">--%> |
<%--<bean:message key="courseunit.program.archive"/>--%> |
<%--</html:link>--%> |
<%--</li>--%> |
</ul> |
</baco:isAdmin> |
</li> |
</baco:isAdmin> |
<li> |
<bean:message key="backups"/> |
<ul> |
<baco:isAdmin> |
162,7 → 172,6 |
</html:link> |
</li> |
</baco:hasRole> |
</ul> |
</li> |
</baco:isModuleOn> |
/impl/src/xsd/curso.xsl |
---|
New file |
0,0 → 1,168 |
<?xml version="1.0" encoding="UTF-8"?> |
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:curso="http://www.estgp.pt/xsd/planoestudos/1.0/"> |
<xsl:template match="/"> |
<html> |
<head> |
<title></title> |
<meta content="UTF-8" http-equiv="encoding"></meta> |
<style type="text/css"> |
body *, .contentPortal, .contentPortal p, .contentPortal li, div |
{ |
font-family: "bitstream vera sans",Verdana,Arial,Helvetica,sans-serif; |
font-size: 11px; |
} |
.planoCurricular td, .planoCurricular th |
{ |
font-family: "bitstream vera sans",Verdana,Arial,Helvetica,sans-serif; |
} |
.planoCurricular |
{ |
border:1px solid black; |
} |
.planoCurricular th |
{ |
font-weight:normal; |
border:1px solid black; |
} |
.planoCurricular td.unidade |
{ |
text-align:right; |
} |
td.unidade span |
{ |
width:100%; |
} |
.semestre |
{ |
background-color:#8ec73f; |
} |
.semestreHead |
{ |
background-color:#8ec73f; |
} |
.perfilNome, .perfilHead |
{ |
background-color:#D6D6D6 |
} |
.ects |
{ |
background-color:#EBFCD6; |
} |
</style> |
</head> |
<body> |
<xsl:call-template name="fragmentoCurso"/> |
</body> |
</html> |
</xsl:template> |
<xsl:template name="fragmentoCurso"> |
<div class="seccao"> |
<table class="planoCurricular"> |
<xsl:for-each select="//curso:semestre"> |
<tr> |
<th class="semestre"> |
<xsl:if test="./curso:perfil"> |
<xsl:attribute name="colspan"><xsl:value-of select="count(distinct-values(//curso:horasContacto/*/name())) + 3"/></xsl:attribute> |
</xsl:if> |
<xsl:choose> |
<xsl:when test="@id = 'S1'">1º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S2'">1º ano 2º semestre</xsl:when> |
<xsl:when test="@id = 'S3'">2º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S4'">2º ano 2º semestre</xsl:when> |
<xsl:when test="@id = 'S5'">3º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S6'">3º ano 2º semestre</xsl:when> |
<xsl:when test="@id = 'S7'">4º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S8'">4º ano 2º semestre</xsl:when> |
<xsl:when test="@id = 'S9'">5º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S10'">5º ano 2º semestre</xsl:when> |
<xsl:when test="@id = 'S11'">6º ano 1º semestre</xsl:when> |
<xsl:when test="@id = 'S12'">6º ano 2º semestre</xsl:when> |
<xsl:otherwise><xsl:value-of select="@id"/></xsl:otherwise> |
</xsl:choose> |
</th> |
<xsl:if test="not(./curso:perfil)"> |
<th class="semestreHead">total</th> |
<xsl:if test="//curso:T"><th class="semestreHead">T</th></xsl:if> |
<xsl:if test="//curso:TP"><th class="semestreHead">TP</th></xsl:if> |
<xsl:if test="//curso:P"><th class="semestreHead">P</th></xsl:if> |
<xsl:if test="//curso:PL"><th class="semestreHead">PL</th></xsl:if> |
<xsl:if test="//curso:PD"><th class="semestreHead">PD</th></xsl:if> |
<xsl:if test="//curso:OT"><th class="semestreHead">OT</th></xsl:if> |
<xsl:if test="//curso:E"><th class="semestreHead">E</th></xsl:if> |
<xsl:if test="//curso:S"><th class="semestreHead">S</th></xsl:if> |
<xsl:if test="//curso:TC"><th class="semestreHead">TC</th></xsl:if> |
<xsl:if test="//curso:O"><th class="semestreHead">O</th></xsl:if> |
<th class="semestreHead ectsHead">ECTS</th> |
</xsl:if> |
</tr> |
<xsl:choose> |
<xsl:when test="./curso:perfil"> |
<xsl:apply-templates select="./curso:perfil" /> |
</xsl:when> |
<xsl:otherwise> |
<xsl:apply-templates select="./curso:unidade" /> |
</xsl:otherwise> |
</xsl:choose> |
</xsl:for-each> |
</table> |
</div> |
</xsl:template> |
<xsl:template match="curso:perfil"> |
<tr> |
<th class="perfilNome"> |
<xsl:value-of select="@nome"/> |
</th> |
<th class="perfilHead">total</th> |
<xsl:if test="//curso:T"><th class="perfilHead">T</th></xsl:if> |
<xsl:if test="//curso:TP"><th class="perfilHead">TP</th></xsl:if> |
<xsl:if test="//curso:P"><th class="perfilHead">P</th></xsl:if> |
<xsl:if test="//curso:PL"><th class="perfilHead">PL</th></xsl:if> |
<xsl:if test="//curso:PD"><th class="perfilHead">PD</th></xsl:if> |
<xsl:if test="//curso:OT"><th class="perfilHead">OT</th></xsl:if> |
<xsl:if test="//curso:E"><th class="perfilHead">E</th></xsl:if> |
<xsl:if test="//curso:S"><th class="perfilHead">S</th></xsl:if> |
<xsl:if test="//curso:TC"><th class="perfilHead">TC</th></xsl:if> |
<xsl:if test="//curso:O"><th class="perfilHead">O</th></xsl:if> |
<th class="perfilHead ectsHead">ECTS</th> |
<xsl:apply-templates select="./curso:unidade" mode="perfil"/> |
</tr> |
</xsl:template> |
<xsl:template match="curso:unidade" mode="perfil"> |
<tr> |
<td class="perfil unidadeNome"><span><xsl:value-of select="./curso:nome"/></span></td> |
<td class="perfil unidade"><span><xsl:value-of select="./curso:totalHoras"/></span></td> |
<xsl:if test="//curso:T"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:T"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:T"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:TP"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:TP"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:TP"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:P"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:P"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:P"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:PL"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:PL"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:PL"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:PD"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:PD"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:PD"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:OT"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:OT"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:OT"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:E"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:E"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:E"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:S"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:S"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:S"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:TC"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:TC"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:TC"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:O"><td class="perfil unidade"><span><xsl:if test="./curso:horasContacto/curso:O"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:O"/></xsl:if></span></td></xsl:if> |
<td class="perfil unidade ects"><span><xsl:if test="./curso:ECTS"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:ECTS"/></xsl:if></span></td> |
</tr> |
</xsl:template> |
<xsl:template match="curso:unidade"> |
<tr> |
<td class="unidadeNome"><span><xsl:value-of select="./curso:nome"/></span></td> |
<td class="unidade"><span><xsl:value-of select="./curso:totalHoras"/></span></td> |
<xsl:if test="//curso:T"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:T"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:T"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:TP"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:TP"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:TP"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:P"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:P"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:P"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:PL"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:PL"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:PL"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:PD"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:PD"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:PD"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:OT"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:OT"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:OT"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:E"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:E"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:E"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:S"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:S"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:S"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:TC"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:TC"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:TC"/></xsl:if></span></td></xsl:if> |
<xsl:if test="//curso:O"><td class="unidade"><span><xsl:if test="./curso:horasContacto/curso:O"><xsl:attribute name="class">unidade celula</xsl:attribute><xsl:value-of select="./curso:horasContacto/curso:O"/></xsl:if></span></td></xsl:if> |
<td class="unidade ects"><span><xsl:if test="./curso:ECTS"><xsl:value-of select="./curso:ECTS"/></xsl:if></span></td> |
</tr> |
</xsl:template> |
</xsl:stylesheet> |
/impl/src/xsd/curso_DC.xml |
---|
New file |
0,0 → 1,460 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Design de Comunicação</nome> |
<area>DG</area> |
<semestre id="S1"> |
<unidade> |
<nome>Introdução ao Design de Comunicação</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Desenho I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Fotografia</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Tipografia</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Pensamento e Cultura Contemporânea</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
<semestre id="S2"> |
<unidade> |
<nome>Design de Comunicação I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Expressão Visual I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Tecnologia e Linguagem Audiovisual I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Desenho II</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Comunicação Verbal e Não Verbal</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
<semestre id="S3"> |
<unidade> |
<nome>Design de Comunicação II</nome> |
<area>Design</area> |
<totalHoras>240</totalHoras> |
<horasContacto> |
<TP>90</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>9</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Desenho III</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica III</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Serigrafia I</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>15</TP> |
<PL>15</PL> |
<OT>10</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>História da Arte Contemporânea</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Sociologia da Comunicação</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Psicologia da Comunicação</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<semestre id="S4"> |
<unidade> |
<nome>Design de Comunicação III</nome> |
<area>Design</area> |
<totalHoras>240</totalHoras> |
<horasContacto> |
<TP>90</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>História e Teoria do Design</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica IV</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Serigrafia II</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Ergonomia</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>3D Aplicado</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>15</TP> |
<PL>15</PL> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Publicidade</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<semestre id="S5"> |
<unidade> |
<nome>Design de Comunicação IV</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>9</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Design de Ambientes Gráficos</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Projecto I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Produção Multimédia I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Produção Gráfica I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Ilustração</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Design de Interfaces Móveis</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<semestre id="S6"> |
<unidade> |
<nome>Design de Comunicação V</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Projecto II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>10</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Produção Multimédia II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Produção Gráfica II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Design Sustentável</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Seminário</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<S>30</S> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
</curso> |
/impl/src/xsd/fragmentoCurso.xsl |
---|
New file |
0,0 → 1,7 |
<?xml version="1.0" encoding="UTF-8"?> |
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:curso="http://www.estgp.pt/xsd/planoestudos/1.0/"> |
<xsl:import href="curso.xsl"/> |
<xsl:template match="/"> |
<xsl:call-template name="fragmentoCurso"/> |
</xsl:template> |
</xsl:stylesheet> |
/impl/src/xsd/curso_APM.xml |
---|
New file |
0,0 → 1,361 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Administração de Publicidade e Marketing</nome> |
<area>CE</area> |
<semestre id="S1"> |
<unidade> |
<nome>Marketing</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>180</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Introdução à Gestão e à Empresa</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Contabilidade Financeira I</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>180</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Métodos Quantitativos</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Introdução ao Direito</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>140</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--\\1º semestre de APM--> |
<semestre id="S2"> |
<unidade> |
<nome>Comportamento Organizacional</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Administração de Serviços</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>180</totalHoras> |
<horasContacto> |
<T>45</T> |
<PL>15</PL> |
<OT>8</OT> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Expressão e Comunicação</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Língua Estrangeira Técnica</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Introdução ao Direito</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>140</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--\\2º semestre de APM--> |
<semestre id="S3"> |
<unidade> |
<nome>Comunicação Audiovisual</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>30</TP> |
<PL>15</PL> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Direito Comercial e da Empresa</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>140</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Comportamento do Consumidor</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>180</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Marketing Interno e Recursos Humanos</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>45</TP> |
<PL>15</PL> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Planeamento e Controlo de Marketing</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>45</TP> |
<PL>15</PL> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--\\3º semestre de APM--> |
<semestre id="S4"> |
<unidade> |
<nome>Relações Públicas</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Marketing de Serviços</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>15</TP> |
<PL>45</PL> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Mercados e Negociação Comercial</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>45</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Gestão da comunicação</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>15</TP> |
<PL>45</PL> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Pesquisa de Marketing</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>15</PL> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--\\4º semestre de APM--> |
<semestre id="S5"> |
<unidade> |
<nome>Relações Humanas e Comunicação na Empresa</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Estratégia e Planeamento Publicitário</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>45</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Sistemas de Informação para Marketing</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Marketing Social</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>45</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Marketing Directo</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>45</TP> |
<OT>4</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--\\5º semestre de APM--> |
<semestre id="S5"> |
<unidade> |
<nome>Comunicação Publicitária</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Gestão de Marcas</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>140</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Marketing Turístico</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>120</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>8</OT> |
</horasContacto> |
<ECTS>4</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Estágio</nome> |
<area>Ciências Empresariais</area> |
<totalHoras>420</totalHoras> |
<horasContacto> |
<OT>16</OT> |
</horasContacto> |
<ECTS>15</ECTS> |
<obs></obs> |
</unidade> |
</semestre><!-- \\6º semestre de APM--> |
</curso> |
/impl/src/xsd/curso_EI.xml |
---|
New file |
0,0 → 1,850 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Engenharia Informática</nome> |
<area>EG</area> |
<!--1º semestre de EI - perfil "Programação e Sistemas de Informação"--> |
<semestre id="S1"> |
<unidade> |
<nome>Sistemas Digitais</nome> |
<area>Engenharias</area> |
<totalHoras>205</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Introdução à Programação</nome> |
<area>Engenharias</area> |
<totalHoras>205</totalHoras> |
<horasContacto> |
<T>30</T> |
<PL>30</PL> |
<OT>30</OT> |
</horasContacto> |
<ECTS>8</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Análise Matemática I</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Álgebra e Geometria</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Física</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
</semestre> |
<!--2º semestre de EI- perfil "Programação e Sistemas de Informação"--> |
<semestre id="S2"> |
<unidade> |
<nome>Análise Matemática II</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Matemática Discreta</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Algoritmos e Estruturas de Dados</nome> |
<area>Engenharias</area> |
<totalHoras>250</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>8.5</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Arquitectura de Computadores</nome> |
<area>Engenharias</area> |
<totalHoras>205</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>8</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Probabilidades e Estatística</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>(a)</obs> |
</unidade> |
</semestre> |
<!--3º semestre de EI- perfil "Programação e Sistemas de Informação"--> |
<semestre id="S3"> |
<unidade> |
<nome>Bases de Dados I</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<P>25</P> |
<TP>10</TP> |
<PL>25</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Programação Orientada a Objectos</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<P>30</P> |
<TP>15</TP> |
<PL>15</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Computação Gráfica</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>10</TP> |
<PL>20</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Teoria da Computação</nome> |
<area>Engenharias</area> |
<totalHoras>90</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>4</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Sistemas Operativos</nome> |
<area>Engenharias</area> |
<totalHoras>230</totalHoras> |
<horasContacto> |
<TP>90</TP> |
</horasContacto> |
<ECTS>8</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--4º semestre de EI- perfil "Programação e Sistemas de Informação"--> |
<semestre id="S4"> |
<unidade> |
<nome>Programação Web e Equipamentos Móveis</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Inteligência Artificial</nome> |
<area>Engenharias</area> |
<totalHoras>170</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Multimédia Interactiva</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>10</TP> |
<PL>20</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs>(a)</obs> |
</unidade> |
<unidade> |
<nome>Análise de Concepção de Sistemas</nome> |
<area>Engenharias</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Seminário</nome> |
<area>Engenharias</area> |
<totalHoras>10</totalHoras> |
<horasContacto> |
<S>10</S> |
</horasContacto> |
<ECTS>2</ECTS> |
<obs>(a)</obs> |
</unidade> |
</semestre> |
<!--Ate aqui esta--> |
<!--2º semestre de EC--> |
<semestre id="S3"> |
<unidade> |
<nome>Análise Matemática III</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Resistência de Materiais I</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Hidráulica Aplicada</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Geologia da Engenharia</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Métodos e Tecnologias da Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Planeamento Regional e Urbano</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência III</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--\\3º semestre de EC--> |
<semestre id="S4"> |
<perfil nome="Perfil de Estruturas e Construção"> |
<unidade> |
<nome>Análise de Estruturas</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Física das Construções</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Mecânica de Solos</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Abastecimento de Água e Saneamento</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Materiais Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Resistência de Materiais II</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência IV</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
<perfil nome="Planeamento e Infra-Estruturas"> |
<unidade> |
<nome>Análise de Estruturas</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Física das Construções</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Mecânica de Solos</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Abastecimento de Água e Saneamento</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Materiais Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Hidrologia e Infra-Estruturas Hidráulicas</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência IV</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
</semestre> |
<semestre id="S5"> |
<perfil nome="Perfil de Estruturas e Construção"> |
<unidade> |
<nome>Betão Armado</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Organização de Obras e Estaleiros</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Vias de Comunicação I</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Conservação e Reabilitação</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Estruturas Metálicas</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Engenharia Sísmica</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência V</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
<perfil nome="Planeamento e Infra-Estruturas"> |
<unidade> |
<nome>Betão Armado</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Organização de Obras e Estaleiros</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Vias de Comunicação I</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Urbanização e Transportes</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Sistemas de Informação Geográfica</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Administração Pública e Gestão Municipal</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência V</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
</semestre> |
<semestre id="S6"> |
<perfil nome="Perfil de Estruturas e Construção"> |
<unidade> |
<nome>Qualidade na Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Qualidade na Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Fundações e Estruturas de Suporte</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Betão Armado e Pré-Esforçado</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Direcção de Obras</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Economia e Gestão de Empreendimentos</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Projecto de Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência VI</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
<perfil nome="Planeamento e Infra-Estruturas"> |
<unidade> |
<nome>Qualidade na Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Qualidade na Construção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Equipamentos Regionais e Urbanos</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Vias de Comunicação II</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Gestão e Avaliação de Sistemas e Projectos</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Projecto de Planeamento/Infra-Estruturas</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência VI</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</perfil> |
</semestre> |
</curso> |
/impl/src/xsd/curso_AA.xml |
---|
New file |
0,0 → 1,461 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Assessoria de Administração</nome> |
<area>EG</area> |
<!--1º semestre de AA--> |
<semestre id="S1"> |
<unidade> |
<nome>Língua e Cultura Inglesa I</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Língua e Cultura I (Francesa/Alemã/Espanhola)</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Metodologias de Investigação</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Informática</nome> |
<area>Ciências Humanas</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Comportamento Organizacional</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--2º semestre de AA--> |
<semestre id="S2"> |
<unidade> |
<nome>Fundamentos de Gestão</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Língua e Cultura Inglesa II</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Língua e Cultura II (Francesa, Alemã, Espanhola)</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Língua e Cultura Portuguesa</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Informática Aplicada à Administração</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--3º semestre de AA--> |
<semestre id="S3"> |
<unidade> |
<nome>Contabilidade Financeira I</nome> |
<area>Ciências Humanas</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Marketing e Relações Públicas</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Inglês Técnico I</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Técnicas de Expressão e Comunicação I</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Práticas Administrativas I</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--4º semestre de AA--> |
<semestre id="S4"> |
<unidade> |
<nome>Contabilidade Financeira II</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Direito da Empresa e do Trabalho</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Técnicas de Expressão e Comunicação II</nome> |
<area>Ciências Humanas</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Inglês Técnico II</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Oficinas de escrita</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Fiscalidade</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Gestão da Informação</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Estratégias de Marketing</nome> |
<area></area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Outra UC em funcionamento na ESTG</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<!--5º semestre de AA--> |
<semestre id="S5"> |
<unidade> |
<nome>Práticas Administrativas II</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Relações Humanas e Comunicação na Empresa</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Técnicas de Documentação e Arquivo</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>7</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Análise e Planeamento Financeiro</nome> |
<area>Ciências Humanas</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Cultura Contemporânea</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Contabilidade Pública</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Organização e Representação da informação</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Gestão da Comunicação</nome> |
<area>...</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Outra UC em funcionamento na ESTG</nome> |
<area>-1</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
<PL>-1</PL> |
<TP>-1</TP> |
</horasContacto> |
<ECTS>-1</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<!--6º semestre de AA--> |
<semestre id="S6"> |
<unidade> |
<nome>Sociologia das Organizações</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Técnicas de Tradução de Inglês</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>3ª Língua estrangeira</nome> |
<area>Ciências Humanas</area> |
<totalHoras>190</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Pesquisa de mercado</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Aprovisionamento e Gestão de stocks</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Arquivos e Bibliotecas digitais</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Outra UC em funcionamento da ESTG</nome> |
<area>Ciências Humanas</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Optativa</obs> |
</unidade> |
<unidade> |
<nome>Estágio</nome> |
<area>410</area> |
<totalHoras>-1</totalHoras> |
<horasContacto> |
</horasContacto> |
<ECTS>15</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
</curso> |
/impl/src/xsd/curso_DAM.xml |
---|
New file |
0,0 → 1,374 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Design de Animação e Multimédia</nome> |
<area>DG</area> |
<semestre id="S1"> |
<unidade> |
<nome>Introdução ao Design de Comunicação</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Desenho I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
<OT>20</OT> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Pensamento e Cultura Contemporânea</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Fotografia</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Tipografia</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>50</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
</semestre> <!--de dam só está fito o 1º semewstrae--> |
<semestre id="S2"> |
<unidade> |
<nome>Design de Comunicação I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Desenho II</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Expressão Visual</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Comunicação Verbal e não Verbal</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Tecnologia e Linguagem Audiovisual I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>10</OT> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Edição Electrónica II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
<semestre id="S3"> |
<unidade> |
<nome>Desenho III</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Tecnologia e Linguagem Audiovisual II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Narrativas para Animação</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Técnicas de Animação</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Animação 2D I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Opção</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs>Optativa</obs> |
</unidade> |
</semestre> |
<semestre id="S4"> |
<unidade> |
<nome>Desenho IV</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Ergonomia</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<T>30</T> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Multimédia</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Animação 2D II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Projecto de Animação I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Organização e Gestão de Projectos</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
<semestre id="S5"> |
<unidade> |
<nome>Animação 3D I</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Modelação 3D</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Iluminação e Texturização</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Expressão e Caracterização</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Sonoplastia</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
<semestre id="S6"> |
<unidade> |
<nome>Animação 3D II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Aplicações 3D</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Programação</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>60</TP> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Gestão e Produção</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<TP>30</TP> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Projecto de Animação II</nome> |
<area>Design</area> |
<totalHoras>160</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<PL>30</PL> |
</horasContacto> |
<ECTS>6</ECTS> |
<obs></obs> |
</unidade> |
<unidade> |
<nome>Seminário</nome> |
<area>Design</area> |
<totalHoras>80</totalHoras> |
<horasContacto> |
<S>30</S> |
</horasContacto> |
<ECTS>3</ECTS> |
<obs></obs> |
</unidade> |
</semestre> |
</curso> |
/impl/src/xsd/planoestudos.xsd |
---|
21,15 → 21,15 |
<xsd:element name="semestre" maxOccurs="unbounded"> |
<xsd:complexType> |
<xsd:choice> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"></xsd:element> |
<xsd:element name="perfil" maxOccurs="unbounded"> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
<xsd:element name="perfil" maxOccurs="unbounded"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="unidade" type="unidadeType" maxOccurs="unbounded"/> |
</xsd:sequence> |
<xsd:attribute name="nome" use="required" type="xsd:string"/> |
</xsd:complexType> |
</xsd:element> |
<xsd:attribute name="nome" type="xsd:string" use="required"/> |
</xsd:complexType> |
</xsd:element> |
</xsd:choice> |
<xsd:attribute name="id" use="required"> |
<xsd:simpleType> |
62,21 → 62,23 |
<xsd:element name="horasContacto"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="T" type="xsd:int" minOccurs="0"/> |
<xsd:element name="TP" type="xsd:int" minOccurs="0"/> |
<xsd:element name="P" type="xsd:int" minOccurs="0"/> |
<xsd:element name="PL" type="xsd:int" minOccurs="0"/> |
<xsd:element name="PD" type="xsd:int" minOccurs="0"/> |
<xsd:element name="OT" type="xsd:int" minOccurs="0"/> |
<xsd:element name="E" type="xsd:int" minOccurs="0"/> |
<xsd:element name="S" type="xsd:int" minOccurs="0"/> |
<xsd:element name="TC" type="xsd:int" minOccurs="0"/> |
<xsd:element name="O" type="xsd:int" minOccurs="0"/> |
<xsd:choice maxOccurs="unbounded"> |
<xsd:element name="T" type="xsd:int" minOccurs="0"/> |
<xsd:element name="TP" type="xsd:int" minOccurs="0"/> |
<xsd:element name="P" type="xsd:int" minOccurs="0"/> |
<xsd:element name="PL" type="xsd:int" minOccurs="0"/> |
<xsd:element name="PD" type="xsd:int" minOccurs="0"/> |
<xsd:element name="OT" type="xsd:int" minOccurs="0"/> |
<xsd:element name="E" type="xsd:int" minOccurs="0"/> |
<xsd:element name="S" type="xsd:int" minOccurs="0"/> |
<xsd:element name="TC" type="xsd:int" minOccurs="0"/> |
<xsd:element name="O" type="xsd:int" minOccurs="0"/> |
</xsd:choice> |
</xsd:sequence> |
</xsd:complexType> |
</xsd:element> |
<xsd:element name="ECTS" type="xsd:float"/> |
<xsd:element name="obs" type="xsd:string"/> |
<xsd:element name="obs" type="xsd:string"/> |
</xsd:sequence> |
</xsd:complexType> |
</xsd:schema> |
/impl/src/xsd/curso_EGI.xml |
---|
New file |
0,0 → 1,521 |
<?xml version="1.0" encoding="UTF-8"?> |
<curso xmlns="http://www.estgp.pt/xsd/planoestudos/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/xsd/planoestudos/1.0/ planoestudos.xsd"> |
<nome>Engenharia de Gestão Industrial</nome> |
<area>EG</area> |
<semestre id="S1"> |
<unidade> |
<nome>Análise Matemática I</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Álgebra e Geometria</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Física</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Programação</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Química I</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Gestão da Empresa</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência I</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--1º semestre de EGI--> |
<semestre id="S2"> |
<unidade> |
<nome>Análise Matemática II</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Estatística</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Química II</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Termodinâmica</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Segurança, Higiene e Saúde no Trabalho</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Processos Produtivos</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>30</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência II</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--2º semestre de EGI--> |
<semestre id="S3"> |
<unidade> |
<nome>Ciência dos Materiais</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Fenómenos de Transferência</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Contabilidade Financeira</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Desenho e Modelação</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Métodos Numéricos e Optimização</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Análise Matemática III</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência III</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--\\3º semestre de EGI--> |
<semestre id="S4"> |
<unidade> |
<nome>Segurança no Trabalho</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Operações Unitárias I </nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Mecânica</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Química Analítica e Instrumental</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Gestão de Recursos Humanos</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Gestão e Controlo da Qualidade</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência IV</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--\\4º semestre de EGI--> |
<semestre id="S5"> |
<unidade> |
<nome>Operações Unitárias II</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Planeamento e Controlo da Produção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Electrotecnia</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Corrosão</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Desenvolvimento, Pessoal e Profissional</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Controlo da Qualidade</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção A.</obs> |
</unidade> |
<unidade> |
<nome>Ergonomia</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção B.</obs> |
</unidade> |
<unidade> |
<nome>Unidade de Transferência VI ou V</nome> |
<area>Engenharias</area> |
<totalHoras>150</totalHoras> |
<horasContacto> |
<PL>30</PL> |
<TC>15</TC> |
<OT>15</OT> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--\\5º semestre de EGI--> |
<semestre id="S6"> |
<unidade> |
<nome>Manutenção e Fiabilidade</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Instrumentação e Controlo de Processos</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Sistemas de Gestão Ambiental</nome> |
<area>Engenharias</area> |
<totalHoras>65</totalHoras> |
<horasContacto> |
<T>15</T> |
<TP>15</TP> |
</horasContacto> |
<ECTS>2.5</ECTS> |
<obs/> |
</unidade> |
<unidade> |
<nome>Metrologia e Normalização</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção A.</obs> |
</unidade> |
<unidade> |
<nome>Sistema de Gestão da Qualidade e Auditorias</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção A.</obs> |
</unidade> |
<unidade> |
<nome>Avaliação de Risco e Prevenção</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção B</obs> |
</unidade> |
<unidade> |
<nome>Gestão e Organização de Emergência.</nome> |
<area>Engenharias</area> |
<totalHoras>130</totalHoras> |
<horasContacto> |
<T>30</T> |
<TP>30</TP> |
</horasContacto> |
<ECTS>5</ECTS> |
<obs>Opção B</obs> |
</unidade> |
<unidade> |
<nome>Projecto</nome> |
<area>Engenharias</area> |
<totalHoras>215</totalHoras> |
<horasContacto> |
<TP>30</TP> |
<OT>15</OT> |
</horasContacto> |
<ECTS>7.5</ECTS> |
<obs/> |
</unidade> |
</semestre> |
<!--\\6º semestre de EGI--> |
</curso> |
/impl/libs.xml |
---|
58,5 → 58,8 |
<fileset dir="${env.JAVA_HOME}"> |
<include name="lib/tools.jar"/> |
</fileset> |
<fileset dir="${common.lib.dir}/saxon"> |
<include name="**/*.jar"/> |
</fileset> |
</path> |
</project> |
/impl/gen/java/pt/ipportalegre/siges/web/services/GetAulas.java |
---|
New file |
0,0 → 1,146 |
package pt.ipportalegre.siges.web.services; |
import java.math.BigDecimal; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.bind.annotation.XmlRootElement; |
import javax.xml.bind.annotation.XmlType; |
/** |
* <p>Java class for anonymous complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="codigoInstituicao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="anolectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoUnidade" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="semestre" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "", propOrder = { |
"codigoInstituicao", |
"anolectivo", |
"codigoUnidade", |
"semestre" |
}) |
@XmlRootElement(name = "getAulas") |
public class GetAulas { |
@XmlElement(required = true) |
protected BigDecimal codigoInstituicao; |
protected String anolectivo; |
protected String codigoUnidade; |
protected String semestre; |
/** |
* Gets the value of the codigoInstituicao property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoInstituicao() { |
return codigoInstituicao; |
} |
/** |
* Sets the value of the codigoInstituicao property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoInstituicao(BigDecimal value) { |
this.codigoInstituicao = value; |
} |
/** |
* Gets the value of the anolectivo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getAnolectivo() { |
return anolectivo; |
} |
/** |
* Sets the value of the anolectivo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setAnolectivo(String value) { |
this.anolectivo = value; |
} |
/** |
* Gets the value of the codigoUnidade property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCodigoUnidade() { |
return codigoUnidade; |
} |
/** |
* Sets the value of the codigoUnidade property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCodigoUnidade(String value) { |
this.codigoUnidade = value; |
} |
/** |
* Gets the value of the semestre property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSemestre() { |
return semestre; |
} |
/** |
* Sets the value of the semestre property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSemestre(String value) { |
this.semestre = value; |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/ArrayOfAula.java |
---|
New file |
0,0 → 1,69 |
package pt.ipportalegre.siges.web.services; |
import java.util.ArrayList; |
import java.util.List; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.bind.annotation.XmlType; |
/** |
* <p>Java class for ArrayOfAula complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType name="ArrayOfAula"> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="Aula" type="{http://www.ipportalegre.pt/siges/web/services}Aula" maxOccurs="unbounded" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "ArrayOfAula", propOrder = { |
"aula" |
}) |
public class ArrayOfAula { |
@XmlElement(name = "Aula", nillable = true) |
protected List<Aula> aula; |
/** |
* Gets the value of the aula 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 aula property. |
* |
* <p> |
* For example, to add a new item, do as follows: |
* <pre> |
* getAula().add(newItem); |
* </pre> |
* |
* |
* <p> |
* Objects of the following type(s) are allowed in the list |
* {@link Aula } |
* |
* |
*/ |
public List<Aula> getAula() { |
if (aula == null) { |
aula = new ArrayList<Aula>(); |
} |
return this.aula; |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/SendSmsSeparatedWithComma.java |
---|
New file |
0,0 → 1,116 |
package pt.ipportalegre.siges.web.services; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlRootElement; |
import javax.xml.bind.annotation.XmlType; |
/** |
* <p>Java class for anonymous complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="sPhones" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="secret" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "", propOrder = { |
"message", |
"sPhones", |
"secret" |
}) |
@XmlRootElement(name = "sendSmsSeparatedWithComma") |
public class SendSmsSeparatedWithComma { |
protected String message; |
protected String sPhones; |
protected String secret; |
/** |
* Gets the value of the message property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getMessage() { |
return message; |
} |
/** |
* Sets the value of the message property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setMessage(String value) { |
this.message = value; |
} |
/** |
* Gets the value of the sPhones property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSPhones() { |
return sPhones; |
} |
/** |
* Sets the value of the sPhones property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSPhones(String value) { |
this.sPhones = value; |
} |
/** |
* Gets the value of the secret property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSecret() { |
return secret; |
} |
/** |
* Sets the value of the secret property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSecret(String value) { |
this.secret = value; |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/Disciplina.java |
---|
19,9 → 19,12 |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="codigo" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="cdLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoCurso" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="cdDuracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoInstituicao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="cdTurma" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="nome" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoCurso" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="nomeCurso" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="grauCurso" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* </sequence> |
35,9 → 38,12 |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "Disciplina", propOrder = { |
"codigo", |
"cdLectivo", |
"codigoCurso", |
"cdDuracao", |
"codigoInstituicao", |
"cdTurma", |
"nome", |
"codigoCurso", |
"nomeCurso", |
"grauCurso" |
}) |
45,11 → 51,14 |
@XmlElement(required = true) |
protected BigDecimal codigo; |
protected String cdLectivo; |
@XmlElement(required = true) |
protected BigDecimal codigoCurso; |
protected String cdDuracao; |
@XmlElement(required = true) |
protected BigDecimal codigoInstituicao; |
protected String cdTurma; |
protected String nome; |
@XmlElement(required = true) |
protected BigDecimal codigoCurso; |
protected String nomeCurso; |
protected String grauCurso; |
78,6 → 87,78 |
} |
/** |
* Gets the value of the cdLectivo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCdLectivo() { |
return cdLectivo; |
} |
/** |
* Sets the value of the cdLectivo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCdLectivo(String value) { |
this.cdLectivo = value; |
} |
/** |
* Gets the value of the codigoCurso property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoCurso() { |
return codigoCurso; |
} |
/** |
* Sets the value of the codigoCurso property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoCurso(BigDecimal value) { |
this.codigoCurso = value; |
} |
/** |
* Gets the value of the cdDuracao property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCdDuracao() { |
return cdDuracao; |
} |
/** |
* Sets the value of the cdDuracao property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCdDuracao(String value) { |
this.cdDuracao = value; |
} |
/** |
* Gets the value of the codigoInstituicao property. |
* |
* @return |
102,51 → 183,51 |
} |
/** |
* Gets the value of the nome property. |
* Gets the value of the cdTurma property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getNome() { |
return nome; |
public String getCdTurma() { |
return cdTurma; |
} |
/** |
* Sets the value of the nome property. |
* Sets the value of the cdTurma property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setNome(String value) { |
this.nome = value; |
public void setCdTurma(String value) { |
this.cdTurma = value; |
} |
/** |
* Gets the value of the codigoCurso property. |
* Gets the value of the nome property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* {@link String } |
* |
*/ |
public BigDecimal getCodigoCurso() { |
return codigoCurso; |
public String getNome() { |
return nome; |
} |
/** |
* Sets the value of the codigoCurso property. |
* Sets the value of the nome property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* {@link String } |
* |
*/ |
public void setCodigoCurso(BigDecimal value) { |
this.codigoCurso = value; |
public void setNome(String value) { |
this.nome = value; |
} |
/** |
/impl/gen/java/pt/ipportalegre/siges/web/services/Docente.java |
---|
32,7 → 32,7 |
* <element name="email" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="numeroBi" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="usernameNetpa" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="disciplinas" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfDecimal" minOccurs="0"/> |
* <element name="disciplinas" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfDisciplina" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
76,7 → 76,7 |
protected String email; |
protected String numeroBi; |
protected String usernameNetpa; |
protected ArrayOfDecimal disciplinas; |
protected ArrayOfDisciplina disciplinas; |
/** |
* Gets the value of the codigoFuncionario property. |
371,10 → 371,10 |
* |
* @return |
* possible object is |
* {@link ArrayOfDecimal } |
* {@link ArrayOfDisciplina } |
* |
*/ |
public ArrayOfDecimal getDisciplinas() { |
public ArrayOfDisciplina getDisciplinas() { |
return disciplinas; |
} |
383,10 → 383,10 |
* |
* @param value |
* allowed object is |
* {@link ArrayOfDecimal } |
* {@link ArrayOfDisciplina } |
* |
*/ |
public void setDisciplinas(ArrayOfDecimal value) { |
public void setDisciplinas(ArrayOfDisciplina value) { |
this.disciplinas = value; |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/Aula.java |
---|
New file |
0,0 → 1,847 |
package pt.ipportalegre.siges.web.services; |
import java.math.BigDecimal; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlElement; |
import javax.xml.bind.annotation.XmlSchemaType; |
import javax.xml.bind.annotation.XmlType; |
import javax.xml.datatype.XMLGregorianCalendar; |
/** |
* <p>Java class for Aula complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType name="Aula"> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="data" type="{http://www.w3.org/2001/XMLSchema}dateTime"/> |
* <element name="numeroOcupacao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="tipoOcupacao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="duracao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="numeroCelulas" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="observacoes" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="numeroAula" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="descricao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoSala" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="codigoResponsavel" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="codigoSituacao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoSumario" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="aula_codigoLectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="aula_codigoDisciplina" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="aula_codigoPeriodo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="aula_codigoTurma" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="aula_codigoDocente" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="aula_codigoSumario" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="aula_codigoSalaAula" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_HoraInicial" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_HoraFinal" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_numeroAlunos" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_numeroAula" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_tipoAula" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="sum_titulo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="sum_descricao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="sum_identificador" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="sum_cdEstado" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="sum_numeroPresencas" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "Aula", propOrder = { |
"data", |
"numeroOcupacao", |
"tipoOcupacao", |
"duracao", |
"numeroCelulas", |
"observacoes", |
"numeroAula", |
"descricao", |
"codigoSala", |
"codigoResponsavel", |
"codigoSituacao", |
"codigoSumario", |
"aulaCodigoLectivo", |
"aulaCodigoDisciplina", |
"aulaCodigoPeriodo", |
"aulaCodigoTurma", |
"aulaCodigoDocente", |
"aulaCodigoSumario", |
"aulaCodigoSalaAula", |
"sumHoraInicial", |
"sumHoraFinal", |
"sumNumeroAlunos", |
"sumNumeroAula", |
"sumTipoAula", |
"sumTitulo", |
"sumDescricao", |
"sumIdentificador", |
"sumCdEstado", |
"sumNumeroPresencas" |
}) |
public class Aula { |
@XmlElement(required = true) |
@XmlSchemaType(name = "dateTime") |
protected XMLGregorianCalendar data; |
@XmlElement(required = true) |
protected BigDecimal numeroOcupacao; |
@XmlElement(required = true) |
protected BigDecimal tipoOcupacao; |
@XmlElement(required = true) |
protected BigDecimal duracao; |
@XmlElement(required = true) |
protected BigDecimal numeroCelulas; |
protected String observacoes; |
@XmlElement(required = true) |
protected BigDecimal numeroAula; |
protected String descricao; |
@XmlElement(required = true) |
protected BigDecimal codigoSala; |
@XmlElement(required = true) |
protected BigDecimal codigoResponsavel; |
protected String codigoSituacao; |
@XmlElement(required = true) |
protected BigDecimal codigoSumario; |
@XmlElement(name = "aula_codigoLectivo") |
protected String aulaCodigoLectivo; |
@XmlElement(name = "aula_codigoDisciplina", required = true) |
protected BigDecimal aulaCodigoDisciplina; |
@XmlElement(name = "aula_codigoPeriodo") |
protected String aulaCodigoPeriodo; |
@XmlElement(name = "aula_codigoTurma") |
protected String aulaCodigoTurma; |
@XmlElement(name = "aula_codigoDocente", required = true) |
protected BigDecimal aulaCodigoDocente; |
@XmlElement(name = "aula_codigoSumario", required = true) |
protected BigDecimal aulaCodigoSumario; |
@XmlElement(name = "aula_codigoSalaAula", required = true) |
protected BigDecimal aulaCodigoSalaAula; |
@XmlElement(name = "sum_HoraInicial", required = true) |
protected BigDecimal sumHoraInicial; |
@XmlElement(name = "sum_HoraFinal", required = true) |
protected BigDecimal sumHoraFinal; |
@XmlElement(name = "sum_numeroAlunos", required = true) |
protected BigDecimal sumNumeroAlunos; |
@XmlElement(name = "sum_numeroAula", required = true) |
protected BigDecimal sumNumeroAula; |
@XmlElement(name = "sum_tipoAula") |
protected String sumTipoAula; |
@XmlElement(name = "sum_titulo") |
protected String sumTitulo; |
@XmlElement(name = "sum_descricao") |
protected String sumDescricao; |
@XmlElement(name = "sum_identificador") |
protected String sumIdentificador; |
@XmlElement(name = "sum_cdEstado", required = true) |
protected BigDecimal sumCdEstado; |
@XmlElement(name = "sum_numeroPresencas", required = true) |
protected BigDecimal sumNumeroPresencas; |
/** |
* Gets the value of the data property. |
* |
* @return |
* possible object is |
* {@link XMLGregorianCalendar } |
* |
*/ |
public XMLGregorianCalendar getData() { |
return data; |
} |
/** |
* Sets the value of the data property. |
* |
* @param value |
* allowed object is |
* {@link XMLGregorianCalendar } |
* |
*/ |
public void setData(XMLGregorianCalendar value) { |
this.data = value; |
} |
/** |
* Gets the value of the numeroOcupacao property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getNumeroOcupacao() { |
return numeroOcupacao; |
} |
/** |
* Sets the value of the numeroOcupacao property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setNumeroOcupacao(BigDecimal value) { |
this.numeroOcupacao = value; |
} |
/** |
* Gets the value of the tipoOcupacao property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getTipoOcupacao() { |
return tipoOcupacao; |
} |
/** |
* Sets the value of the tipoOcupacao property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setTipoOcupacao(BigDecimal value) { |
this.tipoOcupacao = value; |
} |
/** |
* Gets the value of the duracao property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getDuracao() { |
return duracao; |
} |
/** |
* Sets the value of the duracao property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setDuracao(BigDecimal value) { |
this.duracao = value; |
} |
/** |
* Gets the value of the numeroCelulas property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getNumeroCelulas() { |
return numeroCelulas; |
} |
/** |
* Sets the value of the numeroCelulas property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setNumeroCelulas(BigDecimal value) { |
this.numeroCelulas = value; |
} |
/** |
* Gets the value of the observacoes property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getObservacoes() { |
return observacoes; |
} |
/** |
* Sets the value of the observacoes property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setObservacoes(String value) { |
this.observacoes = value; |
} |
/** |
* Gets the value of the numeroAula property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getNumeroAula() { |
return numeroAula; |
} |
/** |
* Sets the value of the numeroAula property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setNumeroAula(BigDecimal value) { |
this.numeroAula = value; |
} |
/** |
* Gets the value of the descricao property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getDescricao() { |
return descricao; |
} |
/** |
* Sets the value of the descricao property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setDescricao(String value) { |
this.descricao = value; |
} |
/** |
* Gets the value of the codigoSala property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoSala() { |
return codigoSala; |
} |
/** |
* Sets the value of the codigoSala property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoSala(BigDecimal value) { |
this.codigoSala = value; |
} |
/** |
* Gets the value of the codigoResponsavel property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoResponsavel() { |
return codigoResponsavel; |
} |
/** |
* Sets the value of the codigoResponsavel property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoResponsavel(BigDecimal value) { |
this.codigoResponsavel = value; |
} |
/** |
* Gets the value of the codigoSituacao property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCodigoSituacao() { |
return codigoSituacao; |
} |
/** |
* Sets the value of the codigoSituacao property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCodigoSituacao(String value) { |
this.codigoSituacao = value; |
} |
/** |
* Gets the value of the codigoSumario property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoSumario() { |
return codigoSumario; |
} |
/** |
* Sets the value of the codigoSumario property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoSumario(BigDecimal value) { |
this.codigoSumario = value; |
} |
/** |
* Gets the value of the aulaCodigoLectivo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getAulaCodigoLectivo() { |
return aulaCodigoLectivo; |
} |
/** |
* Sets the value of the aulaCodigoLectivo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setAulaCodigoLectivo(String value) { |
this.aulaCodigoLectivo = value; |
} |
/** |
* Gets the value of the aulaCodigoDisciplina property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getAulaCodigoDisciplina() { |
return aulaCodigoDisciplina; |
} |
/** |
* Sets the value of the aulaCodigoDisciplina property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setAulaCodigoDisciplina(BigDecimal value) { |
this.aulaCodigoDisciplina = value; |
} |
/** |
* Gets the value of the aulaCodigoPeriodo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getAulaCodigoPeriodo() { |
return aulaCodigoPeriodo; |
} |
/** |
* Sets the value of the aulaCodigoPeriodo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setAulaCodigoPeriodo(String value) { |
this.aulaCodigoPeriodo = value; |
} |
/** |
* Gets the value of the aulaCodigoTurma property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getAulaCodigoTurma() { |
return aulaCodigoTurma; |
} |
/** |
* Sets the value of the aulaCodigoTurma property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setAulaCodigoTurma(String value) { |
this.aulaCodigoTurma = value; |
} |
/** |
* Gets the value of the aulaCodigoDocente property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getAulaCodigoDocente() { |
return aulaCodigoDocente; |
} |
/** |
* Sets the value of the aulaCodigoDocente property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setAulaCodigoDocente(BigDecimal value) { |
this.aulaCodigoDocente = value; |
} |
/** |
* Gets the value of the aulaCodigoSumario property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getAulaCodigoSumario() { |
return aulaCodigoSumario; |
} |
/** |
* Sets the value of the aulaCodigoSumario property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setAulaCodigoSumario(BigDecimal value) { |
this.aulaCodigoSumario = value; |
} |
/** |
* Gets the value of the aulaCodigoSalaAula property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getAulaCodigoSalaAula() { |
return aulaCodigoSalaAula; |
} |
/** |
* Sets the value of the aulaCodigoSalaAula property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setAulaCodigoSalaAula(BigDecimal value) { |
this.aulaCodigoSalaAula = value; |
} |
/** |
* Gets the value of the sumHoraInicial property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumHoraInicial() { |
return sumHoraInicial; |
} |
/** |
* Sets the value of the sumHoraInicial property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumHoraInicial(BigDecimal value) { |
this.sumHoraInicial = value; |
} |
/** |
* Gets the value of the sumHoraFinal property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumHoraFinal() { |
return sumHoraFinal; |
} |
/** |
* Sets the value of the sumHoraFinal property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumHoraFinal(BigDecimal value) { |
this.sumHoraFinal = value; |
} |
/** |
* Gets the value of the sumNumeroAlunos property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumNumeroAlunos() { |
return sumNumeroAlunos; |
} |
/** |
* Sets the value of the sumNumeroAlunos property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumNumeroAlunos(BigDecimal value) { |
this.sumNumeroAlunos = value; |
} |
/** |
* Gets the value of the sumNumeroAula property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumNumeroAula() { |
return sumNumeroAula; |
} |
/** |
* Sets the value of the sumNumeroAula property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumNumeroAula(BigDecimal value) { |
this.sumNumeroAula = value; |
} |
/** |
* Gets the value of the sumTipoAula property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSumTipoAula() { |
return sumTipoAula; |
} |
/** |
* Sets the value of the sumTipoAula property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSumTipoAula(String value) { |
this.sumTipoAula = value; |
} |
/** |
* Gets the value of the sumTitulo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSumTitulo() { |
return sumTitulo; |
} |
/** |
* Sets the value of the sumTitulo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSumTitulo(String value) { |
this.sumTitulo = value; |
} |
/** |
* Gets the value of the sumDescricao property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSumDescricao() { |
return sumDescricao; |
} |
/** |
* Sets the value of the sumDescricao property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSumDescricao(String value) { |
this.sumDescricao = value; |
} |
/** |
* Gets the value of the sumIdentificador property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getSumIdentificador() { |
return sumIdentificador; |
} |
/** |
* Sets the value of the sumIdentificador property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setSumIdentificador(String value) { |
this.sumIdentificador = value; |
} |
/** |
* Gets the value of the sumCdEstado property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumCdEstado() { |
return sumCdEstado; |
} |
/** |
* Sets the value of the sumCdEstado property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumCdEstado(BigDecimal value) { |
this.sumCdEstado = value; |
} |
/** |
* Gets the value of the sumNumeroPresencas property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getSumNumeroPresencas() { |
return sumNumeroPresencas; |
} |
/** |
* Sets the value of the sumNumeroPresencas property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setSumNumeroPresencas(BigDecimal value) { |
this.sumNumeroPresencas = value; |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/GetAulasResponse.java |
---|
New file |
0,0 → 1,62 |
package pt.ipportalegre.siges.web.services; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlRootElement; |
import javax.xml.bind.annotation.XmlType; |
/** |
* <p>Java class for anonymous complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="getAulasResult" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfAula" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "", propOrder = { |
"getAulasResult" |
}) |
@XmlRootElement(name = "getAulasResponse") |
public class GetAulasResponse { |
protected ArrayOfAula getAulasResult; |
/** |
* Gets the value of the getAulasResult property. |
* |
* @return |
* possible object is |
* {@link ArrayOfAula } |
* |
*/ |
public ArrayOfAula getGetAulasResult() { |
return getAulasResult; |
} |
/** |
* Sets the value of the getAulasResult property. |
* |
* @param value |
* allowed object is |
* {@link ArrayOfAula } |
* |
*/ |
public void setGetAulasResult(ArrayOfAula value) { |
this.getAulasResult = value; |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/SiGesWEBSoap.java |
---|
191,6 → 191,29 |
/** |
* |
* @param codigoInstituicao |
* @param anolectivo |
* @param semestre |
* @param codigoUnidade |
* @return |
* returns pt.ipportalegre.siges.web.services.ArrayOfAula |
*/ |
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/getAulas") |
@WebResult(name = "getAulasResult", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
@RequestWrapper(localName = "getAulas", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetAulas") |
@ResponseWrapper(localName = "getAulasResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.GetAulasResponse") |
public ArrayOfAula getAulas( |
@WebParam(name = "codigoInstituicao", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
BigDecimal codigoInstituicao, |
@WebParam(name = "anolectivo", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String anolectivo, |
@WebParam(name = "codigoUnidade", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String codigoUnidade, |
@WebParam(name = "semestre", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String semestre); |
/** |
* |
* @param sPhones |
* @param message |
* @param secret |
208,7 → 231,24 |
/** |
* |
* @param sPhones |
* @param message |
* @param secret |
*/ |
@WebMethod(action = "http://www.ipportalegre.pt/siges/web/services/sendSmsSeparatedWithComma") |
@RequestWrapper(localName = "sendSmsSeparatedWithComma", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.SendSmsSeparatedWithComma") |
@ResponseWrapper(localName = "sendSmsSeparatedWithCommaResponse", targetNamespace = "http://www.ipportalegre.pt/siges/web/services", className = "pt.ipportalegre.siges.web.services.SendSmsSeparatedWithCommaResponse") |
public void sendSmsSeparatedWithComma( |
@WebParam(name = "message", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String message, |
@WebParam(name = "sPhones", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String sPhones, |
@WebParam(name = "secret", targetNamespace = "http://www.ipportalegre.pt/siges/web/services") |
String secret); |
/** |
* |
* @param message |
* @param phone |
* @param secret |
*/ |
/impl/gen/java/pt/ipportalegre/siges/web/services/SendSmsSeparatedWithCommaResponse.java |
---|
New file |
0,0 → 1,32 |
package pt.ipportalegre.siges.web.services; |
import javax.xml.bind.annotation.XmlAccessType; |
import javax.xml.bind.annotation.XmlAccessorType; |
import javax.xml.bind.annotation.XmlRootElement; |
import javax.xml.bind.annotation.XmlType; |
/** |
* <p>Java class for anonymous complex type. |
* |
* <p>The following schema fragment specifies the expected content contained within this class. |
* |
* <pre> |
* <complexType> |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* </restriction> |
* </complexContent> |
* </complexType> |
* </pre> |
* |
* |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "") |
@XmlRootElement(name = "sendSmsSeparatedWithCommaResponse") |
public class SendSmsSeparatedWithCommaResponse { |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/ObjectFactory.java |
---|
30,11 → 30,11 |
} |
/** |
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse } |
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre } |
* |
*/ |
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() { |
return new GetDisciplinasDaInstituicaoSemestreResponse(); |
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() { |
return new GetDisciplinasDaInstituicaoSemestre(); |
} |
/** |
46,94 → 46,102 |
} |
/** |
* Create an instance of {@link GetAlunoInscrito } |
* Create an instance of {@link SendSmsS } |
* |
*/ |
public GetAlunoInscrito createGetAlunoInscrito() { |
return new GetAlunoInscrito(); |
public SendSmsS createSendSmsS() { |
return new SendSmsS(); |
} |
/** |
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse } |
* Create an instance of {@link GetAulasResponse } |
* |
*/ |
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() { |
return new GetCodigosDocentesInscritosDaInstituicaoResponse(); |
public GetAulasResponse createGetAulasResponse() { |
return new GetAulasResponse(); |
} |
/** |
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse } |
* Create an instance of {@link ArrayOfNota } |
* |
*/ |
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() { |
return new GetCodigosAlunosInscritosDaInstituicaoResponse(); |
public ArrayOfNota createArrayOfNota() { |
return new ArrayOfNota(); |
} |
/** |
* Create an instance of {@link Aluno } |
* Create an instance of {@link SendSmsSResponse } |
* |
*/ |
public Aluno createAluno() { |
return new Aluno(); |
public SendSmsSResponse createSendSmsSResponse() { |
return new SendSmsSResponse(); |
} |
/** |
* Create an instance of {@link Docente } |
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao } |
* |
*/ |
public Docente createDocente() { |
return new Docente(); |
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() { |
return new GetCodigosDocentesInscritosDaInstituicao(); |
} |
/** |
* Create an instance of {@link SendSmsS } |
* Create an instance of {@link SendSmsSeparatedWithCommaResponse } |
* |
*/ |
public SendSmsS createSendSmsS() { |
return new SendSmsS(); |
public SendSmsSeparatedWithCommaResponse createSendSmsSeparatedWithCommaResponse() { |
return new SendSmsSeparatedWithCommaResponse(); |
} |
/** |
* Create an instance of {@link GetDocenteResponse } |
* Create an instance of {@link Aula } |
* |
*/ |
public GetDocenteResponse createGetDocenteResponse() { |
return new GetDocenteResponse(); |
public Aula createAula() { |
return new Aula(); |
} |
/** |
* Create an instance of {@link GetNotasResponse } |
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao } |
* |
*/ |
public GetNotasResponse createGetNotasResponse() { |
return new GetNotasResponse(); |
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() { |
return new GetCodigosAlunosInscritosDaInstituicao(); |
} |
/** |
* Create an instance of {@link ArrayOfDecimal } |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse } |
* |
*/ |
public ArrayOfDecimal createArrayOfDecimal() { |
return new ArrayOfDecimal(); |
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() { |
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse(); |
} |
/** |
* Create an instance of {@link ArrayOfNota } |
* Create an instance of {@link GetDocente } |
* |
*/ |
public ArrayOfNota createArrayOfNota() { |
return new ArrayOfNota(); |
public GetDocente createGetDocente() { |
return new GetDocente(); |
} |
/** |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse } |
* Create an instance of {@link GetAulas } |
* |
*/ |
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() { |
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse(); |
public GetAulas createGetAulas() { |
return new GetAulas(); |
} |
/** |
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse } |
* |
*/ |
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() { |
return new GetDisciplinasDaInstituicaoResponse(); |
} |
/** |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoResponse } |
* |
*/ |
142,35 → 150,35 |
} |
/** |
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao } |
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse } |
* |
*/ |
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() { |
return new GetCodigosDocentesInscritosDaInstituicao(); |
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() { |
return new GetCodigosAlunosInscritosDaInstituicaoResponse(); |
} |
/** |
* Create an instance of {@link SendSms } |
* Create an instance of {@link GetNotas } |
* |
*/ |
public SendSms createSendSms() { |
return new SendSms(); |
public GetNotas createGetNotas() { |
return new GetNotas(); |
} |
/** |
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao } |
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse } |
* |
*/ |
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() { |
return new GetCodigosAlunosInscritosDaInstituicao(); |
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() { |
return new GetDisciplinasDaInstituicaoSemestreResponse(); |
} |
/** |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre } |
* Create an instance of {@link Disciplina } |
* |
*/ |
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() { |
return new GetCodigosDisciplinasDaInstituicaoSemestre(); |
public Disciplina createDisciplina() { |
return new Disciplina(); |
} |
/** |
182,19 → 190,19 |
} |
/** |
* Create an instance of {@link ArrayOfString } |
* Create an instance of {@link SendSmsSeparatedWithComma } |
* |
*/ |
public ArrayOfString createArrayOfString() { |
return new ArrayOfString(); |
public SendSmsSeparatedWithComma createSendSmsSeparatedWithComma() { |
return new SendSmsSeparatedWithComma(); |
} |
/** |
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse } |
* Create an instance of {@link SendSms } |
* |
*/ |
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() { |
return new GetDisciplinasDaInstituicaoResponse(); |
public SendSms createSendSms() { |
return new SendSms(); |
} |
/** |
206,6 → 214,30 |
} |
/** |
* Create an instance of {@link Nota } |
* |
*/ |
public Nota createNota() { |
return new Nota(); |
} |
/** |
* Create an instance of {@link GetAlunoInscrito } |
* |
*/ |
public GetAlunoInscrito createGetAlunoInscrito() { |
return new GetAlunoInscrito(); |
} |
/** |
* Create an instance of {@link GetNotasResponse } |
* |
*/ |
public GetNotasResponse createGetNotasResponse() { |
return new GetNotasResponse(); |
} |
/** |
* Create an instance of {@link ArrayOfDisciplina } |
* |
*/ |
214,46 → 246,62 |
} |
/** |
* Create an instance of {@link GetDocente } |
* Create an instance of {@link GetDocenteResponse } |
* |
*/ |
public GetDocente createGetDocente() { |
return new GetDocente(); |
public GetDocenteResponse createGetDocenteResponse() { |
return new GetDocenteResponse(); |
} |
/** |
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre } |
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse } |
* |
*/ |
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() { |
return new GetDisciplinasDaInstituicaoSemestre(); |
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() { |
return new GetCodigosDocentesInscritosDaInstituicaoResponse(); |
} |
/** |
* Create an instance of {@link SendSmsSResponse } |
* Create an instance of {@link ArrayOfAula } |
* |
*/ |
public SendSmsSResponse createSendSmsSResponse() { |
return new SendSmsSResponse(); |
public ArrayOfAula createArrayOfAula() { |
return new ArrayOfAula(); |
} |
/** |
* Create an instance of {@link Disciplina } |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre } |
* |
*/ |
public Disciplina createDisciplina() { |
return new Disciplina(); |
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() { |
return new GetCodigosDisciplinasDaInstituicaoSemestre(); |
} |
/** |
* Create an instance of {@link Nota } |
* Create an instance of {@link ArrayOfString } |
* |
*/ |
public Nota createNota() { |
return new Nota(); |
public ArrayOfString createArrayOfString() { |
return new ArrayOfString(); |
} |
/** |
* Create an instance of {@link Aluno } |
* |
*/ |
public Aluno createAluno() { |
return new Aluno(); |
} |
/** |
* Create an instance of {@link ArrayOfDecimal } |
* |
*/ |
public ArrayOfDecimal createArrayOfDecimal() { |
return new ArrayOfDecimal(); |
} |
/** |
* Create an instance of {@link GetCodigosDisciplinasDaInstituicao } |
* |
*/ |
262,11 → 310,11 |
} |
/** |
* Create an instance of {@link GetNotas } |
* Create an instance of {@link Docente } |
* |
*/ |
public GetNotas createGetNotas() { |
return new GetNotas(); |
public Docente createDocente() { |
return new Docente(); |
} |
} |
/impl/gen/java/pt/ipportalegre/siges/web/services/Nota.java |
---|
20,6 → 20,9 |
* <complexContent> |
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> |
* <sequence> |
* <element name="cd_duracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigoInstituicao" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="cd_lectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="codigo_disciplina" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="codigo_curso" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
* <element name="status_epoca" type="{http://www.w3.org/2001/XMLSchema}decimal"/> |
36,6 → 39,9 |
*/ |
@XmlAccessorType(XmlAccessType.FIELD) |
@XmlType(name = "Nota", propOrder = { |
"cdDuracao", |
"codigoInstituicao", |
"cdLectivo", |
"codigoDisciplina", |
"codigoCurso", |
"statusEpoca", |
45,6 → 51,12 |
}) |
public class Nota { |
@XmlElement(name = "cd_duracao") |
protected String cdDuracao; |
@XmlElement(required = true) |
protected BigDecimal codigoInstituicao; |
@XmlElement(name = "cd_lectivo") |
protected String cdLectivo; |
@XmlElement(name = "codigo_disciplina", required = true) |
protected BigDecimal codigoDisciplina; |
@XmlElement(name = "codigo_curso", required = true) |
60,6 → 72,78 |
protected BigDecimal nota; |
/** |
* Gets the value of the cdDuracao property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCdDuracao() { |
return cdDuracao; |
} |
/** |
* Sets the value of the cdDuracao property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCdDuracao(String value) { |
this.cdDuracao = value; |
} |
/** |
* Gets the value of the codigoInstituicao property. |
* |
* @return |
* possible object is |
* {@link BigDecimal } |
* |
*/ |
public BigDecimal getCodigoInstituicao() { |
return codigoInstituicao; |
} |
/** |
* Sets the value of the codigoInstituicao property. |
* |
* @param value |
* allowed object is |
* {@link BigDecimal } |
* |
*/ |
public void setCodigoInstituicao(BigDecimal value) { |
this.codigoInstituicao = value; |
} |
/** |
* Gets the value of the cdLectivo property. |
* |
* @return |
* possible object is |
* {@link String } |
* |
*/ |
public String getCdLectivo() { |
return cdLectivo; |
} |
/** |
* Sets the value of the cdLectivo property. |
* |
* @param value |
* allowed object is |
* {@link String } |
* |
*/ |
public void setCdLectivo(String value) { |
this.cdLectivo = value; |
} |
/** |
* Gets the value of the codigoDisciplina property. |
* |
* @return |
/impl/gen/java/pt/ipportalegre/siges/web/services/Aluno.java |
---|
31,7 → 31,7 |
* <element name="email" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="numeroBi" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="usernameNetpa" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> |
* <element name="disciplinasInscrito" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfDecimal" minOccurs="0"/> |
* <element name="disciplinasInscrito" type="{http://www.ipportalegre.pt/siges/web/services}ArrayOfDisciplina" minOccurs="0"/> |
* </sequence> |
* </restriction> |
* </complexContent> |
73,7 → 73,7 |
protected String email; |
protected String numeroBi; |
protected String usernameNetpa; |
protected ArrayOfDecimal disciplinasInscrito; |
protected ArrayOfDisciplina disciplinasInscrito; |
/** |
* Gets the value of the codigo property. |
344,10 → 344,10 |
* |
* @return |
* possible object is |
* {@link ArrayOfDecimal } |
* {@link ArrayOfDisciplina } |
* |
*/ |
public ArrayOfDecimal getDisciplinasInscrito() { |
public ArrayOfDisciplina getDisciplinasInscrito() { |
return disciplinasInscrito; |
} |
356,10 → 356,10 |
* |
* @param value |
* allowed object is |
* {@link ArrayOfDecimal } |
* {@link ArrayOfDisciplina } |
* |
*/ |
public void setDisciplinasInscrito(ArrayOfDecimal value) { |
public void setDisciplinasInscrito(ArrayOfDisciplina value) { |
this.disciplinasInscrito = value; |
} |
/impl/build.properties |
---|
11,16 → 11,21 |
database.catalog=estgweb |
database.username=root |
database.password= |
database.connection.url=jdbc:mysql://${database.host}:${database.port}/${database.catalog}?useUnicode=true&characterEncoding=UTF-8 |
database.connection.url=jdbc:mysql://${database.host}:${database.port}/${database.catalog}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true |
hibernate.show.sql=false |
use.ldap=true |
#Paths configuration |
tomcat.home=C:/Servidores/tomcat |
#tomcat 5.5 |
tomcat.libs.ant.home=${tomcat.home}/server/lib |
tomcat.libs.common.home=${tomcat.home}/common/lib |
#tomcat 6 |
#tomcat.libs.ant.home=${tomcat.home}/lib |
#tomcat.libs.common.home=${tomcat.home}/lib |
tomcat.host=localhost |
tomcat.port=8080 |
tomcat.url=http://${tomcat.host}:${tomcat.port} |
49,6 → 54,8 |
lib.dir =lib |
data.dir =C:/Servidores/DATA/estgweb |
src.dir =src/java |
src.scripts =src/scripts |
src.xsd =src/xsd |
hbm.dir =src/hbm |
build.dir =build/ant |
build.dir.classes =${build.dir}/classes |
59,8 → 66,8 |
dist.dir =dist |
gen.dir =gen |
gen.dir.java =${gen.dir}/java |
scripts.source.dir =etc/source_scripts |
intranet.setup.folders.filename=mkcursos.exe |
intranet.setup.folders.file.src=etc/data/intranet/${intranet.setup.folders.filename} |
build.dir.relative.intranet.setup.folders=/etc/data/intranet |
97,13 → 104,19 |
log4j.properties=${conf.dir}/${log4j.properties.filename} |
#log file confirguration |
log.file=${data.dir}/estgweb.log |
log.file=${data.dir}/../estgweb-local.log |
log.level=info |
#email templates |
email.templates.dir=/template/email |
email.templates.dir.build=${build.dir.classes}${email.templates.dir} |
email.templates.dir.conf=${conf.dir}${email.templates.dir} |
#email templates |
sms.templates.dir=/template/sms |
sms.templates.dir.build=${build.dir.classes}${sms.templates.dir} |
sms.templates.dir.conf=${conf.dir}${sms.templates.dir} |
#assignement templates |
assignement.templates.dir=/template/assignement |
assignement.templates.dir.build=${build.dir.classes}${assignement.templates.dir} |
163,4 → 176,4 |
#Google Service Specific Configuration |
ws.google.package=com.google.api.ws.clients |
ws.google.package=com.google.api.ws.clients |
/impl/etc/todo/todo.txt |
---|
1,25 → 1,39 |
Jorge |
Testes de Segunda oportunidade enviar online |
Questão da identificacao dos Noturnos |
Listagem de Programas |
- Ano > Curso > |
[CODIGO-NOMEUNI-SEMESTRE.pdf] |
No caso de não haver: |
[CODIGO-NOMEUNI-SEMESTRE-FALTA.pdf] |
Jorge Meu |
Tirar o getSerializable de noovo do domainObject e ver de onde devem herdar |
Mensagens de Email no EI aparecem gigantes |
Estilo das páginas do proxy aparecem com o numero de item deslocado |
No dia da Instalação: |
Pasta de Deliberações CC copy paste. |
#### |
Modulo de Gestão de utilizadores Fabio |
Eventos com controlo de listagem e controlo de Pagamentos Fabio |
Os users que são autenticados do LDAP devem ter imediatamente uma flag no LDAP a true e esses não podem alterar a password os outros podem |
Isto deve ser sempre feito, vem do LDAP coloca o ldap a true sempre, porque o alunos e profs que sejam importados irão tela a false, depois de ser colocado o login correcto na autenticacao continuam a tela a false assim que fazem login passa a true no autenticate service |
#### |
O Login ainda não vai procurar os users à base de dados Fabio (Fluxograma de identificação, no caso do docente procura pelo email, no aluno por login que ficará preenchido com a importação) |
#### |
Configuracoes de Teste |
Server ESTGP esta definido para o localhost |
Start Path do IOnline esta para a raiz mas para testar unidades tem de apontar para /Erasmus/baco |
(PEDRO) Todos os documentos da Secção escola devem ser transferidos para a mesma pasta na nova web |
Criação da estrutura de Páginas para a intranet Jorge |
Curso > Disciplina (Ignorar Semestre para evitar alterações de plano curricular que envolvam apenas troca de semestres) |
Reestruturação das pastas da intranet: |
As pastas enumeradas adiante tem de possuir permissões de intranet |
Escola \ Secretaria: |
Documentos Apoio (só os docs) >> passam para ionline |
Calendario Escolar > passa a pasta ionline |
Calendario de Exames > passa a pasta ionline |
Projectos Finais > criar pasta escola\projectos ionline |
Actas do Conselho directivo > ionline com permissões especias |
Pasta da Legislação > NovaWeb |
Pasta Bolonha ZIP Pack deploy |
Pasta Horarios Criar hierarquia. > Intranet/horarios |
Jorge Meu |
Tirar o getSerializable de noovo do domainObject e ver de onde devem herdar |
### |
Listagem de Docentes a fazer por jorge |
39,5 → 53,3 |
FABIO |
Imagens de Origem das noticias, parece-me que estão mal na pasta imgs |
criar por defeito no DBInit um user com o role de cada uma das imagens (Secretaria, CI, CD, CC, CP, etc) |
Meter mensagem no PRIMEIRO Login a dizer que caso não existam unidades curriculares para se deslocar ao Serviços Infpormaticos |
/impl/buildCurriculumTransformer.xml |
---|
New file |
0,0 → 1,39 |
<?xml version="1.0" encoding="UTF-8"?> |
<project name="estgweb" basedir="." default="help"> |
<import file="build.xml"/> |
<target name="buildTransformer" > |
<mkdir dir="${dist.dir}/xsd"/> |
<mkdir dir="${dist.dir}/xsd/lib"/> |
<mkdir dir="${dist.dir}/xsd/classes"/> |
<copy todir="${dist.dir}/xsd/lib"> |
<fileset dir="${common.lib.dir}/dom4j"> |
<include name="*.jar"/> |
</fileset> |
<fileset dir="${common.lib.dir}/log4j"> |
<include name="*.jar"/> |
</fileset> |
<fileset dir="${common.lib.dir}/saxon"> |
<include name="*.jar"/> |
</fileset> |
<fileset dir="${dist.dir}"> |
<include name="*.jar"/> |
</fileset> |
</copy> |
<copy todir="${dist.dir}/xsd/classes"> |
<fileset dir="${dist.dir}"> |
<include name="**/*.txt"/> |
<include name="**/*.xml"/> |
<include name="**/*.xsd"/> |
<include name="**/*.xsl"/> |
<include name="**/*.properties"/> |
</fileset> |
</copy> |
<copy todir="${dist.dir}/xsd" file="${src.scripts}/transformXml.bat"/> |
<copy file="${src.xsd}/curso_EI.xml" tofile="${dist.dir}/xsd/in.xml"/> |
<zip zipfile="dist/xsd.zip"> |
<fileset dir="dist"> |
<include name="xsd/**/*"/> |
</fileset> |
</zip> |
</target> |
</project> |
/impl/build.xml |
---|
1,4 → 1,4 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
<project name="estgweb" basedir="." default="help"> |
29,6 → 29,8 |
--> |
<!--caso queiramos apagar os pregen hbm delPreGenAppScripts--> |
<target name="all" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build,generateHibernateSql,build.war,dbInit"/> |
<target name="allWebNode" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build.war"/> |
<target name="dataNode" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build,generateHibernateSql"/> |
<!-- |
98,19 → 100,19 |
<target name="tomcat.redeployContext" depends="tomcat.undeploy,build.war" > |
<echo message="${tomcat.manager}"/> |
<tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}" |
config="file:/${basedir}/${dist.dir}/estgweb.xml" |
config="file:${basedir}/${dist.dir}/estgweb.xml" |
username="${tomcat.username}" password="${tomcat.password}" /> |
</target> |
<target name="tomcat.deploy" depends="build.war" > |
<echo message="${tomcat.manager}"/> |
<target name="tomcat.deploy" depends="war" > |
<echo message="${tomcat.manager} path:${tomcat.context.path.install} warfile:file:${basedir}/${dist.dir}/${tomcat.war.file}"/> |
<tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}" |
war="file:/${basedir}/${dist.dir}/${tomcat.war.file}" |
war="file:${basedir}/${dist.dir}/${tomcat.war.file}" |
username="${tomcat.username}" password="${tomcat.password}" /> |
</target> |
<target name="tomcat.redeploy" depends="tomcat.undeploy,build.war"> |
<echo message="${tomcat.manager}"/> |
<target name="tomcat.redeploy" depends="tomcat.undeploy,war"> |
<echo message="${tomcat.manager} path:${tomcat.context.path.install} warfile:file:${basedir}/${dist.dir}/${tomcat.war.file}"/> |
<tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}" |
war="file:/${basedir}/${dist.dir}/${tomcat.war.file}" |
war="file:${basedir}/${dist.dir}/${tomcat.war.file}" |
username="${tomcat.username}" password="${tomcat.password}" /> |
</target> |
<target name="tomcat.undeploy"> |
144,7 → 146,7 |
<antcall target="createConfigurationFiles"/> |
</target> |
<target name="compile" depends="initDirs" description="Compile All"> |
<javac encoding="UTF-8" destdir="${build.dir.classes}" debug="true" optimize="true" fork="true" deprecation="true" verbose="true" failonerror="true"> |
<javac encoding="UTF-8" source="1.5" target="1.5" destdir="${build.dir.classes}" debug="true" optimize="true" fork="true" deprecation="true" verbose="true" failonerror="true"> |
<src path="${src.dir}"/> |
<src path="${gen.dir.java}"/> |
<classpath refid="pathToToolsLib"/> |
168,6 → 170,8 |
<copy overwrite="true" todir="${dist.dir}"> |
<fileset dir="${build.dir.classes}" includes="**/*.properties"/> |
<fileset dir="${build.dir.classes}" includes="**/*.xml"/> |
<fileset dir="${build.dir.classes}" includes="**/*.xsd"/> |
<fileset dir="${build.dir.classes}" includes="**/*.xsl"/> |
</copy> |
<copy overwrite="true" todir="${dist.dir}" file="${conf.dir}/tomcat/estgweb.xml"/> |
<replace file="${dist.dir}/estgweb.xml" value=""> |
193,7 → 197,7 |
</replace> |
</target> |
<target name="build.war" depends="build,dist" description="Make war distribution"> |
<target name="build.war" depends="dist" description="Make war distribution"> |
<mkdir dir="${build.dir.war}"/> |
<mkdir dir="${build.dir.war}/WEB-INF"/> |
<mkdir dir="${build.dir.war}/WEB-INF/lib"/> |
234,6 → 238,9 |
<fileset dir="${common.lib.dir}/jaxrpc"> |
<include name="**/*.jar"/> |
</fileset> |
<fileset dir="${common.lib.dir}/saxon"> |
<include name="**/*.jar"/> |
</fileset> |
</copy> |
<copy file="${dist.dir}/estgweb.jar" todir="${build.dir.war}/WEB-INF/lib"/> |
<copy todir="${build.dir.war}/WEB-INF" overwrite="true"> |
249,6 → 256,8 |
<include name="**/*.txt"/> |
<include name="**/*.xml"/> |
<include name="**/*.exe"/> |
<include name="**/*.xsl"/> |
<include name="**/*.xsd"/> |
</fileset> |
</copy> |
<copy todir="${build.dir.war}" overwrite="true"> |
283,12 → 292,19 |
Generate Configuration Files TASKS |
========================================================================================== |
--> |
<target name="createConfigurationFiles" depends="copyConfigurationFiles,replaceFiltersConfigurationFiles,generateHibernateCfgXml"/> |
<target name="createConfigurationFiles" depends="compileToolFiles,copyConfigurationFiles,replaceFiltersConfigurationFiles,generateHibernateCfgXml"/> |
<target name="copyConfigurationFiles"> |
<copy overwrite="true" todir="${build.dir.classes}"> |
<fileset dir="${hbm.dir}" includes="**/*.hbm.xml"/> |
</copy> |
<mkdir dir="${build.dir.classes}/template/xsd"/> |
<copy todir="${build.dir.classes}/template/xsd" overwrite="true"> |
<fileset dir="${src.xsd}"> |
<include name="**/*.xsl"/> |
<include name="**/*.xsd"/> |
</fileset> |
</copy> |
<copy overwrite="true" todir="${build.dir.classes}"> |
<fileset dir="${src.dir}" includes="**/*.xsl"/> |
</copy> |
299,6 → 315,10 |
<copy overwrite="true" todir="${email.templates.dir.build}"> |
<fileset dir="${email.templates.dir.conf}" includes="*.*"/> |
</copy> |
<mkdir dir="${sms.templates.dir.build}"/> |
<copy overwrite="true" todir="${sms.templates.dir.build}"> |
<fileset dir="${sms.templates.dir.conf}" includes="*.*"/> |
</copy> |
<mkdir dir="${assignement.templates.dir.build}"/> |
<copy overwrite="true" todir="${assignement.templates.dir.build}"> |
<fileset dir="${assignement.templates.dir.conf}" includes="*.*"/> |
313,13 → 333,15 |
<copy overwrite="true" todir="${build.dir.intranet.setup.folders.file}" file="${intranet.setup.folders.file.src}"/> |
<java classname="${scripts.buider.class}" classpath="${build.dir.classes}"> |
<arg value="${basedir}\..\common"/> |
<arg value="${basedir}${file.separator}..${file.separator}common"/> |
<arg value="${basedir}${file.separator}build${file.separator}ant${file.separator}classes"/> |
<arg value="${build.dir.scripts}"/> |
<arg value="${scripts.target.libs.file}"/> |
</java> |
<copy overwrite="true" todir="${build.dir.scripts}"> |
<fileset dir="${scripts.source.dir}" includes="*.*"/> |
<fileset dir="${src.scripts}" includes="*.*"/> |
</copy> |
</target> |
<target name="replaceFiltersConfigurationFiles"> |
354,6 → 376,7 |
</replace> |
<replace file="${build.dir.classes}/${log4j.properties.filename}"> |
<replacefilter token="@log.file@" value="${log.file}"/> |
<replacefilter token="@log.level@" value="${log.level}"/> |
</replace> |
<replace file="${build.dir.scripts}/${scripts.setenv.file}"> |
<replacefilter token="@tomcat.home@" value="${tomcat.home}"/> |
475,4 → 498,4 |
<!--<java classname="mitra.oaiharvest.index.IndexEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>--> |
<!--</target>--> |
</project> |
</project> |
/common/saxon/saxon9-dom4j.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |
/common/saxon/saxon9.jar |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+ application/octet-stream |