/impl/conf/language/MessageResourcesAnnouncements.properties |
---|
4,7 → 4,7 |
# |
################################################################################ |
module.Announcements=Anúncios |
a |
announcement.title=Titulo |
announcement.text=Texto |
announcement.startDate=Data de Aparecimento |
14,10 → 14,13 |
announcement.typeAnnouncement=Tipo |
announcement.sendAnnouncementLike=Enviar como |
announcement.priorityAnnouncement=Prioridade |
announcement.linkAnnouncement=Url |
announcement.linkAnnouncement=URL |
announcement.internalLinkAnnouncement=URL interno do sistema |
announcement.target.roles=Pessoas a quem destina |
announcement.created.success=Anúncio criado com sucesso |
announcement.edited.success=Anúncio alterado com sucesso |
announcement.deleted.success=Anúncio apagado com sucesso |
announcement.deleted.fail=Não foi possivel apagar o anuncio |
announcement.status=Válido |
31,3 → 34,14 |
announcements.loading=carregando anúncio... |
announcement.style.img.left=Imagem à esquerda |
announcement.style.img.right=Imagem à direita |
announcement.style.img.top=Imagem em cima |
announcement.style.img.embedded.left=Imagem embebida à esquerda |
announcement.style.img.embedded.right=Imagem embebida à direita |
announcement.internal.url.include.yes=Incluir o conteudo |
announcement.internal.url.include.no=Referênciar o conteudo |
announcement.image.style=Estilo visual |
/impl/conf/language/MessageResources.properties |
---|
101,7 → 101,10 |
authenticate=Entrar |
logout=Sair |
submit.announcement=Colocar Anúncio |
edit.profile=Editar Meu Perfil |
edit.user.profile=Editar Utilizador |
services=Serviços |
administrative.services=Administrador |
announcements=Ultimas NotÃcias |
courses=Cursos |
mainAnnouncements=Destaques |
220,6 → 223,7 |
username=Nome de Utilizador |
password=Password |
submit=Entrar |
edit=Editar |
confirm=Confirmar |
add=Adicionar |
remove=Remover |
227,20 → 231,31 |
no=Não |
#Login |
login.firts.time.name=Nome |
login.first.time.username=Username |
login.first.time.name=Nome |
login.first.time.targets=Permissões |
login.first.time.bi=BI |
login.first.time.address=Morada |
login.first.time.zip=Código Postal |
login.first.time.birthday.date=Data de Nascimento |
login.first.time.country=PaÃs |
login.first.time.email=E-mail |
login.first.time.email.institucion=E-mail Institucional* |
login.first.time.email.institucion2=E-mail Institucional |
login.first.time.email.secundary=E-mail Secundário |
login.first.time.phone.number=Telefone |
#Profile |
profile.edited.sucess=Perfil alterado com sucesso |
profile.enter.first.time=É a primeira vez que se esta a ligar, seja bem-vindo {0} |
profile.edit=Aqui pode editar o seu perfil |
profile.email.change=*Para alterar o seu email dirija-se aos serviços centrais |
profile.search.user=Procurar Utilizador |
#Cursos |
course.aa=Acessoria e Administração |
#Nucleos |
nucleo.engenharia=Nucleo de Engenharia |
module.Proxy=Proxy |
/impl/conf/WEB-INF/struts/struts-default.xml |
---|
124,21 → 124,23 |
</action> |
<!--Profile--> |
<action path="/startEditProfile" forward="/profile.do?dispatch=changeProfile"/> |
<action path="/findProfile" forward="page.find.profile"/> |
<action path="/profile" |
type="pt.estgp.estgweb.web.controllers.profile.ProfileController" |
name="ProfileForm" |
scope="request" |
parameter="dispatch" |
validate="false" |
input="page.profile"> |
<forward name="success" path="page.authentication.ok"/> |
input="page.load.profile"> |
<forward name="success" path="page.welcome"/> |
<forward name="load" path="page.load.profile"/> |
<forward name="search" path="page.find.profile"/> |
</action> |
</action-mappings> |
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" /> |
<message-resources parameter="MessageResources"/> |
/impl/conf/WEB-INF/struts/tiles-default.xml |
---|
267,6 → 267,16 |
<put name="body" value="/public/index.jsp" /> |
</definition> |
<!-- Profile --> |
<definition name="page.load.profile" extends="base.layout1"> |
<put name="title" value="Edit Profile" /> |
<put name="body" value="/admin/profile/profile.jsp" /> |
</definition> |
<definition name="page.find.profile" extends="base.layout1"> |
<put name="title" value="Find User Profile" /> |
<put name="body" value="/admin/profile/findUser.jsp" /> |
</definition> |
<!-- Autenticacao --> |
<definition name="page.authentication" extends="base.layout1"> |
<put name="title" value="Authentication" /> |
285,12 → 295,6 |
<put name="body" value="/admin/profile/profile.jsp" /> |
</definition> |
<!-- Autenticacao --> |
<definition name="page.profile" extends="base.layout1"> |
<put name="title" value="Profile" /> |
<put name="body" value="/admin/profile/profile.jsp" /> |
</definition> |
<!-- ERRORS DEFINITIONS --> |
<definition name="page.error.500" extends="base.error.definition"> |
<put name="title" value="internal error" /> |
/impl/conf/app.properties |
---|
2,7 → 2,7 |
use.ldap=@use.ldap@ |
system.language=pt |
#Session Settings |
user.session.timeout.minutes=15 |
user.session.timeout.minutes=30 |
email.server=mail.estgp.pt |
email.user= |
25,6 → 25,9 |
## Kinds of roles |
user.admin=admin |
user.super=all |
user.student=student |
user.teacher=teacher |
user.role.0=all |
user.role.1=admin |
user.role.2=student |
138,5 → 141,11 |
search.best.fragments.max.fragments=3 |
######################################################################### |
# Imports SIGoES |
# |
siges.institution.code=1 |
/impl/conf/berserk/sd.xml |
---|
110,6 → 110,20 |
</filterChains> |
</service> |
<service> |
<name>DeleteAnnouncement</name> |
<implementationClass>pt.estgp.estgweb.services.announcements.DeleteAnnouncementService</implementationClass> |
<description>Delete an Announcement</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<!--<chain name="Admins"/>--> |
<chain name="OwnersLoadAnnouncement"/> |
<!--<chain name="ContextObjectTimer"/>--> |
<!--<chain name="ContextStaticTimerExample"/>--> |
</filterChains> |
</service> |
<service> |
<name>LoadAnnouncementView</name> |
<implementationClass>pt.estgp.estgweb.services.announcements.LoadAnnouncementService</implementationClass> |
<description>Load an Announcement view</description> |
165,7 → 179,7 |
<!--Teste--> |
<service> |
<service> |
<name>TesteSaver</name> |
<implementationClass>pt.estgp.estgweb.services.teste.TesteService</implementationClass> |
<description>Saves a teste</description> |
177,7 → 191,7 |
<!--BLOGS--> |
<service> |
<service> |
<name>CreateBlog</name> |
<implementationClass>pt.estgp.estgweb.services.blogs.CreateBlogService</implementationClass> |
<description>Create a Blog</description> |
223,5 → 237,70 |
</filterChains> |
</service> |
<!--Import Services--> |
<service> |
<name>ImportCourseServices</name> |
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportCourseService</implementationClass> |
<description>Service to call SiGesWEB Service and import Courses and Course Units</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Supers"/> |
</filterChains> |
</service> |
<service> |
<name>ImportStudentServices</name> |
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportStudentService</implementationClass> |
<description>Service to call SiGesWEB Service and import Students and Course Units</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Supers"/> |
</filterChains> |
</service> |
<service> |
<name>ImportTeacherServices</name> |
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportTeachersService</implementationClass> |
<description>Service to call SiGesWEB Service and import Teachers and Course Units</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Supers"/> |
</filterChains> |
</service> |
<!--ProfileServices--> |
<service> |
<name>LoadUserById</name> |
<implementationClass>pt.estgp.estgweb.services.profile.LoadUserByIdService</implementationClass> |
<description>Load User By ID</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<!-- <chain name="OwnerLoadProfile"/>--> |
</filterChains> |
</service> |
<service> |
<name>EditUser</name> |
<implementationClass>pt.estgp.estgweb.services.profile.EditUserService</implementationClass> |
<description>Edit User</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
<!-- <chain name="OwnerUpdateProfile"/> --> |
</filterChains> |
</service> |
<service> |
<name>SearchUser</name> |
<implementationClass>pt.estgp.estgweb.services.profile.SearchUserService</implementationClass> |
<description>Search Users</description> |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
</serviceDefinitions> |
/impl/conf/berserk/fcd.xml |
---|
27,6 → 27,13 |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>Supers</name> |
<expression>AuthenticatedUsers && RoleUsers("super")</expression> |
<description>Super Users Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass> |
</filterChain> |
<!--Generic Owners: need object in service paramenters--> |
<filterChain> |
88,4 → 95,24 |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.ContextControlFilter</filterClass> |
</filterChain> |
<!--Profile--> |
<filterChain> |
<name>OwnerLoadProfile</name> |
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.User")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
<filterChain> |
<name>OwnerUpdateProfile</name> |
<expression>OwnerUsersClass("object.serializable","pt.estgp.estgweb.domain.User")</expression> |
<description>Owner of an object Control Chain</description> |
<invocationTiming>1</invocationTiming> |
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass> |
</filterChain> |
</filterChainsDefinitions> |
/impl/src/java/pt/estgp/estgweb/utils/RoleManager.java |
---|
21,6 → 21,7 |
{ |
private static String ROLE_MESSAGE_RESOURCES_PREFIX = "role."; |
public static String ROLE_SEPARATOR = ","; |
private static List<String> roles = null; |
42,7 → 43,7 |
if(u.getRoles() == null || u.getRoles().length() == 0) |
return false; |
String[] roles = u.getRoles().split(","); |
String[] roles = u.getRoles().split(ROLE_SEPARATOR); |
for(String role: roles) |
{ |
if(role.equals(requiredRole)) |
75,7 → 76,7 |
if(roles == null) |
roles = role; |
else |
roles += "," + role; |
roles += ROLE_SEPARATOR + role; |
} |
return roles; |
} |
84,7 → 85,7 |
{ |
if(rolesStr == null) |
return null; |
String[] roles = rolesStr.split(","); |
String[] roles = rolesStr.split(ROLE_SEPARATOR); |
List<String> l = new ArrayList<String>(); |
for(String role: roles) |
{ |
92,4 → 93,12 |
} |
return l; |
} |
public static String catRole(String old, String newRole) |
{ |
if(old == null || old.length() == 0) |
return newRole; |
else |
return old + ROLE_SEPARATOR + newRole; |
} |
} |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
3,6 → 3,7 |
import pt.estgp.estgweb.utils.ConfigProperties; |
import java.util.List; |
import java.math.BigDecimal; |
/** |
* @author Jorge Machado |
35,4 → 36,8 |
public static final int ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT = ConfigProperties.getIntProperty("announcements.top.flash.news.timeout.miliseconds"); |
public static List<String> USER_ROLES = ConfigProperties.getListValues("user.role"); |
public static final String STUDENT_ROLE = ConfigProperties.getProperty("role.student"); |
public static final String TEACHER_ROLE = ConfigProperties.getProperty("role.teacher"); |
public static final BigDecimal SIGES_INSTITUTION_CODE = new BigDecimal(ConfigProperties.getIntProperty("siges.institution.code")); |
} |
/impl/src/java/pt/estgp/estgweb/services/profile/EditUserService.java |
---|
New file |
0,0 → 1,36 |
package pt.estgp.estgweb.services.profile; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
public class EditUserService implements IService { |
private static final Logger logger = Logger.getLogger(EditUserService.class); |
public User run(UserView userView, UserSession userSession) |
{ |
User user; |
logger.info("Editing user:" + userView.getId()); |
if(userSession.getUser().getRoles().contains("admin")) |
{ |
user=DaoFactory.getUserDaoImpl().get(userView.getSerializable()); |
userView.persistViewInObjectAdmin(user); |
logger.info("User Edited by:" + userSession.getUser().getName()); |
} |
else |
{ |
user=DaoFactory.getUserDaoImpl().get(userSession.getUser().getSerializable()); |
userView.persistViewInObjectUser(user); |
logger.info("User Edited by:" + userSession.getUser().getName()); |
} |
return user; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/profile/SearchUserService.java |
---|
New file |
0,0 → 1,31 |
package pt.estgp.estgweb.services.profile; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.UserView; |
import org.apache.log4j.Logger; |
import java.util.List; |
import java.util.ArrayList; |
public class SearchUserService implements IService { |
private static final Logger logger = Logger.getLogger(SearchUserService.class); |
public List<UserView> run(String textToSearch, UserSession userSession) |
{ |
List<User> users =DaoFactory.getUserDaoImpl().findUsers(textToSearch); |
if(users == null) |
return null; |
List<UserView> userViews = new ArrayList<UserView>(); |
for(User user: users) |
{ |
UserView userView = new UserView(user); |
userViews.add(userView); |
} |
logger.info("Loading user views"); |
return userViews; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/profile/LoadUserByIdService.java |
---|
New file |
0,0 → 1,29 |
package pt.estgp.estgweb.services.profile; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.announcements.LoadAnnouncementService; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.Announcement; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
public class LoadUserByIdService implements IService { |
private static final Logger logger = Logger.getLogger(LoadUserByIdService.class); |
public UserView run(Serializable id, UserSession userSession) |
{ |
User user = DaoFactory.getUserDaoImpl().load(id); |
UserView userView = new UserView(user); |
logger.info("Loading user view:" + user.getId()); |
return userView; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentService.java |
---|
New file |
0,0 → 1,108 |
package pt.estgp.estgweb.services.sigesimports; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.Student; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import pt.ipportalegre.siges.web.services.ArrayOfDecimal; |
import pt.ipportalegre.siges.web.services.Aluno; |
import java.math.BigDecimal; |
import java.util.List; |
import java.util.Set; |
import java.util.HashSet; |
import jomm.dao.impl.AbstractDao; |
/** |
* @author Jorge Machado |
* @date 11/May/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class ImportStudentService implements IService |
{ |
private static final Logger logger = Logger.getLogger(ImportStudentService.class); |
public void run() throws ServiceException { |
//todo passar para um utilitario que cria automaticamente o ano lectivo |
String year = "200708"; |
SiGesWEB service = new SiGesWEB(); |
ArrayOfDecimal codigosAlunos = service.getSiGesWEBSoap().getCodigosAlunosInscritosDaInstituicao(Globals.SIGES_INSTITUTION_CODE,year); |
List<BigDecimal> codigos = codigosAlunos.getDecimal(); |
for(BigDecimal c: codigos) |
{ |
Aluno d = service.getSiGesWEBSoap().getAlunoInscrito(c,Globals.SIGES_INSTITUTION_CODE,year); |
Student t = DaoFactory.getStudentDaoImpl().loadBySigesCode(d.getCodigo().intValue()); |
if(t == null) |
{ |
t = DomainObjectFactory.createStudentImpl(); |
DaoFactory.getStudentDaoImpl().save(t); |
} |
persist(d,t); |
} |
} |
/** |
* Nao esta testado |
* jm |
* @param d Aluno |
* @param t Student |
*/ |
private void persist(Aluno d, Student t) |
{ |
t.setName(d.getNome()); |
t.setEmail(d.getEmail()); |
t.setSigesCode(d.getCodigo().intValue()); |
t.setAddress(d.getMorada()); |
t.setZip(""+d.getCodigoPostal().intValue()); |
t.setBi(d.getNumeroBi()); |
t.setSex(d.getSexo()); |
t.setUserNameNetpa(d.getUsernameNetpa()); |
t.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime()); |
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas |
if(d.getDisciplinas() == null || d.getDisciplinas().getDecimal() == null || d.getDisciplinas().getDecimal().size() == 0) |
logger.warn("ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + d.getCodigoFuncionario()); |
else |
{ |
Set<CourseUnit> units = new HashSet<CourseUnit>(); |
for(BigDecimal unitCode: d.getDisciplinas().getDecimal()) |
{ |
List<CourseUnit> l = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue()); |
if(l != null) |
units.addAll(l); |
else |
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue()); |
} |
t.setSubscribedUnits();Units(units); |
} |
} |
/** |
* Testar por aqui poi requer Super Role e assim e' autmatico |
* @param args of main |
* @throws ServiceException on error |
public static void main(String[]args) throws ServiceException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
new ImportStudentService().run(); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
*/ |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java |
---|
New file |
0,0 → 1,97 |
package pt.estgp.estgweb.services.sigesimports; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
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.ipportalegre.siges.web.services.*; |
import org.apache.log4j.Logger; |
import java.util.*; |
import java.math.BigDecimal; |
import jomm.dao.impl.AbstractDao; |
/** |
* @author Jorge Machado |
* @date 11/May/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class ImportTeachersService implements IService |
{ |
private static final Logger logger = Logger.getLogger(ImportTeachersService.class); |
public void run() throws ServiceException |
{ |
//todo passar para um utilitario que cria automaticamente o ano lectivo |
String year = "200708"; |
SiGesWEB service = new SiGesWEB(); |
ArrayOfDecimal codigosDocentes = service.getSiGesWEBSoap().getCodigosDocentesInscritosDaInstituicao(Globals.SIGES_INSTITUTION_CODE,year); |
List<BigDecimal> codigos = codigosDocentes.getDecimal(); |
for(BigDecimal c: codigos) |
{ |
Docente d = service.getSiGesWEBSoap().getDocente(c,Globals.SIGES_INSTITUTION_CODE,year); |
Teacher t = DaoFactory.getTeacherDaoImpl().loadBySigesCode(d.getCodigoFuncionario().intValue()); |
if(t == null) |
{ |
t = DomainObjectFactory.createTeacherImpl(); |
DaoFactory.getTeacherDaoImpl().save(t); |
} |
persist(d,t); |
} |
} |
/** |
* Nao esta testado |
* jm |
* @param d docente |
* @param t teacher |
*/ |
private void persist(Docente d, Teacher t) |
{ |
t.setName(d.getNomeFuncionarioInt()); |
t.setEmail(d.getEmail()); |
t.setSigesCode(d.getCodigoFuncionario().intValue()); |
t.setAddress(d.getMorada()); |
t.setZip(""+d.getCodigoPostal().intValue()); |
t.setBi(d.getNumeroBi()); |
t.setEmployerName(d.getNomeFuncionario()); |
t.setAcademicName(d.getNomeAcademico()); |
t.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime()); |
//Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas |
if(d.getDisciplinas() == null || d.getDisciplinas().getDecimal() == null || d.getDisciplinas().getDecimal().size() == 0) |
logger.warn("ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + d.getCodigoFuncionario()); |
else |
{ |
Set<CourseUnit> units = new HashSet<CourseUnit>(); |
for(BigDecimal unitCode: d.getDisciplinas().getDecimal()) |
{ |
List<CourseUnit> l = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue()); |
if(l != null) |
units.addAll(l); |
else |
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue()); |
} |
t.setTeachedUnits(units); |
} |
} |
/** |
* Testar por aqui poi requer Super Role e assim e' autmatico |
* @param args of main |
* @throws ServiceException on error |
*/ |
public static void main(String[]args) throws ServiceException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
new ImportTeachersService().run(); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
6,6 → 6,8 |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.Globals; |
import pt.ipportalegre.siges.web.services.*; |
14,6 → 16,8 |
import java.util.*; |
import java.math.BigDecimal; |
import jomm.dao.impl.AbstractDao; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
* |
44,7 → 48,15 |
disciplinasMap.put(d.getCodigo().intValue(),d); |
cursosMap.put(d.getCodigoCurso().intValue(),d); |
System.out.println(d.getNome() + " " + d.getNomeCurso()); |
CourseUnit c = DomainObjectFactory.createCourseUnitImpl(); |
c.setName(d.getNome()); |
c.setInstitutionCode(""+Globals.SIGES_INSTITUTION_CODE); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode(""+d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
} |
Set<Map.Entry<Integer,Disciplina>> set = disciplinasMap.entrySet(); |
81,11 → 93,16 |
} |
public static void main(String[]args) throws ServiceException { |
AbstractDao.getCurrentSession().beginTransaction(); |
new ImportCourseService().run(); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
/impl/src/java/pt/estgp/estgweb/services/announcements/DeleteAnnouncementService.java |
---|
New file |
0,0 → 1,47 |
package pt.estgp.estgweb.services.announcements; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.Announcement; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import org.apache.log4j.Logger; |
import java.io.Serializable; |
/* |
* @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 DeleteAnnouncementService implements IService { |
private static final Logger logger = Logger.getLogger(DeleteAnnouncementService.class); |
public Boolean run(Serializable id, UserSession userSession) |
{ |
try |
{ |
logger.info("Deleting announcement:" + id); |
DaoFactory.getAnnouncementDaoImpl().delete(id); |
return true; |
} |
catch(Exception e) |
{ |
logger.error("Can´t delete announcement:"+id +""+e); |
return false; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java |
---|
85,7 → 85,6 |
UserImpl u = DomainObjectFactory.createUserImpl(); |
u.setUsername(username); |
u.setName(getName(map)); |
u.setAddress("urra"); |
u.setRoles(getRoles(map)); |
u.setNewUser(true); |
DaoFactory.getUserDaoImpl().save(u); |
/impl/src/java/pt/estgp/estgweb/domain/UserManagedRoleImpl.java |
---|
New file |
0,0 → 1,40 |
package pt.estgp.estgweb.domain; |
import java.util.Date; |
import java.util.Set; |
public abstract class UserManagedRoleImpl extends UserImpl |
{ |
public UserManagedRoleImpl() |
{ |
} |
public UserManagedRoleImpl(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String outEmail, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses) |
{ |
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, outEmail, phonenumber, sex, bi, birthDate, groups, courses); |
} |
/** |
* |
* @return the managed role of implementation object |
*/ |
public abstract String getManagedRole(); |
/** |
* |
* @return roles of student check first if has student role |
*/ |
public String getRoles() |
{ |
if(super.getRoles() == null) |
super.setRoles(getManagedRole()); |
else if(super.getRoles().indexOf(getManagedRole()) < 0) |
{ |
addRole(getManagedRole()); |
} |
return super.getRoles(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/UserImpl.java |
---|
2,9 → 2,10 |
import pt.estgp.estgweb.utils.RoleManager; |
import java.io.Serializable; |
import java.util.Date; |
import java.util.List; |
import java.util.ArrayList; |
import java.io.Serializable; |
import java.util.Set; |
/** |
* @author Jorge Machado |
16,7 → 17,15 |
{ |
private boolean newUser = false; |
public UserImpl() |
{} |
public UserImpl(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String outEmail, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses) |
{ |
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, outEmail, phonenumber, sex, bi, birthDate, groups, courses); |
} |
public boolean isNewUser() { |
return newUser; |
} |
41,6 → 50,11 |
return false; |
} |
public void addRole(String role) |
{ |
setRoles(RoleManager.catRole(getRoles(),"student")); |
} |
public boolean hasRole(String r) |
{ |
if(r == null || getRoles() == null || getRoles().length() == 0) |
71,4 → 85,9 |
{ |
return getId(); |
} |
public User getOwner() |
{ |
return this; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/enums/AnnouncementStyleEnum.java |
---|
New file |
0,0 → 1,39 |
package pt.estgp.estgweb.domain.enums; |
/** |
* Created by IntelliJ IDEA. |
* User: Jorge Machado |
* Date: 14/Mai/2008 |
* Time: 12:24:35 |
* To change this template use File | Settings | File Templates. |
*/ |
public enum AnnouncementStyleEnum { |
imgLeft("announcement.style.img.left"), |
imgRight("announcement.style.img.right"), |
imgTop("announcement.style.img.top"), |
imgEmbeddedLeft("announcement.style.img.embedded.left"), |
imgEmbeddedRight("announcement.style.img.embedded.right"); |
private String messageKey; |
private AnnouncementStyleEnum(String messageKey) |
{ |
this.messageKey = messageKey; |
} |
public String getMessageKey() |
{ |
return messageKey; |
} |
public static AnnouncementStyleEnum parse(String type) |
{ |
for(AnnouncementStyleEnum styleEnum: values()) |
{ |
if(styleEnum.getMessageKey().equals(type)) |
return styleEnum; |
} |
return null; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/StudentImpl.java |
---|
New file |
0,0 → 1,21 |
package pt.estgp.estgweb.domain; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.Globals; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class StudentImpl extends Student |
{ |
public static final String STUDENT_ROLE = Globals.STUDENT_ROLE; |
public String getManagedRole() { |
return STUDENT_ROLE; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java |
---|
3,6 → 3,7 |
import pt.estgp.estgweb.domain.Announcement; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.AnnouncementImpl; |
import pt.estgp.estgweb.domain.enums.AnnouncementStyleEnum; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.utils.ConfigProperties; |
35,6 → 36,10 |
private Integer counter; |
private boolean status; |
private long ownerID; |
private String style; |
private String internalUrlServer; |
private String internalUrlPath; |
private boolean internalUrlInclude; |
public AnnouncementView() |
{} |
57,6 → 62,10 |
this.expireDate = announcement.getExpireDate(); |
this.choosedOwnerRole = announcement.getChoosedOwnerRole(); |
this.ownerID=announcement.getOwner().getId(); |
this.internalUrlServer = announcement.getInternalUrlServer(); |
this.internalUrlPath = announcement.getInternalUrlPath(); |
this.style = announcement.getStyle(); |
this.internalUrlInclude = announcement.isInternalUrlInclude(); |
} |
public void persistViewInObject(Announcement announcement) |
73,9 → 82,50 |
announcement.setStatus(status); |
announcement.setCounter(counter); |
announcement.setChoosedOwnerRole(choosedOwnerRole); |
announcement.setInternalUrlServer(internalUrlServer); |
announcement.setInternalUrlPath(internalUrlPath); |
announcement.setStyle(style); |
announcement.setInternalUrlInclude(internalUrlInclude); |
} |
public boolean isInternalUrlInclude() { |
return internalUrlInclude; |
} |
public void setInternalUrlInclude(boolean internalUrlInclude) { |
this.internalUrlInclude = internalUrlInclude; |
} |
public String getStyle() { |
return style; |
} |
public AnnouncementStyleEnum getStyleEnum() |
{ |
return AnnouncementStyleEnum.parse(style); |
} |
public void setStyle(String style) { |
this.style = style; |
} |
public String getInternalUrlPath() { |
return internalUrlPath; |
} |
public void setInternalUrlPath(String internalUrlPath) { |
this.internalUrlPath = internalUrlPath; |
} |
public String getInternalUrlServer() { |
return internalUrlServer; |
} |
public void setInternalUrlServer(String internalUrlServer) { |
this.internalUrlServer = internalUrlServer; |
} |
public String getChoosedOwnerRole() { |
return choosedOwnerRole; |
} |
216,6 → 266,25 |
return getText(); |
} |
public String getFormatedText() |
{ |
if(text == null | text.trim().length() == 0) |
return ""; |
String formatedText = text.replace(" "," "); |
StringBuilder finalFormatedText = new StringBuilder(); |
for(int i =0;i<formatedText.length();i++) |
{ |
if(formatedText.charAt(i) == '\n') |
finalFormatedText.append("<br>"); |
else if(formatedText.charAt(i) == '\t') |
finalFormatedText.append(" "); |
else |
finalFormatedText.append(formatedText.charAt(i)); |
} |
return finalFormatedText.toString(); |
} |
public Boolean getHaveAllText() |
{ |
if(getType().equals("top.flash.news")) |
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java |
---|
New file |
0,0 → 1,181 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.Announcement; |
import pt.estgp.estgweb.domain.AnnouncementImpl; |
import pt.estgp.estgweb.domain.User; |
import java.util.List; |
import java.util.Date; |
import java.io.Serializable; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
* @time 19:34:49 |
* @see pt.estgp.estgweb.domain.views |
*/ |
public class UserView extends DomainObjectView |
{ |
private long id; |
private String name; |
private List<String> userRoles; |
private String address; |
private String zip; |
private String country; |
private String email; |
private String outEmail; |
private String phonenumber; |
private String bi; |
private Date birthDate; |
private String username; |
public UserView() |
{} |
public UserView(User user) |
{ |
super(user); |
this.id = user.getId(); |
this.name=user.getName(); |
this.address=user.getAddress(); |
this.zip = user.getZip(); |
this.country=user.getCountry(); |
this.email=user.getEmail(); |
this.phonenumber=user.getPhonenumber(); |
this.userRoles = RoleManager.getRolesFromSerial(user.getRoles()); |
this.outEmail=user.getOutEmail(); |
this.bi=user.getBi(); |
this.birthDate=user.getBirthDate(); |
this.username=user.getUsername(); |
} |
public void persistViewInObjectAdmin(User user) |
{ |
user.setName(name); |
user.setAddress(address); |
user.setZip(zip); |
user.setCountry(country); |
user.setEmail(email); |
user.setPhonenumber(phonenumber); |
user.setRoles(RoleManager.getSerialRoles(userRoles)); |
user.setOutEmail(outEmail); |
user.setBi(bi); |
user.setBirthDate(birthDate); |
user.setUsername(username); |
} |
public void persistViewInObjectUser(User user) |
{ |
user.setOutEmail(outEmail); |
} |
public Class getReferenceClass() |
{ |
return User.class; |
} |
public Serializable getSerializable() |
{ |
return id; |
} |
public long getId() { |
return id; |
} |
public void setId(long id) { |
this.id = id; |
} |
public String getName() { |
return name; |
} |
public void setName(String name) { |
this.name = name; |
} |
public List<String> getUserRoles() { |
return userRoles; |
} |
public void setUserRoles(List<String> userRoles) { |
this.userRoles = userRoles; |
} |
public String getAddress() { |
return address; |
} |
public void setAddress(String address) { |
this.address = address; |
} |
public String getZip() { |
return zip; |
} |
public void setZip(String zip) { |
this.zip = zip; |
} |
public String getCountry() { |
return country; |
} |
public void setCountry(String country) { |
this.country = country; |
} |
public String getEmail() { |
return email; |
} |
public void setEmail(String email) { |
this.email = email; |
} |
public String getPhonenumber() { |
return phonenumber; |
} |
public void setPhonenumber(String phonenumber) { |
this.phonenumber = phonenumber; |
} |
public String getOutEmail() { |
return outEmail; |
} |
public void setOutEmail(String outEmail) { |
this.outEmail = outEmail; |
} |
public String getBi() { |
return bi; |
} |
public void setBi(String bi) { |
this.bi = bi; |
} |
public Date getBirthDate() { |
return birthDate; |
} |
public void setBirthDate(Date birthDate) { |
this.birthDate = birthDate; |
} |
public String getUsername() { |
return username; |
} |
public void setUsername(String username) { |
this.username = username; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
1,5 → 1,11 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.CourseUnit; |
import static org.hibernate.criterion.Restrictions.*; |
import java.util.List; |
import java.util.Set; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
20,4 → 26,9 |
return (CourseUnitDaoImpl) myInstance; |
} |
public List<CourseUnit> loadBySigesCode(String sigesCode) |
{ |
return createCriteria().add(eq("code",sigesCode)).list(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TeacherDaoImpl.java |
---|
New file |
0,0 → 1,28 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.Teacher; |
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 TeacherDaoImpl extends TeacherDao |
{ |
private TeacherDaoImpl(){} |
public static TeacherDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new TeacherDaoImpl(); |
return (TeacherDaoImpl) myInstance; |
} |
public Teacher loadBySigesCode(int sigesCode) |
{ |
return (Teacher) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/UserDaoImpl.java |
---|
4,7 → 4,10 |
import org.hibernate.HibernateException; |
import org.hibernate.Query; |
import org.hibernate.Hibernate; |
import static org.hibernate.criterion.Restrictions.eq; |
import org.hibernate.Criteria; |
import static org.hibernate.criterion.Restrictions.*; |
import org.hibernate.criterion.Criterion; |
import org.hibernate.criterion.SimpleExpression; |
import java.util.List; |
76,14 → 79,14 |
} |
} |
/** |
/** |
* Used by the base DAO classes but here for your modification Load object |
* matching the given key and return it. |
* |
* @param ID to load |
* @return a user |
*/ |
public final User loadByID(String ID) |
public final User loadByID(String ID) |
{ |
try |
{ |
120,6 → 123,18 |
} |
} |
public List<User> findUsers (String textToSearch) |
{ |
Criteria criteria = createCriteria(); |
Criterion name= or(like("name","%"+textToSearch+"%"),like("name","%"+textToSearch+"%")); |
Criterion username = or(like("username", "%" + textToSearch + "%"), like("username", "%" + textToSearch + "%")); |
Criterion email = or(like("email", "%" + textToSearch + "%"), like("email", "%" + textToSearch + "%")); |
criteria.add(or(or(name,username),email)); |
return criteria.list(); |
} |
public Serializable save(User obj) |
{ |
try { |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/StudentDaoImpl.java |
---|
New file |
0,0 → 1,29 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.Student; |
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 StudentDaoImpl extends StudentDao |
{ |
private StudentDaoImpl(){} |
public static StudentDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new StudentDaoImpl(); |
return (StudentDaoImpl) myInstance; |
} |
public Student loadBySigesCode(int sigesCode) |
{ |
return (Student) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java |
---|
75,12 → 75,23 |
return BlogDaoImpl.getInstance(); |
} |
public static BlogPostDaoImpl getBlogPostDaoImpl() |
public static BlogPostDaoImpl getBlogPostDaoImpl() |
{ |
return BlogPostDaoImpl.getInstance(); |
} |
public static CourseUnitDaoImpl getCourseUnitDaoImpl() |
{ |
return CourseUnitDaoImpl.getInstance(); |
} |
public static TeacherDaoImpl getTeacherDaoImpl() |
{ |
return TeacherDaoImpl.getInstance(); |
} |
public static StudentDaoImpl getStudentDaoImpl() |
{ |
return StudentDaoImpl.getInstance(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
92,4 → 92,14 |
{ |
return new CourseUnitImpl(); |
} |
public static TeacherImpl createTeacherImpl() |
{ |
return new TeacherImpl(); |
} |
public static StudentImpl createStudentImpl() |
{ |
return new StudentImpl(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/TeacherImpl.java |
---|
New file |
0,0 → 1,20 |
package pt.estgp.estgweb.domain; |
import pt.estgp.estgweb.Globals; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class TeacherImpl extends Teacher |
{ |
public static final String TEACHER_ROLE = Globals.TEACHER_ROLE; |
public String getManagedRole() { |
return TEACHER_ROLE; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/form/profile/ProfileForm.java |
---|
1,24 → 1,89 |
package pt.estgp.estgweb.web.form.profile; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.web.form.ApplicationForm; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import java.util.List; |
/** |
* @author Fabio |
* @date 30/Abr/2008 |
* @time 17:18:57 |
* @see pt.estgp.estgweb.web.form.profile |
*/ |
public class ProfileForm extends ApplicationForm |
{ |
private User user; |
public class ProfileForm extends AddRolesForm { |
public User getUser() { |
return user; |
private UserView userView; |
private String textToSearch; |
private static List<UserView> usersFind; |
private long userIDToChange; |
private String birthDayDate; |
public ProfileForm() |
{ |
userView = new UserView(); |
} |
public void setUser(User user) { |
this.user = user; |
public ProfileForm(UserView userView) |
{ |
this.userView = userView; |
} |
public UserView getUserView() |
{ |
return userView; |
} |
public void setUserView(UserView userView) |
{ |
this.userView = userView; |
} |
public String getTextToSearch() { |
return textToSearch; |
} |
public void setTextToSearch(String textToSearch) { |
this.textToSearch = textToSearch; |
} |
public List<UserView> getUsersFind() { |
return usersFind; |
} |
public void setUsersFind(List<UserView> usersFind) { |
ProfileForm.usersFind = usersFind; |
} |
public long getUserIDToChange() { |
return userIDToChange; |
} |
public void setUserIDToChange(long userIDToChange) { |
this.userIDToChange = userIDToChange; |
} |
public String getBirthDayDate() { |
if(userView.getBirthDate()!=null) |
{ |
this.birthDayDate= DatesUtils.getStringFromDate(userView.getBirthDate()); |
return birthDayDate; |
} |
else |
{ |
this.birthDayDate=""; |
return birthDayDate; |
} |
} |
public void setBirthDayDate(String birthDayDate) { |
this.birthDayDate=birthDayDate; |
this.userView.setBirthDate(DatesUtils.getDateFromString(birthDayDate)); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/profile/ProfileController.java |
---|
1,16 → 1,23 |
package pt.estgp.estgweb.web.controllers.profile; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.controllers.AddRolesController; |
import pt.estgp.estgweb.web.controllers.authenticate.AuthenticateController; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.exceptions.NoCookiesException; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.form.profile.ProfileForm; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.views.UserView; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.services.authenticate.AuthenticateException; |
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 org.apache.log4j.Logger; |
import org.apache.struts.action.*; |
18,6 → 25,8 |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.IOException; |
import java.io.Serializable; |
import java.util.List; |
/** |
* @author Jorge Machado |
29,42 → 38,104 |
private static final Logger logger = Logger.getLogger(ProfileController.class); |
public ActionForward editUser(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws IOException, ServletException { |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException { |
String username = request.getParameter("username"); |
String password = request.getParameter("password"); |
ProfileForm profileForm =(ProfileForm) form; |
UserView userView= profileForm.getUserView(); |
try |
{ |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request); |
IServiceManager sm = ServiceManager.getInstance(); |
Object[] args = new Object[]{username,password}; |
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"); |
String[] names = new String[]{"object"}; |
Object[] args = new Object[]{userView}; |
User user = (User) sm.execute(RequestUtils.getRequester(request),"EditUser",args,names); |
if(userSession.getUser().getId()==user.getId()){ |
userSession.setUser(user); |
request.setAttribute(Globals.USER_SESSION_KEY,userSession); |
logger.info("Puting new user info in session:" + user.getId()); |
} |
addMessage(request,"profile.edited.sucess"); |
return mapping.findForward("success"); |
} |
catch(FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
throw e; |
} |
} |
public ActionForward changeProfile(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException { |
try |
{ |
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request); |
String id = request.getParameter("id"); |
long userToLoad; |
if(id!=null) |
userToLoad=Long.valueOf(id); |
else |
userToLoad=userSession.getUser().getId(); |
ProfileForm profileForm = new ProfileForm(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{userToLoad}; |
UserView uV = (UserView) sm.execute(RequestUtils.getRequester(request),"LoadUserById",args,names); |
profileForm.setUserView(uV); |
profileForm.setSelectedRoles(uV.getUserRoles()); |
request.setAttribute("ProfileForm",profileForm); |
return mapping.findForward("load"); |
} |
catch (AuthenticateException e) |
catch(FilterChainFailedException e) |
{ |
ActionMessages actionMessages = new ActionMessages(); |
actionMessages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(e.getMessage())); |
saveErrors(request, actionMessages); |
return mapping.getInputForward(); |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
if(e instanceof NoCookiesException) |
return mapping.findForward("errorNoCookies"); |
logger.fatal(e,e); |
logger.error(e,e); |
throw e; |
} |
return mapping.findForward("error500"); |
} |
public ActionForward search(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException { |
try |
{ |
ProfileForm fromRequest=(ProfileForm) form; |
ProfileForm profileForm = new ProfileForm(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{fromRequest.getTextToSearch()}; |
List<UserView> uVs = (List<UserView>) sm.execute(RequestUtils.getRequester(request),"SearchUser",args,names); |
profileForm.setUsersFind(uVs); |
request.setAttribute("ProfileForm",profileForm); |
return mapping.findForward("search"); |
} |
catch(FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
throw e; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/announcements/AnnouncementsController.java |
---|
107,8 → 107,14 |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"object"}; |
Object[] args = new Object[]{view,i, i2}; |
boolean newAnnouncement = true; |
if(view.getId() > 0) |
newAnnouncement = false; |
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request),"CreateAnnouncement",args,names); |
addMessage(request,"announcement.edited.success","" + aV.getId()); |
if(newAnnouncement) |
addMessage(request,"announcement.created.success","" + aV.getId()); |
else |
addMessage(request,"announcement.edited.success","" + aV.getId()); |
return mapping.findForward("success"); |
} |
catch(FilterChainFailedException e) |
153,7 → 159,42 |
logger.error(e,e); |
throw e; |
} |
} |
public ActionForward delete(ActionMapping mapping, |
ActionForm form , |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{new Long(request.getParameter("id"))}; |
Boolean status= (Boolean) sm.execute(RequestUtils.getRequester(request),"DeleteAnnouncement",args,names); |
if(status) |
{ |
addMessage(request,"announcement.deleted.success","" + request.getParameter("id")); |
return mapping.findForward("success"); |
} |
else |
{ |
addMessage(request,"announcement.deleted.fail","" + request.getParameter("id")); |
return mapping.findForward("success"); |
} |
} |
catch(FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e,e); |
throw e; |
} |
} |
public ActionForward list(ActionMapping mapping, |
/impl/src/java/pt/estgp/estgweb/web/controllers/authenticate/AuthenticateController.java |
---|
17,6 → 17,7 |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.views.UserView; |
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; |
62,8 → 63,13 |
else |
{ |
ProfileForm profileForm = new ProfileForm(); |
profileForm.setUser(userSession.getUser()); |
IServiceManager sm2 = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args2 = new Object[]{userSession.getUser().getId()}; |
UserView uV = (UserView) sm2.execute(RequestUtils.getRequester(request),"LoadUserById",args2,names); |
profileForm.setUserView(uV); |
request.setAttribute("ProfileForm",profileForm); |
addMessage(request,"profile.enter.first.time",uV.getName()); |
return mapping.findForward("firstTimeAuthenticate"); |
} |
/impl/src/java/pt/estgp/estgweb/examples/DBInit.java |
---|
24,6 → 24,7 |
AbstractDao.getCurrentSession().beginTransaction(); |
UserImpl user = DomainObjectFactory.createUserImpl(); |
user.setUsername("super"); |
user.setSuperuser(true); |
user.setName("super user"); |
user.setRoles("all,admin"); |
user.setPassword(BytesUtils.getMD5("1")); |
/impl/src/doc/estgweb.eap |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/impl/src/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml |
---|
32,7 → 32,11 |
<property name="zip" type="string"/> |
<property name="country" type="string"/> |
<property name="email" type="string"/> |
<property name="outEmail" type="string"/> |
<property name="phonenumber" type="string"/> |
<property name="sex" type="string"/> |
<property name="bi" type="string"/> |
<property name="birthDate" type="date"/> |
<set name="groups" table="group_users"> |
<key column="user_id"/> |
<many-to-many column="group_id" class="pt.estgp.estgweb.domain.Group"/> |
41,7 → 45,34 |
<key column="user_id"/> |
<one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/> |
</set> |
<subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl"/> |
<subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl"> |
<subclass name="pt.estgp.estgweb.domain.UserManagedRoleImpl"> |
<subclass name="pt.estgp.estgweb.domain.Student"> |
<meta attribute="extends">pt.estgp.estgweb.domain.UserManagedRoleImpl</meta> |
<meta attribute="scope-class">public abstract</meta> |
<property name="sigesCode" type="int"/> |
<property name="userNameNetpa" type="string"/> |
<set name="subscribedUnits" lazy="true"> |
<key column="studentId"/> |
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/> |
</set> |
<subclass name="pt.estgp.estgweb.domain.StudentImpl" discriminator-value="StudentImpl"/> |
</subclass> |
<subclass name="pt.estgp.estgweb.domain.Teacher"> |
<meta attribute="extends">pt.estgp.estgweb.domain.UserManagedRoleImpl</meta> |
<meta attribute="scope-class">public abstract</meta> |
<property name="sigesCode" type="int"/> |
<property name="userNameNetpa" type="string"/> |
<property name="academicName" type="string"/> |
<property name="employerName" type="string"/> |
<set name="teachedUnits" lazy="true"> |
<key column="studentId"/> |
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/> |
</set> |
<subclass name="pt.estgp.estgweb.domain.TeacherImpl" discriminator-value="TeacherImpl"/> |
</subclass> |
</subclass> |
</subclass> |
</subclass> |
</class> |
</hibernate-mapping> |
/impl/src/hbm/pt/estgp/estgweb/domain/CourseUnit.hbm.xml |
---|
21,7 → 21,7 |
<property name="courseYear" type="string" /> |
<property name="institutionCode" type="string" /> |
<property name="status" type="boolean" /> |
<many-to-one name="courseunit" class="pt.estgp.estgweb.domain.CourseUnit" lazy="false" outer-join="true"/> |
<subclass name="pt.estgp.estgweb.domain.CourseUnitImpl" discriminator-value="CourseUnitImpl"/> |
</class> |
</hibernate-mapping> |
/impl/src/hbm/pt/estgp/estgweb/domain/Announcement.hbm.xml |
---|
22,6 → 22,10 |
<property name="targetRoles" type="text"/> |
<property name="type" type="string" /> |
<property name="url" type="string"/> |
<property name="internalUrlPath" type="string"/> |
<property name="internalUrlServer" type="string"/> |
<property name="internalUrlInclude" type="boolean"/> |
<property name="style" type="string"/> |
<property name="status" type="boolean" /> |
<property name="counter" type="integer" /> |
<many-to-one name="bigImage" column="bigImage" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all" /> |
/impl/src/web/auth/autenticationok.jsp |
---|
7,5 → 7,8 |
--%> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<bean:message key="authentication.ok"/> <bean:write name="UserSession" property="name"/> |
<jomm:messages/> |
<bean:message key="authentication.ok"/> <bean:write name="UserSession" property="user.name"/> |
/impl/src/web/admin/profile/findUser.jsp |
---|
New file |
0,0 → 1,36 |
<%@ 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" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<jsp:useBean id="ProfileForm" class="pt.estgp.estgweb.web.form.profile.ProfileForm"/> |
<jomm:messages/> |
<html:form action="/profile"> |
<input type="hidden" name="dispatch" value="search"> |
<html:hidden property="userView.id"/> |
<html:hidden property="userView.userRoles"/> |
<table class="form"> |
<tr> |
<th> |
<bean:message key="profile.search.user"/> |
</th> |
<td> |
<html:text property="textToSearch" maxlength="50"/> |
</td> |
<td> |
<input type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>"> |
</td> |
</tr> |
</table> |
<logic:present name="ProfileForm" property="usersFind"> |
<ul> |
<logic:iterate id="userView" name="ProfileForm" property="usersFind" type="pt.estgp.estgweb.domain.views.UserView"> |
<li>${userView.name} <html:link action="/profile?id=${userView.id}&dispatch=changeProfile"><bean:message key="edit"/></html:link></li> |
</logic:iterate> |
</ul> |
</logic:present> |
</html:form> |
/impl/src/web/admin/profile/profile.jsp |
---|
New file |
0,0 → 1,141 |
<%@ page import="java.util.List" %> |
<%@ 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" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %> |
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %> |
<jomm:messages/> |
<jsp:useBean id="ProfileForm" class="pt.estgp.estgweb.web.form.profile.ProfileForm"/> |
<html:form action="/profile"> |
<input type="hidden" name="dispatch" value="editUser"> |
<html:hidden property="userView.id"/> |
<html:hidden property="userView.userRoles"/> |
<bean:message key="profile.edit"/> |
<table class="form"> |
<estgweb:isNotAdmin> |
<tr> |
<th><bean:message key="login.first.time.username"/></th> |
<td> |
<html:text property="userView.username" maxlength="250" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
</estgweb:isNotAdmin> |
<estgweb:isAdmin> |
<tr> |
<th><bean:message key="login.first.time.username"/></th> |
<td> |
<html:text property="userView.username" maxlength="250"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.targets"/></th> |
<td> |
<html:select property="targetRolesStr"> |
<logic:present name="ProfileForm" property="targetRoles"> |
<logic:iterate id="item" name="ProfileForm" property="targetRoles"> |
<jomm:option itemName="item" comparableObjectName="ProfileForm" comparableObjectProperty="targetRolesStr"> |
<jomm:message patternMessage="user.role.{0}" name0="item"/> |
</jomm:option> |
</logic:iterate> |
<input type="button" value="<bean:message key="add"/>" onclick="set(this.form,'addRole');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:present name="ProfileForm" property="selectedRoles"> |
<logic:notEmpty name="ProfileForm" property="selectedRoles"> |
<ul> |
<logic:iterate id="item" name="ProfileForm" property="selectedRoles"> |
<li><jomm:message patternMessage="user.role.{0}" name0="item"/><input type="button" value="<bean:message key="remove"/>" onclick="AnnouncementsForm.role.value='${item}';set(this.form,'removeRole');this.form.submit();"></li> |
</logic:iterate> |
</ul> |
</logic:notEmpty> |
</logic:present> |
</td> |
</tr> |
</estgweb:isAdmin> |
<tr> |
<th><bean:message key="login.first.time.bi"/></th> |
<td> |
<html:text property="userView.bi" maxlength="250" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.birthday.date"/></th> |
<td> |
<html:text property="birthDayDate" maxlength="100" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.name"/></th> |
<td> |
<html:text property="userView.name" maxlength="250" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.address"/></th> |
<td> |
<html:text property="userView.address" maxlength="250" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.zip"/></th> |
<td> |
<html:text property="userView.zip" maxlength="8" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.country"/></th> |
<td> |
<html:text property="userView.country" maxlength="100" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
<tr> |
<th><bean:message key="login.first.time.phone.number"/></th> |
<td> |
<html:text property="userView.phonenumber" maxlength="250" styleClass="readOnly"/> |
</td> |
</tr> |
<estgweb:isNotAdmin> |
<tr> |
<th><bean:message key="login.first.time.email.institucion"/></th> |
<td> |
<html:text property="userView.email" maxlength="250" readonly="true" styleClass="readOnly"/> |
</td> |
</tr> |
</estgweb:isNotAdmin> |
<estgweb:isAdmin> |
<tr> |
<estgweb:isAdmin> |
<th><bean:message key="login.first.time.email.institucion2"/></th> |
</estgweb:isAdmin> |
<estgweb:isNotAdmin> |
<th><bean:message key="login.first.time.email.institucion"/></th> |
</estgweb:isNotAdmin> |
<td> |
<html:text property="userView.email" maxlength="250"/> |
</td> |
</tr> |
</estgweb:isAdmin> |
<tr> |
<th><bean:message key="login.first.time.email.secundary"/></th> |
<td> |
<html:text property="userView.outEmail" maxlength="250"/> |
</td> |
</tr> |
<estgweb:isNotAdmin> |
<tr> |
<th><bean:message key="profile.email.change"/></th> |
</tr> |
</estgweb:isNotAdmin> |
<tr class="buttons"> |
<td colspan="2"> |
<input type="button" onclick="set(this.form,'editUser');this.form.submit()" value="<bean:message key="confirm"/>"/> |
</td> |
</tr> |
</table> |
</html:form> |
/impl/src/web/admin/announcements/submitAnnouncement.jsp |
---|
148,6 → 148,22 |
<tr> |
<th> |
<bean:message key="announcement.image.style"/> |
</th> |
<td> |
<html:select property="announcementView.style"> |
<html:option value="announcement.style.img.left"><bean:message key="announcement.style.img.left"/></html:option> |
<html:option value="announcement.style.img.right"><bean:message key="announcement.style.img.right"/></html:option> |
<html:option value="announcement.style.img.top"><bean:message key="announcement.style.img.top"/></html:option> |
<html:option value="announcement.style.img.top"><bean:message key="announcement.style.img.embedded.left"/></html:option> |
<html:option value="announcement.style.img.top"><bean:message key="announcement.style.img.embedded.right"/></html:option> |
</html:select> |
</td> |
</tr> |
<tr> |
<th> |
<bean:message key="announcement.linkAnnouncement"/> |
</th> |
<td> |
159,8 → 175,27 |
<html:text property="url" maxlength="250"/> |
</td> |
</tr> |
<tr> |
<th> |
<bean:message key="announcement.internalLinkAnnouncement"/> |
</th> |
<td> |
<html:select property="announcementView.internalUrlServer"> |
<html:option value="true"><bean:message key="announcement.internal.url.include.yes"/></html:option> |
<html:option value="false"><bean:message key="announcement.internal.url.include.no"/></html:option> |
</html:select> |
<html:text property="announcementView.internalUrlPath"/> |
<html:select property="announcementView.internalUrlServer"> |
<html:option value="estg">ESTG</html:option> |
<html:option value="ionline">IONLINE</html:option> |
</html:select> |
</td> |
</tr> |
<tr> |
<th> |
<bean:message key="announcement.text"/> |
</th> |
<td> |
/impl/src/web/css/style.css |
---|
65,7 → 65,7 |
TD.rightPage, TD.rightPagePortal { |
VERTICAL-ALIGN: top; |
/*WIDTH: 160px;*/ |
/*WIDTH: 160px;*/ |
} |
.rightPagePosition { |
81,9 → 81,13 |
/************************************** Content Structure ********************************/ |
.contentPortal { |
padding-left: 10px; |
} |
.content h2 a { |
font-size: 0.8em; |
} |
.content h2 { |
font-size: 1em; |
} |
357,14 → 361,14 |
.portalLeftAnnouncements table { |
table-layout: fixed; |
/*width: 180px;*/ |
/*width: 180px;*/ |
padding-top: 10px; |
font-size: 0.8em; |
} |
.portalRightAnnouncements table { |
table-layout: fixed; |
/*width: 250px;*/ |
/*width: 250px;*/ |
font-size: 0.8em; |
} |
387,7 → 391,7 |
/* todo FABIO |
todo Left Manus???? ao pe de portalMenus isto esta uma confusao*/ |
.navleftMenu { |
/*width: 180px;*/ |
/*width: 180px;*/ |
padding-left: 10px; |
} |
647,12 → 651,12 |
} |
#leftMenuModule UL { |
MARGIN: 0; |
/*WIDTH: 155px;*/ |
/*WIDTH: 155px;*/ |
} |
.linkLeftMenu UL li |
{ |
width:110px; |
width:110px; |
} |
692,7 → 696,7 |
.boxHorizontal { |
padding-top: 5px; |
} |
.form th, .boxHorizontal th { |
743,6 → 747,20 |
width: 100px; |
} |
.form input.readOnly { |
background-color:#cccccc; |
border-top-width: 1px; |
color:#FFFFFF; |
border-right-width: 1px; |
border-bottom-width: 1px; |
border-left-width: 1px; |
border-top-style: solid; |
border-right-style: solid; |
border-bottom-style: solid; |
border-left-style: solid; |
} |
/* PAGE LAYOUTS */ |
.seccao, .seccao p { |
/impl/src/web/layout/navigationLeft.jsp |
---|
6,26 → 6,34 |
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %> |
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %> |
<div id="leftPagePosition"> |
<%--ANONIMOUS MENUS--%> |
<jsp:include page="/layout/navigationLeftAdmin.jsp"/> |
<jsp:include page="/layout/navigationLeftMenu.jsp"/> |
<div id="leftPagePosition"> |
<%--ANONIMOUS MENUS--%> |
<jsp:include page="/layout/navigationLeftAdmin.jsp"/> |
<jsp:include page="/layout/navigationLeftMenu.jsp"/> |
<%-- USER MENUS--%> |
<div id="leftMenuModule"> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<%-- USER MENUS--%> |
<div id="leftMenuModule"> |
<div class="linkLeftMenu"> |
<div class="listClean"> |
<estgweb:isAuthenticated> |
<%--SERVICES--%> |
<ul> |
<h2><bean:message key="services"/></h2> |
<li> |
<html:link action="/startEditProfile"><bean:message key="edit.profile"/></html:link> |
</li> |
<li> |
<html:link action="/startSubmitAnnouncement"><bean:message key="submit.announcement"/></html:link> |
</li> |
<li> |
<html:link action="/startSubmitBlog"><bean:message key="submit.blog"/></html:link> |
</li> |
<estgweb:isAdmin> |
<h2><bean:message key="administrative.services"/></h2> |
<li> |
<html:link action="/findProfile"><bean:message key="edit.user.profile"/></html:link> |
</li> |
</estgweb:isAdmin> |
<!--OTHER PLACES--> |
<h2><bean:message key="Others"/></h2> |
<li> |
35,8 → 43,8 |
<a href="<%=request.getContextPath()%>/proxy/layout4/estgp/">ESTG SITE TESTE</a> |
</li> |
</ul> |
</estgweb:isAuthenticated> |
</div> |
</estgweb:isAuthenticated> |
</div> |
</div> |
</div> |
</div> |
/impl/src/web/public/announcements/loadAnnouncement.jsp |
---|
1,40 → 1,137 |
<%@ page import="jomm.utils.MessageResources" %> |
<%@ page import="org.apache.struts.util.RequestUtils" %> |
<%@ page import="pt.estgp.estgweb.domain.UserSessionImpl" %> |
<%@ page import="pt.estgp.estgweb.web.UserSessionProxy" %> |
<%@ page import="pt.estgp.estgweb.domain.enums.AnnouncementStyleEnum" %> |
<%@ page contentType="text/html;charset=UTF-8" language="java" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %> |
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> |
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %> |
<jsp:useBean id="Announcement" type="pt.estgp.estgweb.domain.views.AnnouncementView" scope="request"/> |
<% UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request);%> |
<html:link href="http://www.sapo.pt"></html:link> |
<div class="seccao"> |
<h2>${Announcement.title} |
<% if(userSession.getUser()!=null){ |
if((userSession.getUser().getId()==Announcement.getOwnerID())||(userSession.getUser().getRoles().contains("all"))||(userSession.getUser().getRoles().contains("admin"))) |
{%> |
<html:link action="/loadAnnouncement?id=${Announcement.id}&dispatch=edit">Editar</html:link> |
<html:link action="/loadAnnouncement?id=${Announcement.id}&dispatch=delete">Apagar</html:link> |
<%} |
}%> |
</h2> |
<% |
AnnouncementStyleEnum styleEnum = Announcement.getStyleEnum(); |
if (styleEnum == AnnouncementStyleEnum.imgEmbeddedLeft || styleEnum == AnnouncementStyleEnum.imgEmbeddedRight) { |
String align = "left"; |
if (styleEnum == AnnouncementStyleEnum.imgEmbeddedRight) |
align = "right"; |
%> |
<div class="seccao"> |
<h2>${Announcement.title}</h2> |
<p> |
<% |
if(Announcement.getBigImage() != null) |
{ |
%> |
<p> |
<div class="imageAnnouncement"> |
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>"> |
<% |
if (Announcement.getBigImage() != null) { |
%> |
<img align="<%=align%>" alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>"> |
<% |
} else if (Announcement.getSmallImage() != null) { |
%> |
<img align="<%=align%>" alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>"> |
<% |
} |
%> |
</div> |
${Announcement.formatedText} |
<% |
} |
else if(Announcement.getSmallImage() != null) |
{ |
if (Announcement.getUrl() != null) { |
%> |
<div class="imageAnnouncement"> |
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>"> |
</div> |
<% |
} |
%> |
${Announcement.text} |
<% |
if(Announcement.getUrl()!=null) |
{ |
%> |
<html:link href="${Announcement.url}">Ver +</html:link> |
<% |
}%> |
</p> |
</p> |
<% |
} else if (styleEnum == AnnouncementStyleEnum.imgTop) { |
%> |
<table> |
<tr> |
<td> |
<div class="imageAnnouncement"> |
<% |
if (Announcement.getBigImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>"> |
<% |
} else if (Announcement.getSmallImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>"> |
<% |
} |
%> |
</div> |
</td> |
</tr> |
<tr> |
<td>${Announcement.formatedText}</td> |
</tr> |
</table> |
<% |
} else if (styleEnum == AnnouncementStyleEnum.imgLeft) { |
%> |
<table> |
<tr> |
<td> |
<div class="imageAnnouncement"> |
<% |
if (Announcement.getBigImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>"> |
<% |
} else if (Announcement.getSmallImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>"> |
<% |
} |
%> |
</div> |
</td> |
<td>${Announcement.formatedText}</td> |
</tr> |
</table> |
<% |
} else if (styleEnum == AnnouncementStyleEnum.imgRight) { |
%> |
<table> |
<tr> |
<td>${Announcement.formatedText}</td> |
<td> |
<div class="imageAnnouncement"> |
<% |
if (Announcement.getBigImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>"> |
<% |
} else if (Announcement.getSmallImage() != null) { |
%> |
<img alt="<%=Announcement.getTitle()%>" |
src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>"> |
<% |
} |
%> |
</div> |
</td> |
</tr> |
</table> |
<% |
} |
%> |
</div> |
/impl/gen/java/pt/estgp/estgweb/domain/Course.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
20,11 → 20,12 |
private String courseYear; |
private String institutionCode; |
private boolean status; |
private CourseUnit courseunit; |
public CourseUnit() { |
} |
public CourseUnit(Date saveDate, String name, String code, String courseCode, String courseName, String courseYear, String institutionCode, boolean status) { |
public CourseUnit(Date saveDate, String name, String code, String courseCode, String courseName, String courseYear, String institutionCode, boolean status, CourseUnit courseunit) { |
this.saveDate = saveDate; |
this.name = name; |
this.code = code; |
33,6 → 34,7 |
this.courseYear = courseYear; |
this.institutionCode = institutionCode; |
this.status = status; |
this.courseunit = courseunit; |
} |
public long getId() { |
105,6 → 107,13 |
public void setStatus(boolean status) { |
this.status = status; |
} |
public CourseUnit getCourseunit() { |
return this.courseunit; |
} |
public void setCourseunit(CourseUnit courseunit) { |
this.courseunit = courseunit; |
} |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java |
---|
New file |
0,0 → 1,74 |
package pt.estgp.estgweb.domain; |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
import java.util.HashSet; |
import java.util.Set; |
/** |
* Teacher generated by hbm2java |
*/ |
public abstract class Teacher extends pt.estgp.estgweb.domain.UserManagedRoleImpl implements java.io.Serializable { |
private int sigesCode; |
private String userNameNetpa; |
private String academicName; |
private String employerName; |
private Set<CourseUnit> teachedUnits = new HashSet<CourseUnit>(0); |
public Teacher() { |
} |
public Teacher(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String outEmail, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses, int sigesCode, String userNameNetpa, String academicName, String employerName, Set<CourseUnit> teachedUnits) { |
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, outEmail, phonenumber, sex, bi, birthDate, groups, courses); |
this.sigesCode = sigesCode; |
this.userNameNetpa = userNameNetpa; |
this.academicName = academicName; |
this.employerName = employerName; |
this.teachedUnits = teachedUnits; |
} |
public int getSigesCode() { |
return this.sigesCode; |
} |
public void setSigesCode(int sigesCode) { |
this.sigesCode = sigesCode; |
} |
public String getUserNameNetpa() { |
return this.userNameNetpa; |
} |
public void setUserNameNetpa(String userNameNetpa) { |
this.userNameNetpa = userNameNetpa; |
} |
public String getAcademicName() { |
return this.academicName; |
} |
public void setAcademicName(String academicName) { |
this.academicName = academicName; |
} |
public String getEmployerName() { |
return this.employerName; |
} |
public void setEmployerName(String employerName) { |
this.employerName = employerName; |
} |
public Set<CourseUnit> getTeachedUnits() { |
return this.teachedUnits; |
} |
public void setTeachedUnits(Set<CourseUnit> teachedUnits) { |
this.teachedUnits = teachedUnits; |
} |
} |
/impl/gen/java/pt/estgp/estgweb/domain/User.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
19,14 → 19,18 |
private String zip; |
private String country; |
private String email; |
private String outEmail; |
private String phonenumber; |
private String sex; |
private String bi; |
private Date birthDate; |
private Set<Group> groups = new HashSet<Group>(0); |
private Set<CourseUserAssociation> courses = new HashSet<CourseUserAssociation>(0); |
public User() { |
} |
public User(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, Set<Group> groups, Set<CourseUserAssociation> courses) { |
public User(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String outEmail, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses) { |
super(saveDate, superuser, name); |
this.username = username; |
this.password = password; |
35,7 → 39,11 |
this.zip = zip; |
this.country = country; |
this.email = email; |
this.outEmail = outEmail; |
this.phonenumber = phonenumber; |
this.sex = sex; |
this.bi = bi; |
this.birthDate = birthDate; |
this.groups = groups; |
this.courses = courses; |
} |
89,6 → 97,13 |
public void setEmail(String email) { |
this.email = email; |
} |
public String getOutEmail() { |
return this.outEmail; |
} |
public void setOutEmail(String outEmail) { |
this.outEmail = outEmail; |
} |
public String getPhonenumber() { |
return this.phonenumber; |
} |
96,6 → 111,27 |
public void setPhonenumber(String phonenumber) { |
this.phonenumber = phonenumber; |
} |
public String getSex() { |
return this.sex; |
} |
public void setSex(String sex) { |
this.sex = sex; |
} |
public String getBi() { |
return this.bi; |
} |
public void setBi(String bi) { |
this.bi = bi; |
} |
public Date getBirthDate() { |
return this.birthDate; |
} |
public void setBirthDate(Date birthDate) { |
this.birthDate = birthDate; |
} |
public Set<Group> getGroups() { |
return this.groups; |
} |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Image.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/GenericUserDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TeacherDao.java |
---|
New file |
0,0 → 1,39 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/** |
* Home object for domain model class Teacher. |
* @author Jorge Machado - Hibernate Tools |
*/ |
import jomm.dao.IDomainObjectDao; |
import jomm.dao.impl.AbstractDao; |
import pt.estgp.estgweb.domain.Teacher; |
public class TeacherDao extends AbstractDao<Teacher> { |
//public class TeacherDao extends AbstractDao implements IDomainObjectDao { |
private static final Logger log = Logger.getLogger(TeacherDao.class); |
protected static TeacherDao myInstance = null; |
protected TeacherDao(){ |
super(); |
} |
public static TeacherDao getInstance() { |
if (myInstance == null) |
myInstance = new TeacherDao(); |
return myInstance; |
} |
protected Class getReferenceClass() { |
return Teacher.class; |
} |
} |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UserDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatYearDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatMonthIdDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UserSessionDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/ImageDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TesteDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/StudentDao.java |
---|
New file |
0,0 → 1,39 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/** |
* Home object for domain model class Student. |
* @author Jorge Machado - Hibernate Tools |
*/ |
import jomm.dao.IDomainObjectDao; |
import jomm.dao.impl.AbstractDao; |
import pt.estgp.estgweb.domain.Student; |
public class StudentDao extends AbstractDao<Student> { |
//public class StudentDao extends AbstractDao implements IDomainObjectDao { |
private static final Logger log = Logger.getLogger(StudentDao.class); |
protected static StudentDao myInstance = null; |
protected StudentDao(){ |
super(); |
} |
public static StudentDao getInstance() { |
if (myInstance == null) |
myInstance = new StudentDao(); |
return myInstance; |
} |
protected Class getReferenceClass() { |
return Student.class; |
} |
} |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectIdDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseUserAssociationDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/GroupDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDayDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatYearIdDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatMonthDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDayIdDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectDao.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain.dao.impl; |
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:32:00 by Hibernate Tools 3.2.0.b9 |
import org.apache.log4j.Logger; |
/impl/gen/java/pt/estgp/estgweb/domain/Blog.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Teste.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Student.java |
---|
New file |
0,0 → 1,56 |
package pt.estgp.estgweb.domain; |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
import java.util.HashSet; |
import java.util.Set; |
/** |
* Student generated by hbm2java |
*/ |
public abstract class Student extends pt.estgp.estgweb.domain.UserManagedRoleImpl implements java.io.Serializable { |
private int sigesCode; |
private String userNameNetpa; |
private Set<CourseUnit> subscribedUnits = new HashSet<CourseUnit>(0); |
public Student() { |
} |
public Student(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String outEmail, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses, int sigesCode, String userNameNetpa, Set<CourseUnit> subscribedUnits) { |
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, outEmail, phonenumber, sex, bi, birthDate, groups, courses); |
this.sigesCode = sigesCode; |
this.userNameNetpa = userNameNetpa; |
this.subscribedUnits = subscribedUnits; |
} |
public int getSigesCode() { |
return this.sigesCode; |
} |
public void setSigesCode(int sigesCode) { |
this.sigesCode = sigesCode; |
} |
public String getUserNameNetpa() { |
return this.userNameNetpa; |
} |
public void setUserNameNetpa(String userNameNetpa) { |
this.userNameNetpa = userNameNetpa; |
} |
public Set<CourseUnit> getSubscribedUnits() { |
return this.subscribedUnits; |
} |
public void setSubscribedUnits(Set<CourseUnit> subscribedUnits) { |
this.subscribedUnits = subscribedUnits; |
} |
} |
/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
22,6 → 22,10 |
private String targetRoles; |
private String type; |
private String url; |
private String internalUrlPath; |
private String internalUrlServer; |
private boolean internalUrlInclude; |
private String style; |
private boolean status; |
private Integer counter; |
private Image bigImage; |
31,7 → 35,7 |
public Announcement() { |
} |
public Announcement(Date saveDate, Date startDate, Date expireDate, String subTargets, String title, String choosedOwnerRole, String text, String targetRoles, String type, String url, boolean status, Integer counter, Image bigImage, Image smallImage, GenericUser owner) { |
public Announcement(Date saveDate, Date startDate, Date expireDate, String subTargets, String title, String choosedOwnerRole, String text, String targetRoles, String type, String url, String internalUrlPath, String internalUrlServer, boolean internalUrlInclude, String style, boolean status, Integer counter, Image bigImage, Image smallImage, GenericUser owner) { |
this.saveDate = saveDate; |
this.startDate = startDate; |
this.expireDate = expireDate; |
42,6 → 46,10 |
this.targetRoles = targetRoles; |
this.type = type; |
this.url = url; |
this.internalUrlPath = internalUrlPath; |
this.internalUrlServer = internalUrlServer; |
this.internalUrlInclude = internalUrlInclude; |
this.style = style; |
this.status = status; |
this.counter = counter; |
this.bigImage = bigImage; |
133,6 → 141,34 |
public void setUrl(String url) { |
this.url = url; |
} |
public String getInternalUrlPath() { |
return this.internalUrlPath; |
} |
public void setInternalUrlPath(String internalUrlPath) { |
this.internalUrlPath = internalUrlPath; |
} |
public String getInternalUrlServer() { |
return this.internalUrlServer; |
} |
public void setInternalUrlServer(String internalUrlServer) { |
this.internalUrlServer = internalUrlServer; |
} |
public boolean isInternalUrlInclude() { |
return this.internalUrlInclude; |
} |
public void setInternalUrlInclude(boolean internalUrlInclude) { |
this.internalUrlInclude = internalUrlInclude; |
} |
public String getStyle() { |
return this.style; |
} |
public void setStyle(String style) { |
this.style = style; |
} |
public boolean isStatus() { |
return this.status; |
} |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/Group.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java |
---|
1,5 → 1,5 |
package pt.estgp.estgweb.domain; |
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9 |
// Generated 15/Mai/2008 12:31:57 by Hibernate Tools 3.2.0.b9 |
import java.util.Date; |
/impl/etc/bugs/waiting/waiting.txt |
---|
--- impl/etc/bugs/resolved/resolved.txt (revision 0) |
+++ impl/etc/bugs/resolved/resolved.txt (revision 132) |
@@ -0,0 +1,34 @@ |
+2008-05-12 11:23:09,548 ERROR UserSessionFilter:doFilter():86 - java.lang.NullPointerException |
+java.lang.NullPointerException |
+ at pt.utl.ist.berserk.storage.FilterChainProxy.getExpression(FilterChainProxy.java:194) |
+ at pt.utl.ist.berserk.logic.filterManager.FilterBroker. |
+ at pt.utl.ist.berserk.logic.filterManager.FilterBrokerFactory.getFilterBroker(FilterBrokerFactory.java:171) |
+ at pt.utl.ist.berserk.logic.serviceManager.ServiceManager$ServiceConfiguration. |
+ at pt.utl.ist.berserk.logic.serviceManager.ServiceManager.registerService(ServiceManager.java:188) |
+ at pt.utl.ist.berserk.logic.serviceManager.ServiceManager.registerServices(ServiceManager.java:171) |
+ at pt.utl.ist.berserk.logic.serviceManager.ServiceManager. |
+ at pt.utl.ist.berserk.logic.serviceManager.ServiceManager.getInstance(ServiceManager.java:199) |
+ at pt.estgp.estgweb.web.UserSessionProxy.loadUserSession(UserSessionProxy.java:65) |
+ at pt.estgp.estgweb.web.filters.UserSessionFilter.doFilter(UserSessionFilter.java:53) |
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) |
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) |
+ at jomm.web.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49) |
+ at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) |
+ at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) |
+ at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) |
+ at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) |
+ at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) |
+ at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) |
+ at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) |
+ at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) |
+ at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) |
+ at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) |
+ at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) |
+ at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) |
+ at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) |
+ at java.lang.Thread.run(Thread.java:595) |
+ |
+Resolução: |
+Filter Chain com nome diferente do especificado no serviço |
+ |
+######################################################################################################################################### |
\ No newline at end of file |