From c8707a8a21897fb1ec57911889755d4bff451ee5 Mon Sep 17 00:00:00 2001
From: Diogo Neves
Date: Mon, 11 Oct 2010 17:38:35 +0000
Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1527
bb69d46d-e84e-40c8-a05a-06db0d633741
---
trunk/PlanosActuacao/src/java/db/Db.java | 6 +-
.../src/java/db/DbRelatorios.java | 4 +-
trunk/PlanosActuacao/src/java/db/Dblocal.java | 25 ++-
.../src/java/db/DblocalRelatorios.java | 4 +-
.../providers/UtilizadoresDataProvider.java | 19 +-
.../src/java/global/Global.java | 36 +--
.../src/java/planosactuacao/ListaPlanos.java | 209 ++++++++++++------
.../src/java/planosactuacao/Login.java | 72 +++++-
.../src/java/utils/JSFUtils.java | 2 +-
.../PlanosActuacao/src/java/utils/Utils.java | 14 ++
10 files changed, 282 insertions(+), 109 deletions(-)
diff --git a/trunk/PlanosActuacao/src/java/db/Db.java b/trunk/PlanosActuacao/src/java/db/Db.java
index 5ecd236d..7757b481 100644
--- a/trunk/PlanosActuacao/src/java/db/Db.java
+++ b/trunk/PlanosActuacao/src/java/db/Db.java
@@ -27,11 +27,11 @@ public class Db
private String Pass = null;
//tests
-// private String server = "localhost";
+// private String server = "evoserver";
// private int port = 5432;
-// private String db_name = "siprp";
+// private String db_name = "siprp_20100813";
// private String User = "postgres";
-// private String Pass = null;
+// private String Pass = null;
private String connectionURL = "jdbc:postgresql://" + server + ":" + port + "/" + db_name;
diff --git a/trunk/PlanosActuacao/src/java/db/DbRelatorios.java b/trunk/PlanosActuacao/src/java/db/DbRelatorios.java
index 32e43711..68f43e4d 100644
--- a/trunk/PlanosActuacao/src/java/db/DbRelatorios.java
+++ b/trunk/PlanosActuacao/src/java/db/DbRelatorios.java
@@ -25,9 +25,9 @@ public class DbRelatorios
private String Pass = null;
//tests
-// private String server = "localhost";
+// private String server = "evoserver";
// private int port = 5432;
-// private String db_name = "siprp";
+// private String db_name = "siprp_20100813";
// private String User = "postgres";
// private String Pass = null;
diff --git a/trunk/PlanosActuacao/src/java/db/Dblocal.java b/trunk/PlanosActuacao/src/java/db/Dblocal.java
index 34717a1a..7dbbdd1d 100644
--- a/trunk/PlanosActuacao/src/java/db/Dblocal.java
+++ b/trunk/PlanosActuacao/src/java/db/Dblocal.java
@@ -9,11 +9,9 @@
package db;
-import com.evolute.application.initializer.DefaultDatabaseInitializer;
import com.evolute.entity.ProviderRegistry;
import com.evolute.entity.evo.EvoDataProviderFactory;
import com.evolute.entity.utils.ConnectionIdentity;
-import com.evolute.utils.Singleton;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.JDBCManager;
import com.evolute.utils.db.keyretrievers.PostgresqlAutoKeyRetriever;
@@ -35,15 +33,20 @@ import javax.servlet.http.HttpSession;
*/
public class Dblocal
{
- String server = "localhost";
- String port = "5436";
- String database = "siprp_local_3";
- String User = "postgres";
- String Pass = null;
-
-// String server = "localhost";
-// String port = "5432";
-// String database = "siprp_local";
+ //production
+ private String server = "localhost";
+ private String port = "5436";
+ private String database = "siprp_local_3";
+ private String User = "postgres";
+ private String Pass = null;
+
+ //tests
+// private String server = "evoserver";
+// private String port = "5432";
+// private String database = "siprp_local_3_20100813";
+// private String User = "postgres";
+// private String Pass = null;
+
String connectionURL = "jdbc:postgresql://" + server + ":" + port + "/" + database;
diff --git a/trunk/PlanosActuacao/src/java/db/DblocalRelatorios.java b/trunk/PlanosActuacao/src/java/db/DblocalRelatorios.java
index 58dd9ec6..929ea82b 100644
--- a/trunk/PlanosActuacao/src/java/db/DblocalRelatorios.java
+++ b/trunk/PlanosActuacao/src/java/db/DblocalRelatorios.java
@@ -27,9 +27,9 @@ public class DblocalRelatorios
private String Pass = null;
//tests
-// private String server = "localhost";
+// private String server = "evoserver";
// private int port = 5432;
-// private String db_name = "siprp_local";
+// private String db_name = "siprp_local_3_20100813";
// private String User = "postgres";
// private String Pass = null;
diff --git a/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java b/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
index 36a89194..a02c5bfd 100644
--- a/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
+++ b/trunk/PlanosActuacao/src/java/db/providers/UtilizadoresDataProvider.java
@@ -15,8 +15,23 @@ import java.util.ArrayList;
*
* @author lluis
*/
-public class UtilizadoresDataProvider extends GenericDataProvider{
-
+public class UtilizadoresDataProvider extends GenericDataProvider
+{
+
+ public Utilizador getUtilizador( String login ) throws Exception
+ {
+ Utilizador u = null;
+ Statement st = createStatement();
+ String sql = "SELECT id FROM utilizadores WHERE LOWER(login) = '" + login.toLowerCase() + "' AND apagado = 'n'";
+ ResultSet rs = st.executeQuery(sql);
+ if ( rs.first() )
+ {
+ Integer userID = rs.getInt( "id" );
+ u = getUtilizador( userID );
+ }
+ return u;
+ }
+
public Utilizador getUtilizador( Integer id ) throws Exception
{
Utilizador u = null;
diff --git a/trunk/PlanosActuacao/src/java/global/Global.java b/trunk/PlanosActuacao/src/java/global/Global.java
index a0f1ebf7..86381370 100644
--- a/trunk/PlanosActuacao/src/java/global/Global.java
+++ b/trunk/PlanosActuacao/src/java/global/Global.java
@@ -13,18 +13,18 @@ public class Global {
//tipos utilizadores
public static final int RESPONSAVEL_SEGURANCA = 1;
- public static final int RH = 2;
- public static final int TECNICO_HS = 3;
- public static final int GESTOR = 6;
- public static final int DIRECTOR_GERAL_RH = 7;
- public static final int DIRECTOR_SIPRP = 8;
- public static final int DIRECTOR_LOJA = 9;
- public static final int DIRECTOR_NACIONAL_SEGURANCA = 10;
+ public static final int RH = 2;
+ public static final int TECNICO_HS = 3;
+ public static final int GESTOR = 6;
+ public static final int DIRECTOR_GERAL_RH = 7;
+ public static final int DIRECTOR_SIPRP = 8;
+ public static final int DIRECTOR_LOJA = 9;
+ public static final int DIRECTOR_NACIONAL_SEGURANCA = 10;
//Fases do plano
public static final int FASE_SIPRP_EMISSAO = 1;
- public static final int FASE_SEGURANCA_PREENCHIMENTO = 2;
- public static final int FASE_DIR_LOJA_VALIDACAO = 3;
+ public static final int FASE_SEGURANCA_PREENCHIMENTO = 2;
+ public static final int FASE_DIR_LOJA_VALIDACAO = 3;
public static final int FASE_DNS_PARECER = 4;
public static final int FASE_SIPRP_CONCLUSAO = 5;
public static final int FASE_CONCLUIDO = 6;
@@ -32,18 +32,24 @@ public class Global {
//Fases do plano - texto
public static final String FASE_SIPRP_EMISSAO_TXT = "SIPRP(Emissão)";
public static final String FASE_SEGURANCA_PREENCHIMENTO_TXT = "Segurança Auchan(Preenchimento)";
- public static final String FASE_DIR_LOJA_VALIDACAO_TXT = "Director de loja(Validação)";
+ public static final String FASE_DIR_LOJA_VALIDACAO_TXT = "Director de loja(Validação)";
public static final String FASE_DNS_PARECER_TXT = "DNS(Parecer)";
- public static final String FASE_SIPRP_CONCLUSAO_TXT = "SIPRP(Verificação/Conclusão)";
+ public static final String FASE_SIPRP_CONCLUSAO_TXT = "SIPRP(Verificação/Conclusão)";
- public static final String[] FASES_TEXTO = new String[]{"SIPRP(Emissão)", "Segurança Auchan(Preenchimento)", "Director de loja(Validação)", "DNS(Parecer)", "SIPRP(Verificação/Conclusão)", "Concluído"};
+ public static final String[] FASES_TEXTO = new String[] {
+ "SIPRP(Emissão)",
+ "Segurança Auchan(Preenchimento)",
+ "Director de loja(Validação)",
+ "DNS(Parecer)",
+ "SIPRP(Verificação/Conclusão)",
+ "Concluído"
+ };
//public static final String ANALISE_ACIDENTES_URL = "http://localhost:8084/AnaliseAcidentesTrabalho/faces/"; //testes
//public static final String ANALISE_ACIDENTES_URL = "http://192.168.111.24:8084/AnaliseAcidentesTrabalho/faces/"; //testes portatil
public static final String ANALISE_ACIDENTES_URL = "https://www.siprp.pt/AnaliseAcidentesTrabalho/faces/"; //real
public static final String PLANOS_ACTUACAO_URL = "https://www.siprp.pt/PlanosActuacao/faces/";
-
- public static final String LOGOS_FOLDER = "/resources/images";
- public static final String PDF_FOLDER_URL = "/resources/pdf";
+ public static final String LOGOS_FOLDER = "/resources/images";
+ public static final String PDF_FOLDER_URL = "/resources/pdf";
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
index 46f6d8d4..55a33456 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
@@ -393,84 +393,155 @@ public class ListaPlanos extends AbstractPageBean {
* this page.
*/
@Override
- public void prerender() {
+ public void prerender()
+ {
//UIComponent emptyCol = tableRowGroup1.getEmptyDataText();
- System.out.println("LISTA PLANOS - PRERENDER");
-
+ System.out.println("LISTA PLANOS - PRERENDER");
+
+ Utilizador u = getSessionBean1().getCurrentUser();
+ System.out.println( "\tUser Logged In : " + u );
+
FacesContext fc = getFacesContext();
- String user_id = JSFUtils.getRequestParameter(fc, "user");
- String estab_gestor = JSFUtils.getRequestParameter(fc, "estab_gestor");
- System.out.println("LISTA PLANOS - USER ID : " + user_id );
+ String estab_gestor = JSFUtils.getRequestParameter( fc, "estab_gestor" );
+
+// String user_id = JSFUtils.getRequestParameter( fc, "user" );
+// System.out.println("LISTA PLANOS - USER ID : " + user_id + " : " + u );
- Utilizador u = null;
- if ( user_id != null )
+// if ( u == null )
+// {
+// Integer userId = new Integer( Integer.parseInt( user_id ) );
+// UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
+// udp.checkConnection();
+// u = udp.getUtilizador( userId );
+// }
+
+ if ( u != null )
{
- try
+ if ( u.getTipo() != null && u.getTipo().intValue() == Global.GESTOR )
{
- Integer userId = new Integer( Integer.parseInt( user_id ) );
-
- UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
- udp.checkConnection();
+ try
+ {
+ Integer estabelecimento_gestor = new Integer(Integer.parseInt(estab_gestor));
+ System.out.println("ESTABELECIMENTO GESTOR : " + estabelecimento_gestor.intValue());
+ u.setEstabelecimento_gestor(estabelecimento_gestor);
+ } catch (Exception ex2)
+ {
+ ErrorLogger.logException(ex2);
+ }
+ }
- u = udp.getUtilizador( userId );
- if ( u != null )
- {
- if ( u.getTipo().intValue() == Global.GESTOR )
- {
- try
- {
- Integer estabelecimento_gestor = new Integer(Integer.parseInt(estab_gestor));
- System.out.println("ESTABELECIMENTO GESTOR : " + estabelecimento_gestor.intValue());
- u.setEstabelecimento_gestor(estabelecimento_gestor);
- }
- catch(Exception ex2)
- {
- ErrorLogger.logException( ex2 );
- }
+// getSessionBean1().setCurrentUser( u );
+// u = getSessionBean1().getCurrentUser();
- }
+ if (u.getTipo().intValue() == Global.DIRECTOR_SIPRP || u.getTipo().intValue() == Global.RH || u.getTipo().intValue() == Global.DIRECTOR_GERAL_RH || u.getTipo().intValue() == Global.GESTOR) {
+ gridActual.setRendered(false);
+ tableRowGroup2.setEmptyDataMsg("Sem registos");
+ tableRowGroup3.setEmptyDataMsg("Sem registos");
+ }
- getSessionBean1().setCurrentUser( u );
-
- u = getSessionBean1().getCurrentUser();
- if(u.getTipo().intValue() == Global.DIRECTOR_SIPRP || u.getTipo().intValue() == Global.RH || u.getTipo().intValue() == Global.DIRECTOR_GERAL_RH || u.getTipo().intValue() == Global.GESTOR)
- {
- gridActual.setRendered(false);
- tableRowGroup2.setEmptyDataMsg("Sem registos");
- tableRowGroup3.setEmptyDataMsg("Sem registos");
- }
-
- if(u.getTipo().intValue() != Global.DIRECTOR_SIPRP && u.getTipo().intValue() != Global.RH && u.getTipo().intValue() != Global.DIRECTOR_GERAL_RH)
- {
- getSessionBean1().setDisableMenuUtilizadores(true);
- tableRowGroup1.setEmptyDataMsg("Sem registos");
- tableRowGroup2.setEmptyDataMsg("Sem registos");
- tableRowGroup3.setEmptyDataMsg("Sem registos");
- }
-
-
- //Column para desactivar plano - mostra se o utilizador for DIRECTOR SIPRP
- int uType = u.getTipo().intValue();
- boolean renderOrNot = uType == Global.DIRECTOR_SIPRP || uType == Global.TECNICO_HS;
- tableColumn55.setRendered( renderOrNot );
- buttonDesactivar.setRendered( renderOrNot );
-
- tableColumn56.setRendered( renderOrNot );
- buttonDesactivarSeguimento.setRendered( renderOrNot );
-
-
- initialize();
- }
- else
- {
- getSessionBean1().setMsg( "Utilizador inválido." );
- }
- }
- catch(Exception ex)
- {
- ErrorLogger.logException( ex );
+ if (u.getTipo().intValue() != Global.DIRECTOR_SIPRP && u.getTipo().intValue() != Global.RH && u.getTipo().intValue() != Global.DIRECTOR_GERAL_RH) {
+ getSessionBean1().setDisableMenuUtilizadores(true);
+ tableRowGroup1.setEmptyDataMsg("Sem registos");
+ tableRowGroup2.setEmptyDataMsg("Sem registos");
+ tableRowGroup3.setEmptyDataMsg("Sem registos");
}
- }
+
+ //Column para desactivar plano - mostra se o utilizador for DIRECTOR SIPRP
+ int uType = u.getTipo().intValue();
+ boolean renderOrNot = uType == Global.DIRECTOR_SIPRP || uType == Global.TECNICO_HS;
+ tableColumn55.setRendered(renderOrNot);
+ buttonDesactivar.setRendered(renderOrNot);
+
+ tableColumn56.setRendered(renderOrNot);
+ buttonDesactivarSeguimento.setRendered(renderOrNot);
+
+ initialize();
+ }
+ else
+ {
+ getSessionBean1().setMsg("Utilizador inválido.");
+ }
+
+
+
+ //UIComponent emptyCol = tableRowGroup1.getEmptyDataText();
+// System.out.println("LISTA PLANOS - PRERENDER");
+//
+// System.out.println( "\n\tCURRENT USER : " + getSessionBean1().getCurrentUser() + " - " +
+// ( getSessionBean1().getCurrentUser() == null ? "" :
+// getSessionBean1().getCurrentUser().getId() + " : " + getSessionBean1().getCurrentUser().getLogin() ) );
+//
+// FacesContext fc = getFacesContext();
+// String user_id = JSFUtils.getRequestParameter(fc, "user");
+// String estab_gestor = JSFUtils.getRequestParameter(fc, "estab_gestor");
+// System.out.println("LISTA PLANOS - USER ID ( From Request ) : " + user_id );
+//
+// Utilizador u = null;
+// if ( user_id != null )
+// {
+// try
+// {
+// Integer userId = new Integer( Integer.parseInt( user_id ) );
+//
+// UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
+// udp.checkConnection();
+//
+// u = udp.getUtilizador( userId );
+// if ( u != null )
+// {
+// if ( u.getTipo().intValue() == Global.GESTOR )
+// {
+// try
+// {
+// Integer estabelecimento_gestor = new Integer(Integer.parseInt(estab_gestor));
+// System.out.println("ESTABELECIMENTO GESTOR : " + estabelecimento_gestor.intValue());
+// u.setEstabelecimento_gestor(estabelecimento_gestor);
+// }
+// catch(Exception ex2)
+// {
+// ErrorLogger.logException( ex2 );
+// }
+//
+// }
+//
+// getSessionBean1().setCurrentUser( u );
+//
+// u = getSessionBean1().getCurrentUser();
+// if(u.getTipo().intValue() == Global.DIRECTOR_SIPRP || u.getTipo().intValue() == Global.RH || u.getTipo().intValue() == Global.DIRECTOR_GERAL_RH || u.getTipo().intValue() == Global.GESTOR)
+// {
+// gridActual.setRendered(false);
+// tableRowGroup2.setEmptyDataMsg("Sem registos");
+// tableRowGroup3.setEmptyDataMsg("Sem registos");
+// }
+//
+// if(u.getTipo().intValue() != Global.DIRECTOR_SIPRP && u.getTipo().intValue() != Global.RH && u.getTipo().intValue() != Global.DIRECTOR_GERAL_RH)
+// {
+// getSessionBean1().setDisableMenuUtilizadores(true);
+// tableRowGroup1.setEmptyDataMsg("Sem registos");
+// tableRowGroup2.setEmptyDataMsg("Sem registos");
+// tableRowGroup3.setEmptyDataMsg("Sem registos");
+// }
+//
+// //Column para desactivar plano - mostra se o utilizador for DIRECTOR SIPRP
+// int uType = u.getTipo().intValue();
+// boolean renderOrNot = uType == Global.DIRECTOR_SIPRP || uType == Global.TECNICO_HS;
+// tableColumn55.setRendered( renderOrNot );
+// buttonDesactivar.setRendered( renderOrNot );
+// tableColumn56.setRendered( renderOrNot );
+// buttonDesactivarSeguimento.setRendered( renderOrNot );
+//
+// initialize();
+// }
+// else
+// {
+// getSessionBean1().setMsg( "Utilizador inválido." );
+// }
+// }
+// catch(Exception ex)
+// {
+// ErrorLogger.logException( ex );
+// }
+// }
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/Login.java b/trunk/PlanosActuacao/src/java/planosactuacao/Login.java
index a884d3a5..bace5ef3 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/Login.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/Login.java
@@ -11,8 +11,11 @@ import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Button;
import com.sun.webui.jsf.component.PasswordField;
import com.sun.webui.jsf.component.TextField;
+import db.entidades.Utilizador;
+import db.providers.UtilizadoresDataProvider;
import java.sql.Connection;
import javax.faces.FacesException;
+import utils.Utils;
/**
* Page bean that corresponds to a similarly named JSP page. This
@@ -196,10 +199,71 @@ public class Login extends AbstractPageBean {
return null;
}
- public String butLogin_action() {
- // TODO: Process the action. Return value is a navigation
- // case name where null will return to the same page.
- return "lista_planos";
+ public String butLogin_action()
+ {
+ String sRet = null;
+
+ UtilizadoresDataProvider udp = new UtilizadoresDataProvider();
+ if(txtUtilizador.getText() != null)
+ {
+ String utilizador = (String) txtUtilizador.getText();
+ if(utilizador.trim().length() > 0)
+ {
+ if(txtPassword.getText() != null)
+ {
+ String password = (String) txtPassword.getText();
+ if( password.trim().length() > 0 )
+ {
+ try
+ {
+ Utilizador u = udp.getUtilizador( utilizador );
+ if( u != null && "y".equals( u.getActivo() ) )
+ {
+ if ( ! password.equals( u.getPassword() ) )
+ {
+ getSessionBean1().setMsg( "Palavra-chave inválida !" );
+ }
+ else
+ {
+ Utils.doLogin( u );
+
+ getSessionBean1().setCurrentUser( u );
+ getSessionBean1().setLoggedIn( true );
+
+ sRet = "lista_planos";
+ }
+ }
+ else
+ {
+ getSessionBean1().setMsg("Utilizador inválido ! ");
+ }
+ }
+ catch(Exception ex)
+ {
+ ErrorLogger.logException( ex );
+ getSessionBean1().setMsg("Utilizador inválido ! ");
+ }
+ }
+ else
+ {
+ getSessionBean1().setMsg("Falta palavra-chave !");
+ }
+ }
+ else
+ {
+ getSessionBean1().setMsg("Falta palavra-chave !");
+ }
+ }
+ else
+ {
+ getSessionBean1().setMsg("Falta utilizador !");
+ }
+ }
+ else
+ {
+ getSessionBean1().setMsg("Falta utilizador !");
+ }
+ return sRet;
}
}
diff --git a/trunk/PlanosActuacao/src/java/utils/JSFUtils.java b/trunk/PlanosActuacao/src/java/utils/JSFUtils.java
index 1b9acc2f..31075505 100644
--- a/trunk/PlanosActuacao/src/java/utils/JSFUtils.java
+++ b/trunk/PlanosActuacao/src/java/utils/JSFUtils.java
@@ -63,7 +63,7 @@ public class JSFUtils {
Map requestScope = (Map) facesContext.getApplication().getExpressionFactory().createValueExpression(facesContext.getELContext(), "#{requestScope}", Map.class).getValue(facesContext.getELContext());
//Map requestScope = (Map)facesContext.getApplication().createValueBinding(?#{requestScope}?).getValue(facesContext);
boolean ispostback = ((Boolean)requestScope.get("ispostback")).booleanValue();
- System.out.println("POSTBACK A : " + ispostback);
+ System.out.println("JSFUtils . isPostback() : " + ispostback );
return ispostback;
}
diff --git a/trunk/PlanosActuacao/src/java/utils/Utils.java b/trunk/PlanosActuacao/src/java/utils/Utils.java
index fcdcd7c4..b9d16d10 100644
--- a/trunk/PlanosActuacao/src/java/utils/Utils.java
+++ b/trunk/PlanosActuacao/src/java/utils/Utils.java
@@ -6,6 +6,8 @@
package utils;
import com.evolute.utils.Singleton;
+import com.evolute.utils.error.ErrorLogger;
+import db.entidades.Utilizador;
/**
*
@@ -83,6 +85,18 @@ public class Utils {
}
+ public static void doLogin( Utilizador u )
+ {
+ if ( u != null )
+ {
+ Singleton.setInstance( Singleton.USERNAME, u.getLogin() );
+ }
+ else
+ {
+ ErrorLogger.logException( new Exception( "Utils.doLogin() : Utilizador is null !" ) );
+ }
+ }
+
public static void doLogout()
{
Singleton.setInstance( Singleton.USERNAME, null );