Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 225 → Rev 254

/log.txt
File deleted
\ No newline at end of file
/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
43,6 → 43,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
/impl/conf/language/MessageResourcesAnnouncements.properties
68,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
/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
87,6 → 87,9
<put name="left" value="/user/courseunits/menu.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/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/web.xml
63,6 → 63,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 → 157,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 → 205,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/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,24 → 49,45
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
 
 
##################################################
##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=
#TODO USAR a de baixo quando testar as unidades curriculares
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://localhost:8080
estgp.encoding=ISO-8859-1
server.estgp.start.path=/templates
 
#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
241,11 → 281,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
/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
841,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>
1014,6 → 1022,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>
 
 
 
1246,9 → 1264,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
12,6 → 12,7
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">@hibernate.show.sql@</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="connection.pool_size">10</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">1800</property>
/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
9,6 → 9,7
import java.util.List;
import java.util.ArrayList;
import java.text.MessageFormat;
import java.io.Serializable;
 
import pt.estgp.estgweb.Globals;
 
18,10 → 19,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 → 39,29
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);
 
// Get session
Session session = Session.getDefaultInstance(props, null);
 
// 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 List<String> getRecipients()
{
return recipients;
}
 
public static void main(String[]args)
public String getFrom()
{
List<String> recipients = new ArrayList<String>();
recipients.add("jmachado@estgp.pt");
return from;
}
 
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 String getEmailTemplateName()
{
return emailTemplateName;
}
 
public List<String> getArguments()
{
return arguments;
}
}
/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");
127,7 → 135,14
 
 
 
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 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 → 155,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
11,11 → 11,19
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.net.MalformedURLException;
 
import jomm.utils.FilesUtils;
 
90,8 → 98,24
DaoFactory.getCourseDaoImpl().save(c);
}
 
String htmlTrasformationResult = null;
 
if(stream != null && size > 0)
{
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();
}
String extension = FilesUtils.getExtension(name);
if(c.getStudiesPlan() == null)
{
104,7 → 128,9
}
}
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 → 145,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/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
387,7 → 385,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/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,208
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
for (String recipient : email.getRecipients()) {
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(recipient));
}
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)
{
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/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;
 
139,7 → 136,25
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/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,60
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 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(3000);
}
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;
135,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/announcements/CreateAnnouncementService.java
2,15 → 2,22
 
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.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 → 28,8
public class CreateAnnouncementService implements IService
{
 
 
 
private static final Logger logger = Logger.getLogger(CreateAnnouncementService.class);
 
private static final String ALL_ROLE = Globals.ALL_ROLE;
190,8 → 199,8
}
}
a.setStatus(validation);
 
}
 
AnnouncementView aView;
if(announcementView.getId() <= 0)
{
204,6 → 213,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/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/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/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;
54,11 → 55,11
.createAlias("students","st")
.add(eq("st.id", studentId)).list();
}
public List<CourseUnit> loadTeachedImportYearUnits(long studentId, String importYear)
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)).list();
}
 
public CourseUnit loadBySigesCodeUnique(String sigesCode)
71,11 → 72,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();
/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,6 → 43,12
getTeachedUnitsView();
return teachedCoursesView;
}
 
public List<Course> getTeachedCoursesCurrenYearView()
{
getTeachedUnitsCurrentYearView();
return teachedCoursesCurrentYearView;
}
public List<CourseUnit> getTeachedUnitsView()
{
71,6 → 79,35
return teachedUnitsView;
}
 
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);
/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/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/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/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 java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.IOException;
 
/**
* @author Jorge Machado
56,7 → 53,7
startPath = "";
String from = "";
if(request.getParameter("from") != null)
from = "&" + request.getParameter("from");
from = "&from=" + request.getParameter("from");
super.setQueryString("courseUnitView.id=" + request.getParameter("courseUnitView.id") + startPath + from,request);
try
{
/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/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/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
55,7 → 55,7
</class>
 
<class name="pt.estgp.estgweb.domain.CourseUnitQuestion" table="courseUnitQuestion" abstract="true">
<meta attribute="extends">pt.estgp.estgweb.domain.DomainSerializableObject</meta>
<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,6 → 66,7
<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>
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,28 → 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>
<!--<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/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/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/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/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;
}
462,6 → 474,7
.block
{
margin-bottom:10px;
border-left: 1px solid #8EC73F;
}
 
.block .zerofound, .block table
484,7 → 497,7
padding-left: 10px;
}
.block p, .navLeftMenu h2 {
background-color: #ededed;
background-color: #8EC73F;
padding-left: 10px;
margin: 0;
 
616,6 → 629,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;
639,6 → 653,10
margin-left: 15px;
}
 
.listDecimal li
{
padding-top:5px;
}
.listDisc UL /*Lista circulo preto*/
{
/*LIST-STYLE-TYPE: disc;*/
730,7 → 748,7
/*FlashCenterNews*/
#flashCenterNews {
margin-top: 2px;
border-top-style: dotted;
/* border-top-style: dotted;*/
border-top-color: gray;
}
 
744,7 → 762,7
}
 
#flashCenterNews h2 a{
color: #8EC73F;
color: #589A2C;
font-weight: bold;
text-decoration: none;
}
766,14 → 784,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 {
}
1444,3 → 1507,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/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> &gt;</li>
<li class="navPlace"><a href="<%=context + navPlace.getUrl()%>"><%=navPlace.getMessage(request)%></a> &gt;</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>
/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
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/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/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/home/teacher.jsp
18,7 → 18,7
<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">
<logic:iterate id="unit" name="UserSession" property="user.teachedUnitsCurrentYearView" type="pt.estgp.estgweb.domain.CourseUnit">
<li>
<html:link action="/user/startLoadCourseUnitFromHome?id=${unit.id}">${unit.name} (${unit.courseName})</html:link>
</li>
/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/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>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="message" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="sPhones" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="secret" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"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/SiGesWEBSoap.java
231,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>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
@XmlRootElement(name = "sendSmsSeparatedWithCommaResponse")
public class SendSmsSeparatedWithCommaResponse {
 
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/ObjectFactory.java
30,259 → 30,259
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre }
*
*/
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() {
return new GetDisciplinasDaInstituicaoResponse();
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() {
return new GetDisciplinasDaInstituicaoSemestre();
}
 
/**
* Create an instance of {@link SendSmsResponse }
* Create an instance of {@link GetDisciplinasDaInstituicao }
*
*/
public SendSmsResponse createSendSmsResponse() {
return new SendSmsResponse();
public GetDisciplinasDaInstituicao createGetDisciplinasDaInstituicao() {
return new GetDisciplinasDaInstituicao();
}
 
/**
* Create an instance of {@link Nota }
* Create an instance of {@link SendSmsS }
*
*/
public Nota createNota() {
return new Nota();
public SendSmsS createSendSmsS() {
return new SendSmsS();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre }
* Create an instance of {@link GetAulasResponse }
*
*/
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() {
return new GetCodigosDisciplinasDaInstituicaoSemestre();
public GetAulasResponse createGetAulasResponse() {
return new GetAulasResponse();
}
 
/**
* Create an instance of {@link SendSms }
* Create an instance of {@link ArrayOfNota }
*
*/
public SendSms createSendSms() {
return new SendSms();
public ArrayOfNota createArrayOfNota() {
return new ArrayOfNota();
}
 
/**
* Create an instance of {@link GetAlunoInscrito }
* Create an instance of {@link SendSmsSResponse }
*
*/
public GetAlunoInscrito createGetAlunoInscrito() {
return new GetAlunoInscrito();
public SendSmsSResponse createSendSmsSResponse() {
return new SendSmsSResponse();
}
 
/**
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse }
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao }
*
*/
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() {
return new GetCodigosDocentesInscritosDaInstituicaoResponse();
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() {
return new GetCodigosDocentesInscritosDaInstituicao();
}
 
/**
* Create an instance of {@link GetDocenteResponse }
* Create an instance of {@link SendSmsSeparatedWithCommaResponse }
*
*/
public GetDocenteResponse createGetDocenteResponse() {
return new GetDocenteResponse();
public SendSmsSeparatedWithCommaResponse createSendSmsSeparatedWithCommaResponse() {
return new SendSmsSeparatedWithCommaResponse();
}
 
/**
* Create an instance of {@link GetAulas }
* Create an instance of {@link Aula }
*
*/
public GetAulas createGetAulas() {
return new GetAulas();
public Aula createAula() {
return new Aula();
}
 
/**
* Create an instance of {@link ArrayOfDisciplina }
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao }
*
*/
public ArrayOfDisciplina createArrayOfDisciplina() {
return new ArrayOfDisciplina();
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() {
return new GetCodigosAlunosInscritosDaInstituicao();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestre }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse }
*
*/
public GetDisciplinasDaInstituicaoSemestre createGetDisciplinasDaInstituicaoSemestre() {
return new GetDisciplinasDaInstituicaoSemestre();
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() {
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse();
}
 
/**
* Create an instance of {@link Disciplina }
* Create an instance of {@link GetDocente }
*
*/
public Disciplina createDisciplina() {
return new Disciplina();
public GetDocente createGetDocente() {
return new GetDocente();
}
 
/**
* Create an instance of {@link Docente }
* Create an instance of {@link GetAulas }
*
*/
public Docente createDocente() {
return new Docente();
public GetAulas createGetAulas() {
return new GetAulas();
}
 
/**
* Create an instance of {@link ArrayOfDecimal }
* Create an instance of {@link GetDisciplinasDaInstituicaoResponse }
*
*/
public ArrayOfDecimal createArrayOfDecimal() {
return new ArrayOfDecimal();
public GetDisciplinasDaInstituicaoResponse createGetDisciplinasDaInstituicaoResponse() {
return new GetDisciplinasDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link ArrayOfAula }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoResponse }
*
*/
public ArrayOfAula createArrayOfAula() {
return new ArrayOfAula();
public GetCodigosDisciplinasDaInstituicaoResponse createGetCodigosDisciplinasDaInstituicaoResponse() {
return new GetCodigosDisciplinasDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link ArrayOfNota }
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse }
*
*/
public ArrayOfNota createArrayOfNota() {
return new ArrayOfNota();
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() {
return new GetCodigosAlunosInscritosDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link GetAlunoInscritoResponse }
* Create an instance of {@link GetNotas }
*
*/
public GetAlunoInscritoResponse createGetAlunoInscritoResponse() {
return new GetAlunoInscritoResponse();
public GetNotas createGetNotas() {
return new GetNotas();
}
 
/**
* Create an instance of {@link GetNotas }
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse }
*
*/
public GetNotas createGetNotas() {
return new GetNotas();
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() {
return new GetDisciplinasDaInstituicaoSemestreResponse();
}
 
/**
* Create an instance of {@link SendSmsS }
* Create an instance of {@link Disciplina }
*
*/
public SendSmsS createSendSmsS() {
return new SendSmsS();
public Disciplina createDisciplina() {
return new Disciplina();
}
 
/**
* Create an instance of {@link GetAulasResponse }
* Create an instance of {@link SendSmsResponse }
*
*/
public GetAulasResponse createGetAulasResponse() {
return new GetAulasResponse();
public SendSmsResponse createSendSmsResponse() {
return new SendSmsResponse();
}
 
/**
* Create an instance of {@link GetDocente }
* Create an instance of {@link SendSmsSeparatedWithComma }
*
*/
public GetDocente createGetDocente() {
return new GetDocente();
public SendSmsSeparatedWithComma createSendSmsSeparatedWithComma() {
return new SendSmsSeparatedWithComma();
}
 
/**
* Create an instance of {@link GetNotasResponse }
* Create an instance of {@link SendSms }
*
*/
public GetNotasResponse createGetNotasResponse() {
return new GetNotasResponse();
public SendSms createSendSms() {
return new SendSms();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicao }
* Create an instance of {@link GetAlunoInscritoResponse }
*
*/
public GetDisciplinasDaInstituicao createGetDisciplinasDaInstituicao() {
return new GetDisciplinasDaInstituicao();
public GetAlunoInscritoResponse createGetAlunoInscritoResponse() {
return new GetAlunoInscritoResponse();
}
 
/**
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicao }
* Create an instance of {@link Nota }
*
*/
public GetCodigosAlunosInscritosDaInstituicao createGetCodigosAlunosInscritosDaInstituicao() {
return new GetCodigosAlunosInscritosDaInstituicao();
public Nota createNota() {
return new Nota();
}
 
/**
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicao }
* Create an instance of {@link GetAlunoInscrito }
*
*/
public GetCodigosDocentesInscritosDaInstituicao createGetCodigosDocentesInscritosDaInstituicao() {
return new GetCodigosDocentesInscritosDaInstituicao();
public GetAlunoInscrito createGetAlunoInscrito() {
return new GetAlunoInscrito();
}
 
/**
* Create an instance of {@link ArrayOfString }
* Create an instance of {@link GetNotasResponse }
*
*/
public ArrayOfString createArrayOfString() {
return new ArrayOfString();
public GetNotasResponse createGetNotasResponse() {
return new GetNotasResponse();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoResponse }
* Create an instance of {@link ArrayOfDisciplina }
*
*/
public GetCodigosDisciplinasDaInstituicaoResponse createGetCodigosDisciplinasDaInstituicaoResponse() {
return new GetCodigosDisciplinasDaInstituicaoResponse();
public ArrayOfDisciplina createArrayOfDisciplina() {
return new ArrayOfDisciplina();
}
 
/**
* Create an instance of {@link Aula }
* Create an instance of {@link GetDocenteResponse }
*
*/
public Aula createAula() {
return new Aula();
public GetDocenteResponse createGetDocenteResponse() {
return new GetDocenteResponse();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestreResponse }
* Create an instance of {@link GetCodigosDocentesInscritosDaInstituicaoResponse }
*
*/
public GetCodigosDisciplinasDaInstituicaoSemestreResponse createGetCodigosDisciplinasDaInstituicaoSemestreResponse() {
return new GetCodigosDisciplinasDaInstituicaoSemestreResponse();
public GetCodigosDocentesInscritosDaInstituicaoResponse createGetCodigosDocentesInscritosDaInstituicaoResponse() {
return new GetCodigosDocentesInscritosDaInstituicaoResponse();
}
 
/**
* Create an instance of {@link GetDisciplinasDaInstituicaoSemestreResponse }
* Create an instance of {@link ArrayOfAula }
*
*/
public GetDisciplinasDaInstituicaoSemestreResponse createGetDisciplinasDaInstituicaoSemestreResponse() {
return new GetDisciplinasDaInstituicaoSemestreResponse();
public ArrayOfAula createArrayOfAula() {
return new ArrayOfAula();
}
 
/**
* Create an instance of {@link SendSmsSResponse }
* Create an instance of {@link GetCodigosDisciplinasDaInstituicaoSemestre }
*
*/
public SendSmsSResponse createSendSmsSResponse() {
return new SendSmsSResponse();
public GetCodigosDisciplinasDaInstituicaoSemestre createGetCodigosDisciplinasDaInstituicaoSemestre() {
return new GetCodigosDisciplinasDaInstituicaoSemestre();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicao }
* Create an instance of {@link ArrayOfString }
*
*/
public GetCodigosDisciplinasDaInstituicao createGetCodigosDisciplinasDaInstituicao() {
return new GetCodigosDisciplinasDaInstituicao();
public ArrayOfString createArrayOfString() {
return new ArrayOfString();
}
 
/**
294,11 → 294,27
}
 
/**
* Create an instance of {@link GetCodigosAlunosInscritosDaInstituicaoResponse }
* Create an instance of {@link ArrayOfDecimal }
*
*/
public GetCodigosAlunosInscritosDaInstituicaoResponse createGetCodigosAlunosInscritosDaInstituicaoResponse() {
return new GetCodigosAlunosInscritosDaInstituicaoResponse();
public ArrayOfDecimal createArrayOfDecimal() {
return new ArrayOfDecimal();
}
 
/**
* Create an instance of {@link GetCodigosDisciplinasDaInstituicao }
*
*/
public GetCodigosDisciplinasDaInstituicao createGetCodigosDisciplinasDaInstituicao() {
return new GetCodigosDisciplinasDaInstituicao();
}
 
/**
* Create an instance of {@link Docente }
*
*/
public Docente createDocente() {
return new Docente();
}
 
}
/impl/gen/java/pt/ipportalegre/siges/web/services/Nota.java
20,7 → 20,7
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="cd_duracao" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cd_duracao" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="codigoInstituicao" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
* &lt;element name="cd_lectivo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="codigo_disciplina" type="{http://www.w3.org/2001/XMLSchema}decimal"/>
51,8 → 51,8
})
public class Nota {
 
@XmlElement(name = "cd_duracao", required = true)
protected BigDecimal cdDuracao;
@XmlElement(name = "cd_duracao")
protected String cdDuracao;
@XmlElement(required = true)
protected BigDecimal codigoInstituicao;
@XmlElement(name = "cd_lectivo")
76,10 → 76,10
*
* @return
* possible object is
* {@link BigDecimal }
* {@link String }
*
*/
public BigDecimal getCdDuracao() {
public String getCdDuracao() {
return cdDuracao;
}
 
88,10 → 88,10
*
* @param value
* allowed object is
* {@link BigDecimal }
* {@link String }
*
*/
public void setCdDuracao(BigDecimal value) {
public void setCdDuracao(String value) {
this.cdDuracao = value;
}
 
/impl/build.properties
55,6 → 55,7
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
110,6 → 111,11
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}
/impl/etc/todo/todo.txt
1,25 → 1,33
Jorge
Testes de Segunda oportunidade enviar online
 
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 → 47,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
144,7 → 144,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 → 168,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="">
234,6 → 236,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 → 254,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 → 290,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 → 313,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="*.*"/>
321,6 → 339,7
<copy overwrite="true" todir="${build.dir.scripts}">
<fileset dir="${src.scripts}" includes="*.*"/>
</copy>
 
</target>
 
<target name="replaceFiltersConfigurationFiles">
/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