diff --git a/trunk/WEB-INF/classes/siprp/pagina/doPostLogin.java b/trunk/WEB-INF/classes/siprp/pagina/doPostLogin.java
index 2f1240c2..07594953 100644
--- a/trunk/WEB-INF/classes/siprp/pagina/doPostLogin.java
+++ b/trunk/WEB-INF/classes/siprp/pagina/doPostLogin.java
@@ -43,9 +43,9 @@ System.out.println( "doPostLogin()" );
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
-
- if ( password.equals((String)rs.get(0,0)))
+
+
+ if ( rs.columnLength() > 0 && password.equals((String)rs.get(0,0)))
{
// Obter Role
diff --git a/trunk/WEB-INF/classes/siprp/pagina/siprpServlet.java b/trunk/WEB-INF/classes/siprp/pagina/siprpServlet.java
index 64d5b989..16ee56bf 100644
--- a/trunk/WEB-INF/classes/siprp/pagina/siprpServlet.java
+++ b/trunk/WEB-INF/classes/siprp/pagina/siprpServlet.java
@@ -14,18 +14,18 @@ import org.apache.velocity.app.*;
public class siprpServlet extends HttpServlet
{
// MSG
- public static final String msgErroNoUser = "Tem de especificar um utilizador";
- public static final String msgErroAuthFail = "Utilizador inexistente e/ou Password errada";
- public static final String msgErroBd = "Erro na liga\u00E7\u00E3o \u00E0 base de dados";
+ public static final String msgErroNoUser = "Tem+de+especificar+um+utilizador.";
+ public static final String msgErroAuthFail = "Utilizador+inexistente+e/ou+Password+errada.";
+ public static final String msgErroBd = "Erro+na+ligaç&atiolde;o+à+base+de+dados.";
public static final String msgGenericError = "Erro";
public static final String msgListaEmpresas = "Empresas";
- public static final String msgAcessoNegado = "Acesso Negado";
- public static final String msgLinkFormatError ="URL inv\u00E1lido";
+ public static final String msgAcessoNegado = "Acesso+Negado.";
+ public static final String msgLinkFormatError ="URL+inválido.";
public static final String msgLogin = "Login";
- public static final String msgNovaPasswordErrada="Erro ao criar a nova password, nova password inv\u00E1lida";
- public static final String msgButtonNotSuported = "funcionalidade ainda n\u00E3o suportada" ;
- public static final String msgSessionTimeout = "ERRO Por razões de segurança o tempo da sua sessão expirou
"
- + "Por favor efectue novamente o seu login.
";
+ public static final String msgNovaPasswordErrada="Erro+ao+criar+a+nova+password,+nova+password+inválida.";
+ public static final String msgButtonNotSuported = "funcionalidade+ainda+não+suportada.";
+ public static final String msgSessionTimeout = "Por+razões+de+segurança+o+tempo+da+sua+sessão+expirou
"
+ + "Por+favor+efectue+novamente+o+seu+login.
";
// Templates - Nomes e valores
//public static final String loginTemplate = "login.html";
@@ -33,6 +33,7 @@ public class siprpServlet extends HttpServlet
public static final String indexTemplate = "index.html";
public static final String authenticatedUserTemplate = "user.html";
public static final String errorTemplate = "frame_erro.html";
+ public static final String innerErrorTemplate = "erro.html";
public static final String mainTemplate = "main.html";
//public static final String criticalErrorTemplate = "critical.html";
@@ -45,6 +46,7 @@ public class siprpServlet extends HttpServlet
public static final String buttonPressedTemplate ="buttonPressed";
// Query Strings , usadas para na template do velocity saber o que mostar
+ public static final String queryStringErro = "erro";
public static final String queryStringEmpresas = "empresas";
public static final String queryStringEstabelecimentos="estabelecimentos";
public static final String queryStringTrabalhadores ="trabalhadores";
@@ -126,6 +128,7 @@ System.out.println( "DIR: " + TEMPLATE_DIR );
res.setContentType( "text/html" );
try
{
+System.out.println( "query: " + queryString );
HttpSession session = req.getSession(true);
session.setMaxInactiveInterval(sessionTimeout);
@@ -142,6 +145,11 @@ System.out.println( "DIR: " + TEMPLATE_DIR );
else if ( queryString.equals(queryStringEmpresas) ) // Listar Empresas
{
new doGetListaEmpresas(req,res);
+ }
+ else if ( queryString.indexOf(queryStringErro) == 0 ) // Listar Empresas
+ {
+ System.out.println( "entrou" );
+ doErro(queryString, out);
}
else // interpretar query string
{
@@ -163,7 +171,7 @@ System.out.println( "DIR: " + TEMPLATE_DIR );
}
}
- if ( estabelecimento == null ) // empresa query
+ if ( estabelecimento == null ) // empresa query
{
session.setAttribute(sessionEmpresaId, empresa); // update HTTP Session
@@ -555,6 +563,22 @@ System.out.println( "DIR: " + TEMPLATE_DIR );
}
return null;
}
-
+
+ public void doErro( String queryString, ServletOutputStream out )
+ throws Exception
+ {
+ String split[] = queryString.split( "=" );
+ String err;
+ if( split.length > 1 )
+ {
+ err = split[ 1 ];
+ }
+ else
+ {
+ err = "Erro";
+ }
+ err = err.replace( '+', ' ' );
+ out.println( mergeTemplate( err, innerErrorTemplate) );
+ }
}
diff --git a/trunk/html/erro.html b/trunk/html/erro.html
index 6c97fd24..eaa43a0d 100644
--- a/trunk/html/erro.html
+++ b/trunk/html/erro.html
@@ -9,7 +9,7 @@
cellpadding="0" cellspacing="0">