You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/AnaliseAcidentesTrabalho/src/analiseacidentestrabalho/Acesso.java

330 lines
9.0 KiB

/*
* Acesso.java
*
* Created on Oct 15, 2008, 9:49:21 AM
*/
package analiseacidentestrabalho;
import beans.Utilizador;
import com.evolute.utils.error.ErrorLogger;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.rave.web.ui.component.DropDown;
import com.sun.rave.web.ui.component.StaticText;
import db.providers.AnalisesDataProvider;
import db.providers.UtilizadoresDataProvider;
import global.Global;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlPanelGrid;
import javax.faces.context.FacesContext;
import utils.JSFUtils;
import utils.Utils;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
* class contains component definitions (and initialization code) for
* all components that you have defined on this page, as well as
* lifecycle methods and event handlers where you may add behavior
* to respond to incoming events.</p>
*
* @author lluis
*/
public class Acesso extends AbstractPageBean
{
// <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
/**
* <p>Automatically managed component initialization. <strong>WARNING:</strong>
* This method is automatically generated, so any user-specified code inserted
* here is subject to being replaced.</p>
*/
private void _init() throws Exception
{
}
private StaticText stWelcome = new StaticText();
public StaticText getStWelcome()
{
return stWelcome;
}
public void setStWelcome(StaticText st)
{
this.stWelcome = st;
}
private DropDown drpEstabelecimentos = new DropDown();
public DropDown getDrpEstabelecimentos()
{
return drpEstabelecimentos;
}
public void setDrpEstabelecimentos(DropDown dd)
{
this.drpEstabelecimentos = dd;
}
private HtmlPanelGrid gridEstabelecimento = new HtmlPanelGrid();
public HtmlPanelGrid getGridEstabelecimento()
{
return gridEstabelecimento;
}
public void setGridEstabelecimento(HtmlPanelGrid hpg)
{
this.gridEstabelecimento = hpg;
}
// </editor-fold>
/**
* <p>Construct a new Page bean instance.</p>
*/
public Acesso()
{
}
/**
* <p>Callback method that is called whenever a page is navigated to,
* either directly via a URL, or indirectly via page navigation.
* Customize this method to acquire resources that will be needed
* for event handlers and lifecycle methods, whether or not this
* page is performing post back processing.</p>
*
* <p>Note that, if the current request is a postback, the property
* values of the components do <strong>not</strong> represent any
* values submitted with this request. Instead, they represent the
* property values that were saved for this view when it was rendered.</p>
*/
@Override
public void init()
{
// Perform initializations inherited from our superclass
super.init();
// Perform application initialization that must complete
// *before* managed components are initialized
// TODO - add your own initialiation code here
// <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
// Initialize automatically managed components
// *Note* - this logic should NOT be modified
try
{
_init();
}
catch ( Exception e )
{
log("Acesso Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
// </editor-fold>
// Perform application initialization that must complete
// *after* managed components are initialized
// TODO - add your own initialization code here
}
/**
* <p>Callback method that is called after the component tree has been
* restored, but before any event processing takes place. This method
* will <strong>only</strong> be called on a postback request that
* is processing a form submit. Customize this method to allocate
* resources that will be required in your event handlers.</p>
*/
@Override
public void preprocess()
{
}
/**
* <p>Callback method that is called just before rendering takes place.
* This method will <strong>only</strong> be called for the page that
* will actually be rendered (and not, for example, on a page that
* handled a postback and then navigated to a different page). Customize
* this method to allocate resources that will be required for rendering
* this page.</p>
*/
@Override
public void prerender()
{
Utilizador u = getSessionBean1().getCurrentUser();
String nomeHtml = Utils.unicodeToHTML( u.getNome() );
stWelcome.setText("Bem vindo(a) " + nomeHtml);
if ( u.getTipo().intValue() == Global.TIPO_UTILIZADOR_GESTOR )
{
initializeEstabelecimentos();
}
else
{
gridEstabelecimento.setRendered( false );
}
}
/**
* <p>Callback method that is called after rendering is completed for
* this request, if <code>init()</code> was called (regardless of whether
* or not this was the page that was actually rendered). Customize this
* method to release resources acquired in the <code>init()</code>,
* <code>preprocess()</code>, or <code>prerender()</code> methods (or
* acquired during execution of an event handler).</p>
*
*/
@Override
public void destroy()
{
}
/**
* <p>Return a reference to the scoped data bean.</p>
*/
protected SessionBean1 getSessionBean1()
{
return ( SessionBean1 ) getBean("SessionBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*/
protected RequestBean1 getRequestBean1()
{
return ( RequestBean1 ) getBean("RequestBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*/
protected ApplicationBean1 getApplicationBean1()
{
return ( ApplicationBean1 ) getBean("ApplicationBean1");
}
public String lnkAnalisesAcidente_action() {
// TODO: Replace with your code
return null;
}
public String lnkNewUser_action() {
// TODO: Replace with your code
return null;
}
public String lnkEditUser_action() {
// TODO: Replace with your code
return null;
}
public String lnkAjuda_action() {
// TODO: Replace with your code
return null;
}
public String lnkLogout_action()
{
FacesContext fc = getFacesContext();
try
{
JSFUtils.logout( fc, false );
}
catch ( Exception ex )
{
ErrorLogger.logException( ex );
}
return "login";
}
public String lnkAnalises_action()
{
String page = "gestor";
Utilizador u = getSessionBean1().getCurrentUser();
try
{
UtilizadoresDataProvider udp = UtilizadoresDataProvider.getInstance();
Integer permissao = udp.getPermissionCode( u.getId() );
if ( permissao != null )
{
switch ( permissao.intValue() )
{
case 1: //seguranca
page = "form_seguranca";
break;
case 2: //rh
page = "form_rh";
break;
case 3: //hs
page = "form_hs";
break;
case 6: //gestor
Integer estabelecimento = null;
if(u.getTipo().intValue() == Global.TIPO_UTILIZADOR_GESTOR)
{
estabelecimento = (Integer) drpEstabelecimentos.getSelected();
u.setEstabelecimento_gestor( estabelecimento );
}
page = "form_gestor";
break;
case 7: //dir ger rh
page = "form_dir_ger_rh";
break;
case 8: //dir_siprp
page = "form_dir_siprp";
break;
default:
page = "gestor";
break;
}
}
}
catch ( Exception ex )
{
ErrorLogger.logException( ex );
page = "gestor";
}
return page;
}
public String lnkPlanos_action()
{
Utilizador u = getSessionBean1().getCurrentUser();
FacesContext fc = getFacesContext().getCurrentInstance();
Integer estabelecimento = null;
if ( u.getTipo().intValue() == Global.TIPO_UTILIZADOR_GESTOR )
{
estabelecimento = ( Integer ) drpEstabelecimentos.getSelected();
u.setEstabelecimento_gestor( estabelecimento );
}
Global.redirectToPlanos( fc, u );
return null;
}
private void initializeEstabelecimentos()
{
try
{
AnalisesDataProvider adp = AnalisesDataProvider.getInstance();
com.sun.rave.web.ui.model.Option[] listGestorOptions = adp.getEstabelecimentosGestorList( getSessionBean1().getCurrentUser().getEmpresa_id(), new Boolean( true ) );
getSessionBean1().setEstabelecimentosGestorOptions( listGestorOptions );
drpEstabelecimentos.setSelected( new Integer( 0 ) );
}
catch ( Exception ex )
{
ErrorLogger.logException( ex );
}
}
}