Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 56 → Rev 61

/log.txt
1,5 → 1,5
Estão feitos os templates base para o pedro começar a fazer as paginas á vontade.
Foi criado dois tipos diferentes de templates:
 
*templatePortal-template mais especifico para as páginas que vão ter listas de links para outras páginas
*templatePage-template genérico com o qual o pedro têm vários objectos para poder contruir grande parte dos sites da escola
-Auto validação a funcionar
-Corrigido noticias do lado esquerdo nos portais o tipo que aparecia estava errado
-No index os announcements center e bottom já carregam as imagens da base de dados, carregam o tipo de noticas certo
-Acrescentado links para cantinas e associação de estudantes nos alunos (falta por a redirecionar)
-Atribuição automatica de roles atraves do LDAP feita (fazer alguns testes)
/impl/conf/language/MessageResources.properties
141,6 → 141,11
portal.instituto.politecnico.merchandising=Merchandising
portal.instituto.politecnico.cultura.lazer=Cultura e lazer
 
portal.paginas.alunos=Páginas dos Alunos
portal.paginas.exemplo=Exemplo
portal.paginas.alunos.assessoria=Assessoria de Administração
portal.paginas.nucleo.engenharia=Nucleo de Engenharia
 
portal.servicos.online=Serviços on-line
portal.servicos.online.webmail=Webmail
portal.servicos.online.eduroam=Eduroam
208,6 → 213,7
#Mensagens Status
authentication.ok=Benvindo Fulano
logout.ok=Caro {0}, obrigado por usar o nosso serviço.
authentication.first.time=Olá bem-vindo, é a primeira vez que que se esta a ligar
authenticate.already.authenticated=O seu usuário já está autênticado
username=Nome de Utilizador
password=Password
217,11 → 223,21
yes=Sim
no=Não
 
#Login
login.firts.time.name=Nome
login.first.time.address=Morada
login.first.time.zip=Código Postal
login.first.time.country=País
login.first.time.email=E-mail
login.first.time.phone.number=Telefone
 
#Cursos
course.aa=Acessoria e Administração
 
#Nucleos
nucleo.engenharia=Nucleo de Engenharia
 
 
 
 
 
/impl/conf/WEB-INF/struts/struts-default.xml
89,6 → 89,10
<forward name="accaoSocialDocentesPortalMenu" path="page.docentesAccaoSocialPortalMenu.proxy"/>
<forward name="orgaosDocentesPortalMenu" path="page.docentesOrgaoPortalMenu.proxy"/>
<forward name="institutoPolitecnicoDocentesPortalMenu" path="page.docentesInstitutoPolitecnicoPortalMenu.proxy"/>
<!--Assessoria Administracao-->
<forward name="layoutAA" path="page.layoutAA.proxy"/>
<!--Nucleo de Engenharia-->
<forward name="layoutNucleoEng" path="page.layoutNucleoENG.proxy"/>
 
 
<forward name="layoutCourses" path="page.layoutCourses.proxy"/>
115,6 → 119,7
input="page.authentication">
<forward name="success" path="page.authentication.ok"/>
<forward name="logout" path="page.logout.ok"/>
<forward name="firstTimeAuthenticate" path="page.first.time.authenticate"/>
</action>
 
 
/impl/conf/WEB-INF/struts/tiles-processworkflow.xml
1,8 → 1,8
<?xml version="1.0" encoding="UTF-8" ?>
 
<!--<!DOCTYPE tiles-definitions PUBLIC-->
<!--"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"-->
<!--"http://struts.apache.org/dtds/tiles-config_1_1.dtd">-->
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://struts.apache.org/dtds/tiles-config_1_1.dtd">
 
<tiles-definitions>
10,4 → 10,8
<definition name="page.load.process" extends="base.layout1">
</definition>
 
<definition name="page.teste" extends="base.layout1">
<put name="body" value="/teste.jsp"/>
</definition>
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-default.xml
88,6 → 88,12
<definition name="page.layoutPortal.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutAssessoria.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutNuleoEngenharia.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
 
 
<definition name="page.layout1.proxy.ftp" extends="base.layout1">
119,7 → 125,8
<put name="body" value="/public/portals/futurosAlunos/futureStudent.jsp"/>
</definition>
<definition name="page.portal.teacher" extends="base.layoutPortal">
<put name="body" value="/public/portals/Docentes/teacher.jsp"/>
<put name="body" value="/public/portals/Docentes/teacher.jsp"/>
<!-- <put name="body" value="/templates/templatePage.jsp"/> -->
</definition>
 
<!--Alunos-->
238,6 → 245,16
<put name="topnav" value="/public/portals/Docentes/topnavInstitutoPolitecnico.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/institutoPolitecnico.jsp" />
</definition>
<!--Alunos Assessoria-->
<definition name="page.layoutAA.proxy" extends="page.layoutAssessoria.proxy">
<put name="topnav" value="/public/portals/assessoria/topnavAssessoria.jsp" />
<put name="navigationLeft" value="/public/portals/assessoria/assessoria.jsp" />
</definition>
<!--Nucleo de Engenharia-->
<definition name="page.layoutNucleoENG.proxy" extends="page.layoutNuleoEngenharia.proxy">
<put name="topnav" value="/public/portals/nucleoEngenharia/topnavNucleoEngenharia.jsp" />
<put name="navigationLeft" value="/public/portals/nucleoEngenharia/nucleoEngenharia.jsp" />
</definition>
 
 
 
260,6 → 277,10
<put name="title" value="Logout Success" />
<put name="body" value="/auth/logoutok.jsp" />
</definition>
<definition name="page.first.time.authenticate" extends="base.layout1">
<put name="title" value="First Time Authenticate" />
<put name="body" value="/auth/firstTimeAuthenticate.jsp" />
</definition>
 
<!-- ERRORS DEFINITIONS -->
<definition name="page.error.500" extends="base.error.definition">
/impl/conf/WEB-INF/struts/struts-processworkflow.xml
1,13 → 1,13
<?xml version="1.0" encoding="UTF-8"?>
 
<!--<!DOCTYPE struts-config PUBLIC-->
<!--"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"-->
<!--"http://struts.apache.org/dtds/struts-config_1_3.dtd">-->
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
 
<struts-config>
 
<form-beans>
<form-bean type="pt.estgp.estgweb.web.form.TesteForm" name="TesteForm"/>
</form-beans>
 
<global-exceptions>
20,6 → 20,17
 
 
<action-mappings>
 
<!--Authentication-->
<action path="/testeStart" forward="page.teste"/>
<action path="/teste"
type="pt.estgp.estgweb.web.controllers.TesteController"
name="TesteForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.teste">
<forward name="ok" path="page.teste"/>
</action>
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/struts-announcements.xml
1,8 → 1,8
<?xml version="1.0" encoding="UTF-8"?>
 
<!--<!DOCTYPE struts-config PUBLIC-->
<!--"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"-->
<!--"http://struts.apache.org/dtds/struts-config_1_3.dtd">-->
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
 
<struts-config>
 
/impl/conf/app.properties
17,6 → 17,8
ionline.user=Baco_web
 
server.estgp=http://www.estgp.pt/testes/nova_web
server.estgweb=http://www.estgp.pt/testes/estgweb
estgweb.encoding=UTF-8
estgp.encoding=UTF-8
 
################################################
56,6 → 58,8
# Announcements
#
announcements.text.summary.size=250
announcements.text.summary.size.small=100
 
announcements.automatic.validation.role.1=all
announcements.automatic.validation.role.2=admin
announcements.automatic.validation.role.3=ci
/impl/conf/berserk/sd.xml
163,4 → 163,16
</filterChains>
</service>
 
 
<!--Teste-->
<service>
<name>TesteSaver</name>
<implementationClass>pt.estgp.estgweb.services.teste.TesteService</implementationClass>
<description>Saves a teste</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
</filterChains>
</service>
 
</serviceDefinitions>
/impl/src/java/jomm/dao/impl/AbstractDao.java
15,6 → 15,7
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.Date;
 
 
/**
400,6 → 401,8
public Serializable save(CLAZZ obj)
{
try {
DomainObject o = (DomainObject) obj;
o.setSaveDate(new Date());
return (Serializable) getCurrentSession().save(obj);
}
catch (HibernateException e) {
/impl/src/java/jomm/web/utils/NavPlace.java
27,6 → 27,7
 
public String getUrl()
{
 
if(url != null)
{
if(url.indexOf("?")>=0)
/impl/src/java/pt/estgp/estgweb/services/teste/TesteService.java
New file
0,0 → 1,34
package pt.estgp.estgweb.services.teste;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.authenticate.LogoutService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import org.apache.log4j.Logger;
 
/*
* @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 TesteService implements IService
{
private static final Logger logger = Logger.getLogger(TesteService.class);
 
public void run(Teste t) throws ServiceException
{
DaoFactory.getTesteDaoImpl().save(t);
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadRoleTypeMaxAnnouncementsService.java
60,8 → 60,8
 
//tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico
//ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim já não dá o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para não te falhar os imports nas TAGS aqui no Intellij
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main(String[] args) throws Throwable {
IServiceManager sm = ServiceManager.getInstance();
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTopFlashNewsIterateService.java
55,8 → 55,8
 
//tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico
//ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim já não dá o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para não te falhar os imports nas TAGS aqui no Intellij
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main(String[] args) throws Throwable {
IServiceManager sm = ServiceManager.getInstance();
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java
40,7 → 40,7
 
ILdapManager ldapManager = LdapManagerFactory.getLdapManager();
 
public User run(String username, String password, UserSession userSession) throws ServiceException
public UserSession run(String username, String password, UserSession userSession) throws ServiceException
{
if(userSession.getUser() != null)
throw new AuthenticateException(AuthenticateException.ALREADY_AUTHENTICATED);
76,10 → 76,9
userSession.setUsername(u.getUsername());
userSession.setUser(u);
DaoFactory.getUserSessionDaoImpl().reattach(userSession);
return u;
return userSession;
}
 
//todo completar isto
private User getUserInfo(String username)
{
HashMap map = ldapManager.getUserInfo(username);
/impl/src/java/pt/estgp/estgweb/domain/UserImpl.java
14,7 → 14,6
*/
public class UserImpl extends User
{
 
private boolean newUser = false;
 
 
24,8 → 23,7
 
public void setNewUser(boolean newUser) {
this.newUser = newUser;
}
 
}
/**
* check if user is in some group
* @param g to check
/impl/src/java/pt/estgp/estgweb/domain/TesteImpl.java
New file
0,0 → 1,10
package pt.estgp.estgweb.domain;
 
/**
* @author Jorge Machado
* @date 9/Abr/2008
* @time 16:57:12
* @see pt.estgp.estgweb.domain
*/
public class TesteImpl extends Teste{
}
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java
19,6 → 19,7
public class AnnouncementView extends DomainObjectView
{
public static final int TEXT_SUMMARY_SIZE = ConfigProperties.getIntProperty("announcements.text.summary.size");
public static final int TEXT_SUMMARY_SIZE_SMALL = ConfigProperties.getIntProperty("announcements.text.summary.size.small");
 
private long id;
private String title;
36,7 → 37,7
 
public AnnouncementView()
{}
 
public AnnouncementView(Announcement announcement)
{
 
200,4 → 201,23
return getText().substring(0,getText().substring(0,TEXT_SUMMARY_SIZE).lastIndexOf(' ')) + "...";
return getText();
}
 
public String getTextSummarySmall()
{
if(getText().length() > TEXT_SUMMARY_SIZE_SMALL)
return getText().substring(0,getText().substring(0,TEXT_SUMMARY_SIZE_SMALL).lastIndexOf(' ')) + "...";
return getText();
}
 
public Boolean getHaveAllText()
{
if(getType().equals("top.flash.news"))
{
return getText().length() > TEXT_SUMMARY_SIZE;
}
else
{
return getText().length() > TEXT_SUMMARY_SIZE_SMALL;
}
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TesteDaoImpl.java
New file
0,0 → 1,42
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
 
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class TesteDaoImpl extends TesteDao {
public static TesteDaoImpl getInstance() {
if (myInstance == null)
myInstance = new TesteDaoImpl();
return (TesteDaoImpl) myInstance;
}
 
 
public static void main(String[] args) throws ClassNotIFilterException, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException {
 
Teste t = DomainObjectFactory.createTesteImpl();
t.setMorada("portalegre");
t.setName("jorge");
 
Object[] args2 = {t};
IServiceManager sm = ServiceManager.getInstance();
try {
sm.execute("123", "TesteSaver", args2);
}
catch (Throwable e) {
System.out.println("Already exist fail creation, gone login now");
}
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java
64,4 → 64,9
{
return UrlStatDayDaoImpl.getInstance();
}
 
public static TesteDaoImpl getTesteDaoImpl()
{
return TesteDaoImpl.getInstance();
}
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java
72,4 → 72,10
{
return new UrlStatDayImpl();
}
 
public static TesteImpl createTesteImpl()
{
return new TesteImpl();
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObject.java
21,6 → 21,8
private static final String ALL_ROLE = ConfigProperties.getProperty("user.super");
 
 
public void setSaveDate(Date d){}
 
/**
* can be override in proper classes
* @return generic user owner of object
/impl/src/java/pt/estgp/estgweb/web/Globals.java
12,6 → 12,8
{
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 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";
public static final String PORTAL_ROLE_VIEW_FUTURE_STUDENT ="?role=futureStudent&menu=menu.futurosAlunos";
public static final String PORTAL_ROLE_VIEW_OLD_STUDENT ="?role=oldStudent&menu=menu.antigosAlunos";
20,7 → 22,13
 
public static String getStartLinkPortalMenu(String layout)
{
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END;
if(layout.contains("AA"))
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END_AA;
else if(layout.contains("NucleoEng"))
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END_NUCLEO_ENG;
else
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END;
 
}
 
}
/impl/src/java/pt/estgp/estgweb/web/form/TesteForm.java
New file
0,0 → 1,26
package pt.estgp.estgweb.web.form;
 
import org.apache.struts.action.ActionForm;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.DomainObjectFactory;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 20:42:25
* @see pt.estgp.estgweb.web.form
*/
public class TesteForm extends ApplicationForm
{
 
Teste teste = DomainObjectFactory.createTesteImpl();
 
 
public Teste getTeste() {
return teste;
}
 
public void setTeste(Teste teste) {
this.teste = teste;
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/TesteController.java
New file
0,0 → 1,66
package pt.estgp.estgweb.web.controllers;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.*;
import pt.estgp.estgweb.web.controllers.authenticate.AuthenticateController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.form.TesteForm;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.services.authenticate.AuthenticateException;
import pt.estgp.estgweb.domain.UserSession;
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.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class TesteController extends ApplicationDispatchController
{
 
private static final Logger logger = Logger.getLogger(TesteController.class);
 
public ActionForward save(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
 
 
TesteForm tf = (TesteForm) form;
Object[] args2 = {tf.getTeste()};
IServiceManager sm = null;
try
{
sm = ServiceManager.getInstance();
}
catch (Exception e)
{
logger.error(e);
}
try
{
sm.execute(RequestUtils.getRequester(request), "TesteSaver", args2);
}
catch (Throwable e)
{
System.out.println("Already exist fail creation, gone login now");
}
return mapping.findForward("ok");
 
}
 
 
}
/impl/src/java/pt/estgp/estgweb/web/controllers/authenticate/AuthenticateController.java
12,6 → 12,9
import pt.estgp.estgweb.services.authenticate.AuthenticateException;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserImpl;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
37,12 → 40,12
private static final Logger logger = Logger.getLogger(AuthenticateController.class);
 
public ActionForward login(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
 
String username = request.getParameter("username");
String password = request.getParameter("password");
 
50,9 → 53,13
{
IServiceManager sm = ServiceManager.getInstance();
Object[] args = new Object[]{username,password};
sm.execute(RequestUtils.getRequester(request),"Authenticate",args);
UserSessionProxy.loadUserSession(request);
return mapping.findForward("success");
UserSession userSession = (UserSession) sm.execute(RequestUtils.getRequester(request),"Authenticate",args);
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
if(!((UserImpl)userSession.getUser()).isNewUser())
return mapping.findForward("success");
else
return mapping.findForward("firstTimeAuthenticate");
 
}
catch (AuthenticateException e)
{
71,9 → 78,9
}
 
public ActionForward logout(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
 
/impl/src/hbm/pt/estgp/estgweb/domain/Teste.hbm.xml
New file
0,0 → 1,20
<?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.Teste" table="teste" abstract="true">
<meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</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="name" type="string"/>
<property name="morada" type="string"/>
<subclass name="pt.estgp.estgweb.domain.TesteImpl" discriminator-value="TesteImpl"/>
</class>
</hibernate-mapping>
/impl/src/web/teste.jsp
New file
0,0 → 1,13
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
 
 
<html:form action="/teste">
<input type="hidden" name="dispatch" value="save">
 
Nome <html:text property="teste.name"/><br>
Morada <html:text property="teste.morada"/><br>
<html:submit/>
</html:form>
 
 
/impl/src/web/auth/firstTimeAuthenticate.jsp
New file
0,0 → 1,39
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
 
<bean:message key="authentication.first.time"/> <bean:write name="UserSession" property="name"/>
 
<table>
<tr>
<th><bean:message key="login.firts.time.name"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.address"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.zip"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.email"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.email"/></th>
<td>
</td>
</tr>
</table>
/impl/src/web/css/style.css
191,56 → 191,32
/**********************************************************************************/
 
/****************************** Standard Page Template ***************************/
.page,.pageText
.contentPortal h1
{
font-size :11.5pt;
background-color:#8EC73F;
color:#FFFFFF;
}
 
.page P
.contentPortal p
{
margin:0;
color:#4d4d4d;
}
 
.page h1,.pageHeader h1
.section
{
font-size:15pt;
margin-bottom:10px;
}
 
.page h2,.sectionTitle h2
.contentPortal li a:link,.contentPortal a:visited
{
font-size:13pt;
font-weight:bold;
color:#4d4d4d;
}
 
.page h3,.sectionTitle h3
.contentPortal li a:hover
{
font-size:10pt;
font-weight:bold;
color:#000000;
}
 
.pageHeader h1
{
color:#FFFFFF;
background-color:#8EC73F;
padding-left:10px;
padding-right:10px;
}
 
.portalContent
{
}
 
.pageBlock a:hover
{
color:#8EC73F;
text-decoration :underline;
}
 
.pageColumnTableSolid
{
border:#000000 solid 1px;
}
 
.listClean UL /*Lista sem nada*/
{
LIST-STYLE-TYPE: none;
267,24 → 243,10
LIST-STYLE-TYPE: square;
}
 
.pageSection
{
}
 
.sectionTitle h2
{
color:#000000;
}
 
.pageText,.pageBlock a,.pageBlock a:visited
{
color:#4d4d4d;
text-decoration:none;
}
 
.portalLeftAnnouncements img
{
height:133px;
width:177px;
}
 
/*PASSA PARA AQUI TUDO O QUE SEJA DE BLOCOS E VAMOS LIMPAR TUDO */
332,6 → 294,7
#flashTopNews img
{
height:167px;
width:341px;
}
#flashTopNews * td
{
389,6 → 352,7
#flashCenterNews img,#flashCenterNews td.imageContainer
{
width:133px;
height:133px;
}
 
 
397,6 → 361,7
#flashBottomNews img
{
width:100px;
height:100px;
}
 
#flashBottomNews h2 a:link,#flashBottomNews h2 a:visited
556,6 → 521,15
{
}
 
#footer a:link,#footer a:visited
{
color:#4d4d4d;
}
#footer a:hover
{
color:#8EC73F;
}
 
/**************************************************************************************/
 
/******************************** Bar Module Color ************************************/
583,14 → 557,18
font-weight :bold;
}
/*************************************************************************************/
 
.form , .boxHorizontal
form , .boxHorizontal
{
margin:0;
padding:3px;
border:1px #793B0D solid ;
background-color:#F5BB91;
border:0px #793B0D solid ;
background-color:#FFFFFF;
}
.boxHorizontal
{
padding-top:33px;
padding-left:180px;
}
 
.form th, .boxHorizontal th
{
599,10 → 577,10
padding-top:3px;
padding-bottom:3px;
padding-right:15px;
color:#793B0D;
background-color: #F5BB91;
border: 1px solid #793B0D;
font-size:0.76em;
color:#4d4d4d;
background-color: #FFFFFF;
border: 0px solid #793B0D;
font-size:0.86em;
font-weight:bold;
font-family:Helvetica,sans-serif;
text-align:left;
617,7 → 595,7
padding-right:15px;
color:#793B0D;
background-color: #FFFFFF;
border: 1px solid #793B0D;
border: 0px solid #793B0D;
font-size:0.8em;
font-family:Helvetica,sans-serif;
vertical-align:middle;
626,7 → 604,7
.form .buttons td, .boxHorizontal .buttons td
{
text-align:center;
background-color: #FDE1CD;
background-color: #FFFFFF;
}
 
.form textarea, .boxHorizontal textarea
687,7 → 665,7
 
input[type="button"], input[type="submit"]
{
color: black;
color: #4d4d4d;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
696,10 → 674,10
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;
border-top-color:#4d4d4d;
border-right-color: #4d4d4d;
border-bottom-color: #4d4d4d;
border-left-color: #4d4d4d;
background-color: transparent;
background-image: none;
background-repeat: repeat;
708,7 → 686,7
 
input[type="button"]:hover, input[type="submit"]:hover
{
background-color: #909090;
background-color: #8EC73F;
background-image: none;
background-repeat: repeat;
background-attachment: scroll;
/impl/src/web/public/index.jsp
60,12 → 60,22
<%if(item.getSmallImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</td>
<td class="textContainer">
<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.text}</html:link>
</p>
<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)
92,12 → 102,22
<%if(item.getSmallImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</div>
<div class="textContainer">
<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.text}</html:link>
</p>
<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>
</div>
</td>
<%if(bottomAnnouncements==Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX)
/impl/src/web/public/portals/alunos/student.jsp
18,6 → 18,8
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="accaoSocialLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="paginasAlunosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="orgaosLinks.jsp"/>
/impl/src/web/public/portals/alunos/contactosLinks.jsp
13,5 → 13,5
topNav.addNavPlace(startLink + "/contactosGabineteComunicacao.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.gabinete.comunicacao");
topNav.addNavPlace(startLink + "/contactosReprografia.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.reprografia");
topNav.addNavPlace(startLink + "/contactosDocentesContactos.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.docentes");
topNav.addNavPlace(startLink + "/associacaoEstudantes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.associacao.estudantes");
%>
topNav.addNavPlace("http://www.global.estgp.pt/ae/"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.associacao.estudantes");
%>
/impl/src/web/public/portals/alunos/accaoSocialLinks.jsp
13,5 → 13,5
topNav.addNavPlace(startLink + "/accaoSocialDesportoCultura.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.desporto.cultura");
topNav.addNavPlace(startLink + "/accaoSocialGaap.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.gapp");
topNav.addNavPlace(startLink + "/accaoSocialInformacoes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.informacoes");
topNav.addNavPlace(startLink + "/cantinas"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.cantinas");
topNav.addNavPlace("http://www.ipportalegre.pt/wwwsas/alimentacao_refeitorios.htm"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.cantinas");
%>
/impl/src/web/public/portals/alunos/paginasAlunosLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.alunos");
String startLinkAA = Globals.getStartLinkPortalMenu("layoutAA");
String startLinkNucleoENG = Globals.getStartLinkPortalMenu("layoutNucleoEng");
topNav.addNavPlace(startLinkAA + "/exemplo.html", "portal.paginas.alunos.assessoria");
topNav.addNavPlace(startLinkNucleoENG + "/exemplo.html", "portal.paginas.nucleo.engenharia");
 
%>
/impl/src/web/public/portals/menuPortal.jsp
40,11 → 40,22
NavPlace navPlace = (NavPlace) navKey;
if (navPlace.getUrl() != null)
{
if(!navPlace.getUrl().contains("http://"))
{
%>
<li class="navPlace<%=selectedClass%>">
<a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
else
{
%>
<li class="navPlace<%=selectedClass%>">
<a href="<%=navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
}
else
{
/impl/src/web/public/portals/nucleoEngenharia/nucleoEngenharia.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/nucleoEngenharia/nucleoEngenhariaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/nucleoEngenharia/nucleoEngenhariaLinks.jsp
New file
0,0 → 1,10
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.nucleo.engenharia");
String startLink = Globals.getStartLinkPortalMenu("layoutNucleoEng");
topNav.addNavPlace(startLink + "/exemplo.html", "portal.paginas.exemplo");
%>
/impl/src/web/public/portals/nucleoEngenharia/topnavNucleoEngenharia.jsp
New file
0,0 → 1,14
<%@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" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.paginas.nucleo.engenharia");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/blocoPortal.jsp
11,31 → 11,41
{
%>
<div class="block">
<p><%=MessageResources.getMessage(request, topNav.getTitle())%></p>
<%
}
%>
<ul>
<%
List<NavPlace> navKeys = topNav.getNavPlaces();
for (NavPlace navKey : navKeys)
<p><%=MessageResources.getMessage(request, topNav.getTitle())%></p>
<%
}
%>
<ul>
<%
List<NavPlace> navKeys = topNav.getNavPlaces();
for (NavPlace navKey : navKeys)
{
NavPlace navPlace = (NavPlace) navKey;
if (navPlace.getUrl() != null)
{
NavPlace navPlace = (NavPlace) navKey;
if (navPlace.getUrl() != null)
if(!navPlace.getUrl().contains("http://"))
{
%>
<li>
<a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
%>
<li>
<a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
else
{
%>
<li>
<a href="<%=navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%}
}
else
{
%>
<li><%=MessageResources.getMessage(request, navPlace.getKey())%></li>
<%
}
}
else
{
%>
<li><%=MessageResources.getMessage(request, navPlace.getKey())%></li>
<%
}
}
%>
</ul>
%>
</ul>
</div>
/impl/src/web/public/portals/assessoria/topnavAssessoria.jsp
New file
0,0 → 1,14
<%@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" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.paginas.alunos.assessoria");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/assessoria/assessoria.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/assessoria/assessoriaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/assessoria/assessoriaLinks.jsp
New file
0,0 → 1,10
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.alunos.assessoria");
String startLink = Globals.getStartLinkPortalMenu("layoutAA");
topNav.addNavPlace(startLink + "/exemplo.html", "portal.paginas.exemplo");
%>
/impl/src/web/public/announcements/announcementsPortalLeft.jsp
31,16 → 31,24
<td>
<div class="portalAnnouncementTop">
<div class="imageAnnouncementTop">
<%if(item.getSmallImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
<%if(item.getBigImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</div>
<div class="portalAnnouncement">
<logic:empty name="item" property="url">
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.text}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<div class="portalAnnouncementTitle"><html:link href="${item.url}">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.text}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.textSummarySmall}</html:link></div>
<%}
else
{%>
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
<%}%>
</logic:notEmpty>
</div>
</div>
/impl/src/web/public/announcements/getFlashNews.jsp
23,12 → 23,21
<table class="container">
<tr>
<td class="textContainer">
<h2>
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></html:link>
</h2>
<p>
<html:link action="/loadAnnouncement?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></html:link>
</p>
<%if(announcementView.getUrl()==null)
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<%}
else if(!announcementView.getHaveAllText())
{%>
<h2><a href="<%=announcementView.getUrl()%>"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getText()%></a></p>
<%}
else
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<%}%>
</td>
<td class="imageContainer">
<%if(announcementView.getBigImage() != null){%><img alt="<%=announcementView.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=announcementView.getBigImage().getId()%>"><%}%>
/impl/src/web/public/announcements/loadAnnouncement.jsp
7,18 → 7,25
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="Announcement" type="pt.estgp.estgweb.domain.views.AnnouncementView" scope="request"/>
 
<table class="box">
<tr>
<th>
${Announcement.title}
</th>
</tr>
<tr>
<td>
 
<p>
${Announcement.text}
</p>
</td>
</tr>
</table>
<div class="pageSection">
<div class="sectionTitle">
<h2>${Announcement.title}</h2>
</div>
<div class="pageText">
<%
if(Announcement.getBigImage() != null)
{
%>
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>">
<%
}
else if(Announcement.getSmallImage() != null)
{
%>
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>">
<%
}
%>
${Announcement.text}
</div>
</div>
/impl/src/web/public/announcements/announcements.jsp
27,7 → 27,14
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></h2>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<h2><html:link href="${item.url}">${item.title}</html:link></h2>
<%}
else
{%>
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></h2>
<%}%>
</logic:notEmpty>
</li>
</logic:equal>
/impl/src/web/public/announcements/announcementsPortalRight.jsp
42,11 → 42,19
<div class="portalAnnouncement">
<logic:empty name="item" property="url">
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.text}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<div class="portalAnnouncementTitle"><html:link href="${item.url}">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.text}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.textSummarySmall}</html:link></div>
<%}
else
{%>
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
<%}%>
</logic:notEmpty>
</div>
</div>
/impl/src/web/templates/templatePage.jsp
1,105 → 1,99
<%--
Created by IntelliJ IDEA.
User: Fabio Velez
Date: 19/Mar/2008
Time: 15:52:44
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div class="page">
<div class="pageHeader">
<h1>Titulo</h1>
</div>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<div class="pageContent">
<div class="pageHeader">
<img src="<%=request.getContextPath()%>/imgs/docente.gif"/>
</div>
<table class="pageColumnTable">
<tbody>
<tr>
<td class="pageColumn" width="50%">
<div class="pageBlock">
<h2>Serviços On-line</h2>
<div class="listClean">
<ul>
<li><a href="#">WEBmail</a></li>
</ul>
</div>
</div>
<div class="pageBlock">
<h2>Contactos</h2>
<div class="listCircleWhite">
<ul>
<li><a href="#">Contactos Gerais Estg</a></li>
</ul>
</div>
</div>
<div class="pageBlock">
<h2>Informação Académica</h2>
<div class="listDecimal">
<ul>
<li><a href="#">Calendário Escolar</a></li>
</ul>
</div>
</div>
</td>
<td class="pageColumn" width="50%">
<div class="pageBlock">
<h2>Informação Académica</h2>
<div class="listDisc">
<ul>
<li><a href="#">Calendário Escolar</a></li>
</ul>
</div>
</div>
<div class="pageBlock">
<h2>Informação Académica</h2>
<div class="listSquare">
<ul>
<li><a href="#">Calendário Escolar</a></li>
</ul>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<h1>Página do Nucleo de Engenharia</h1>
 
<div class="section">
<h2>O que é a Engenharia?</h2>
<p>Engenharia é a arte, a ciência e a técnica de bem conjugar os conhecimentos especializados
(científicos) de uma dada área do saber com a sua viabilidade técnico-econômica, para produzir
novas utilidades e/ou transformar a natureza, em conformidade com idéias bem planejadas. Já se
disse que "Engenharia é tão-somente aplicação da física aliada ao bom-senso"
[LUZ, Antônio Máximo Ribeiro da, Professor Emérito da UFMG (Belo Horizonte, MG, Brasil]
e — com os mais recentes avanços da ciência e da tecnologia, aqui se o pode aperfeiçoar:
Engenharia é aplicação prática dalgum conhecimento especializado aliado ao bom-senso.</p>
</div>
 
<p>Digno de nota é o fato de tradicionalmente as engenharias terem lidado apenas com objetos concretos,
palpáveis. Modernamente, porém, esse cenário mudou e deu lugar ao trato também de entidades ou objetos
abstratos, não-palpáveis. Tais são, por exemplo, as engenharias de custos, informática, de software, entre
outras. Numa certa medida, não rigorosa, pode-se incluir nesse novo rol, também as engenharias do ambiente e
genética, com as reservas que lhes são próprias. Toda engenharia, contudo, envolve certo grau de abstração.</p>
 
<div class="section">
<h2>Areas da Engenharia</h2>
<p>Várias são as especialidades/ramos de engenharia. Com o progresso das ciências e das tecnologias
que lhes são associadas, mais e mais especialidades continuamente estão a surgir. Eis, a seguir,
uma lista não-exaustiva das especialidades atuais de engenharia:</p>
<div class="listDecimal">
<ul>
<li>Engenharia Acústica</li>
<li>Engenharia Aeroespacial</li>
<li>Engenharia Aeronáutica</li>
<li>Engenharia Aeroviária</li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_Agr%C3%ADcola">Engenharia Agrícola</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_de_Agrimensura">Engenharia de Agrimensura</a></li>
<li><a href="http://pt.wikipedia.org/w/index.php?title=Engenharia_Agron%C3%B4mica&action=edit&redlink=1">Engenharia Agronômica</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_de_Alimentos">Engenharia de Alimentos</a></li>
<li>Etc...</li>
</ul>
</div>
</div>
 
<div class="pageSection">
<div class="sectionTitle">
<h2>Titulo</h2>
</div>
<div class="pageText">
Aqui mete o texto....
dsdasdsa
dsdas
</div>
<div class="section">
<h2>Ver Também</h2>
<div class="listSquare">
<ul>
<li><a href="http://pt.wikipedia.org/wiki/Ci%C3%AAncia">Ciência</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Modelos_f%C3%ADsicos">Modelos Fisicos</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Tecnologia">Tecnologia</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Toler%C3%A2ncia_%28engenharia%29">Tolerância</a></li>
</ul>
</div>
</div>
 
<table class="pageColumnTableSolid">
<tbody>
<tr>
<td>fdfdfdf</td>
<td>sasasa</td>
</tr>
</tbody>
</table>
<div class="listClean">
<ul>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
</ul>
</div>
 
<div class="pageDefenitions">
<div class=defenitionsTitle>
<h2>Titulo</h2>
</div>
<div class="defenitionsSubTitle">
<h3>Sub-Titulo-</h3>
</div>
<div class="pageBlock">
<div class="listClean">
<ul>
<li>defenição.........</li>
</ul>
</div>
</div>
</div>
</div>
<div class="listCircleWhite">
<ul>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
</ul>
</div>
 
<div class="listDecimal">
<ul>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
</ul>
</div>
 
<div class="listDisc">
<ul>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
</ul>
</div>
 
<div class="listSquare">
<ul>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
</ul>
</div>
 
<img src=""/>
/impl/src/web/templates/templatePageOriginal.jsp
New file
0,0 → 1,54
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>Titulo Principal a Verde</h1>
 
<div class="section">
<h2>Titulo da Secção</h2>
<p>textotextotextotextotextotextotextotexto</p>
</div>
 
<div class="listClean">
<ul>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
</ul>
</div>
 
<div class="listCircleWhite">
<ul>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
</ul>
</div>
 
<div class="listDecimal">
<ul>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
</ul>
</div>
 
<div class="listDisc">
<ul>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
</ul>
</div>
 
<div class="listSquare">
<ul>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
</ul>
</div>
 
<img src=""/>
/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
10,53 → 10,53
public abstract class GenericUser extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private boolean superuser;
private String name;
private long id;
private Date updateDate;
private Date saveDate;
private boolean superuser;
private String name;
 
public GenericUser() {
}
 
public GenericUser(Date saveDate, boolean superuser, String name) {
this.saveDate = saveDate;
this.superuser = superuser;
this.name = name;
this.saveDate = saveDate;
this.superuser = superuser;
this.name = name;
}
 
public long getId() {
return this.id;
}
 
public void setId(long id) {
this.id = id;
}
public Date getUpdateDate() {
return this.updateDate;
}
 
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public Date getSaveDate() {
return this.saveDate;
}
 
public void setSaveDate(Date saveDate) {
this.saveDate = saveDate;
}
public boolean isSuperuser() {
return this.superuser;
}
 
public void setSuperuser(boolean superuser) {
this.superuser = superuser;
}
public String getName() {
return this.name;
}
 
public void setName(String name) {
this.name = name;
}
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TesteDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 9/Abr/2008 17:13:21 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class Teste.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.Teste;
 
 
public class TesteDao extends AbstractDao<Teste> {
//public class TesteDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(TesteDao.class);
 
protected static TesteDao myInstance = null;
 
protected TesteDao(){
super();
}
 
public static TesteDao getInstance() {
if (myInstance == null)
myInstance = new TesteDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return Teste.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
New file
0,0 → 1,69
package pt.estgp.estgweb.domain;
// Generated 9/Abr/2008 17:13:19 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
 
/**
* Teste generated by hbm2java
*/
public abstract class Teste extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private String name;
private String morada;
 
public Teste() {
}
 
public Teste(Date saveDate, String name, String morada) {
this.saveDate = saveDate;
this.name = name;
this.morada = morada;
}
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
public Date getUpdateDate() {
return this.updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public Date getSaveDate() {
return this.saveDate;
}
public void setSaveDate(Date saveDate) {
this.saveDate = saveDate;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getMorada() {
return this.morada;
}
public void setMorada(String morada) {
this.morada = morada;
}
 
 
 
 
}
 
 
/impl/build.xml
1,4 → 1,4
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<project name="estgweb" basedir="." default="help">