git-svn-id: https://svn.coded.pt/svn/SIPRP@1579 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Diogo Neves 15 years ago
parent 5159ed1368
commit e3cfa60097

@ -2,16 +2,16 @@
<Scene Scope="Project" version="2"> <Scene Scope="Project" version="2">
<Scope Scope="Faces Configuration Only"/> <Scope Scope="Faces Configuration Only"/>
<Scope Scope="Project"> <Scope Scope="Project">
<Node id="GestaoUtilizadores.jsp" x="400" y="450" zoom="true"/>
<Node id="RecuperarPassword.jsp" x="400" y="150" zoom="true"/> <Node id="RecuperarPassword.jsp" x="400" y="150" zoom="true"/>
<Node id="GestaoUtilizadores.jsp" x="400" y="450" zoom="true"/>
<Node id="FormDirGerRh.jsp" x="150" y="750" zoom="true"/> <Node id="FormDirGerRh.jsp" x="150" y="750" zoom="true"/>
<Node id="FormGestor.jsp" x="400" y="300" zoom="true"/> <Node id="FormGestor.jsp" x="400" y="300" zoom="true"/>
<Node id="Erro.jsp" x="650" y="450" zoom="true"/>
<Node id="Acesso.jsp" x="400" y="750" zoom="false"/> <Node id="Acesso.jsp" x="400" y="750" zoom="false"/>
<Node id="Erro.jsp" x="650" y="450" zoom="true"/>
<Node id="FormRH.jsp" x="400" y="600" zoom="true"/> <Node id="FormRH.jsp" x="400" y="600" zoom="true"/>
<Node id="EstatisticasProcesso.jsp" x="150" y="900" zoom="true"/> <Node id="EstatisticasProcesso.jsp" x="150" y="900" zoom="true"/>
<Node id="FormSeguranca.jsp" x="1150" y="150" zoom="true"/>
<Node id="AnaliseAcidenteTrabalho.jsp" x="150" y="450" zoom="true"/> <Node id="AnaliseAcidenteTrabalho.jsp" x="150" y="450" zoom="true"/>
<Node id="FormSeguranca.jsp" x="1150" y="150" zoom="true"/>
<Node id="NovoUtilizador.jsp" x="900" y="150" zoom="true"/> <Node id="NovoUtilizador.jsp" x="900" y="150" zoom="true"/>
<Node id="FormDirSiprp.jsp" x="1400" y="150" zoom="true"/> <Node id="FormDirSiprp.jsp" x="1400" y="150" zoom="true"/>
<Node id="FichaUtilizador.jsp" x="150" y="300" zoom="true"/> <Node id="FichaUtilizador.jsp" x="150" y="300" zoom="true"/>
@ -22,8 +22,8 @@
<Node id="ConfirmarDesactivar.jsp" x="1650" y="150" zoom="true"/> <Node id="ConfirmarDesactivar.jsp" x="1650" y="150" zoom="true"/>
<Node id="Dummy.jsp" x="150" y="600" zoom="true"/> <Node id="Dummy.jsp" x="150" y="600" zoom="true"/>
<Node id="LoadImage.jsp" x="650" y="600" zoom="true"/> <Node id="LoadImage.jsp" x="650" y="600" zoom="true"/>
<Node id="Login.jsp" x="650" y="300" zoom="true"/>
<Node id="ViewAnaliseAcidenteTrabalho.jsp" x="650" y="150" zoom="true"/> <Node id="ViewAnaliseAcidenteTrabalho.jsp" x="650" y="150" zoom="true"/>
<Node id="Login.jsp" x="650" y="300" zoom="true"/>
</Scope> </Scope>
<Scope Scope="All Faces Configurations"/> <Scope Scope="All Faces Configurations"/>
</Scene> </Scene>

@ -10,12 +10,14 @@ import beans.Utilizador;
import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.error.ErrorLogger;
import com.sun.rave.web.ui.appbase.AbstractPageBean; import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.rave.web.ui.component.Button; import com.sun.rave.web.ui.component.Button;
import com.sun.rave.web.ui.component.DropDown;
import com.sun.rave.web.ui.component.Hyperlink; import com.sun.rave.web.ui.component.Hyperlink;
import com.sun.rave.web.ui.component.RadioButton; import com.sun.rave.web.ui.component.RadioButton;
import com.sun.rave.web.ui.component.RadioButtonGroup; import com.sun.rave.web.ui.component.RadioButtonGroup;
import com.sun.rave.web.ui.component.StaticText; import com.sun.rave.web.ui.component.StaticText;
import com.sun.rave.web.ui.component.Table; import com.sun.rave.web.ui.component.Table;
import com.sun.rave.web.ui.component.TextField; import com.sun.rave.web.ui.component.TextField;
import com.sun.rave.web.ui.model.Option;
import db.EstatisticasConstants; import db.EstatisticasConstants;
import db.providers.EstatisticasDataProvider; import db.providers.EstatisticasDataProvider;
import global.Global; import global.Global;
@ -143,14 +145,26 @@ public class EstatisticasProcesso extends AbstractPageBean
this.tableEstatisticas = t; this.tableEstatisticas = t;
} }
private TextField textCausas = new TextField(); private DropDown dropCausas = new DropDown();
public TextField getTextCausas() {
return textCausas; public DropDown getDropCausas() {
return dropCausas;
} }
public void setTextCausas(TextField textCausas) {
this.textCausas = textCausas; public void setDropCausas(DropDown dropCausas) {
this.dropCausas = dropCausas;
} }
// private TextField textCausas = new TextField();
// public TextField getTextCausas() {
// return textCausas;
// }
// public void setTextCausas(TextField textCausas) {
// this.textCausas = textCausas;
// }
private TextField textDepartamento = new TextField(); private TextField textDepartamento = new TextField();
public TextField getTextDepartamento() { public TextField getTextDepartamento() {
return textDepartamento; return textDepartamento;
@ -159,21 +173,42 @@ public class EstatisticasProcesso extends AbstractPageBean
this.textDepartamento = textDepartamento; this.textDepartamento = textDepartamento;
} }
private TextField textSeccao = new TextField(); private DropDown dropSeccoes = new DropDown();
public TextField getTextSeccao() {
return textSeccao; public DropDown getDropSeccoes() {
return dropSeccoes;
} }
public void setTextSeccao(TextField textSeccao) {
this.textSeccao = textSeccao; public void setDropSeccoes(DropDown dropSeccoes) {
this.dropSeccoes = dropSeccoes;
} }
private TextField textTurno = new TextField();
public TextField getTextTurno() { // private TextField textSeccao = new TextField();
return textTurno; // public TextField getTextSeccao() {
// return textSeccao;
// }
// public void setTextSeccao(TextField textSeccao) {
// this.textSeccao = textSeccao;
// }
private DropDown dropTurno = new DropDown();
public DropDown getDropTurno() {
return dropTurno;
} }
public void setTextTurno(TextField textTurno) {
this.textTurno = textTurno; public void setDropTurno(DropDown dropTurno) {
this.dropTurno = dropTurno;
} }
// private TextField textTurno = new TextField();
// public TextField getTextTurno() {
// return textTurno;
// }
// public void setTextTurno(TextField textTurno) {
// this.textTurno = textTurno;
// }
private RadioButtonGroup formacaoSHST = new RadioButtonGroup(); private RadioButtonGroup formacaoSHST = new RadioButtonGroup();
public RadioButtonGroup getFormacaoSHST() public RadioButtonGroup getFormacaoSHST()
@ -257,16 +292,7 @@ public class EstatisticasProcesso extends AbstractPageBean
private boolean canAccess() private boolean canAccess()
{ {
boolean canAccess = false; boolean canAccess = false;
canAccess = getSessionBean1().getCanAccessEstatisticas();
if ( getSessionBean1().isLoggedIn() )
{
Utilizador u = getSessionBean1().getCurrentUser();
if ( u != null && u.getTipo().intValue() == Global.TIPO_UTILIZADOR_DIRECTOR_SIPRP )
{
canAccess = true;
}
}
return canAccess; return canAccess;
} }
@ -332,7 +358,32 @@ public class EstatisticasProcesso extends AbstractPageBean
lblUser.setText( getSessionBean1().getCurrentUser().getLogin() ); lblUser.setText( getSessionBean1().getCurrentUser().getLogin() );
Option[] turnosOptions = new Option[ 4 ];
turnosOptions[ 0 ] = new Option( "", "" );
turnosOptions[ 1 ] = new Option( "m", "Manhã" );
turnosOptions[ 2 ] = new Option( "t", "Tarde" );
turnosOptions[ 3 ] = new Option( "n", "Noite" );
dropTurno.setItems( turnosOptions );
try
{
EstatisticasDataProvider statsProvider = EstatisticasDataProvider.getInstance();
Option[] causas = statsProvider.getCausasAcidente();
if ( causas != null )
{
dropCausas.setItems( causas );
}
Option[] seccoes = statsProvider.getSeccoesList();
if ( seccoes != null )
{
dropSeccoes.setItems( seccoes );
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
} }
/** /**
@ -431,23 +482,42 @@ public class EstatisticasProcesso extends AbstractPageBean
departamento = "".equals( departamento ) ? null : departamento; departamento = "".equals( departamento ) ? null : departamento;
} }
String seccao = null; String seccao = null;
if ( textSeccao.getText() != null ) if ( dropSeccoes.getSelected() != null )
{ {
seccao = ( ( String ) textSeccao.getText() ).trim(); seccao = ( String ) dropSeccoes.getSelected();
seccao = "".equals( seccao ) ? null : seccao;
} }
String causas = null; // if ( textSeccao.getText() != null )
if ( textCausas.getText() != null ) // {
// seccao = ( ( String ) textSeccao.getText() ).trim();
// seccao = "".equals( seccao ) ? null : seccao;
// }
Integer causas = null;
if ( dropCausas.getSelected() != null )
{ {
causas = ( ( String ) textCausas.getText() ).trim(); String causaID = ( String ) dropCausas.getSelected();
causas = "".equals( causas ) ? null : causas; if ( causaID != null )
{
try { causas = Integer.parseInt( causaID ); }
catch ( Exception e ) { }
}
} }
// String causas = null;
// if ( textCausas.getText() != null )
// {
// causas = ( ( String ) textCausas.getText() ).trim();
// causas = "".equals( causas ) ? null : causas;
// }
String turno = null; String turno = null;
if ( textTurno.getText() != null ) if ( dropTurno.getSelected() != null )
{ {
turno = ( ( String ) textTurno.getText() ).trim(); turno = ( String ) dropTurno.getSelected();
turno = "".equals( turno ) ? null : turno; turno = turno == null || "".equals( turno.trim() ) ? null : turno;
} }
// if ( textTurno.getText() != null )
// {
// turno = ( ( String ) textTurno.getText() ).trim();
// turno = "".equals( turno ) ? null : turno;
// }
Boolean shst = null; Boolean shst = null;
if ( formacaoSHST_true.getSelected() != null || formacaoSHST_false.getSelected() != null ) if ( formacaoSHST_true.getSelected() != null || formacaoSHST_false.getSelected() != null )
{ {
@ -629,7 +699,7 @@ public class EstatisticasProcesso extends AbstractPageBean
String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS ); String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS );
String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO ); String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO ); String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
String causas = ( String ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE ); Integer causas = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE );
String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO ); String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO );
Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST ); Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST );
Boolean postoAcidentado = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_POSTO_ACIDENTADO ); Boolean postoAcidentado = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_POSTO_ACIDENTADO );
@ -705,20 +775,50 @@ public class EstatisticasProcesso extends AbstractPageBean
columnValue.setCellValue( seccao ); columnValue.setCellValue( seccao );
row++; row++;
String causa = "";
if ( causas != null )
{
try
{
EstatisticasDataProvider statsProvider = EstatisticasDataProvider.getInstance();
causa = statsProvider.getCausaByID( causas );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
}
keyName = EstatisticasConstants.KEY_NAMES[ row ]; keyName = EstatisticasConstants.KEY_NAMES[ row ];
currentRow = getRow( sheet, row ); currentRow = getRow( sheet, row );
columnLabel = getCell( currentRow, 0 ); columnLabel = getCell( currentRow, 0 );
columnLabel.setCellValue( keyName ); columnLabel.setCellValue( keyName );
columnValue = getCell( currentRow, 1 ); columnValue = getCell( currentRow, 1 );
columnValue.setCellValue( causas ); columnValue.setCellValue( causa );
row++; row++;
String turnoDesc = "";
if ( turno != null )
{
if ( "m".equals( turno ) )
{
turnoDesc = "Manhã";
}
else if ( "t".equals( turno ) )
{
turnoDesc = "Tarde";
}
else if ( "n".equals( turno ) )
{
turnoDesc = "Noite";
}
}
keyName = EstatisticasConstants.KEY_NAMES[ row ]; keyName = EstatisticasConstants.KEY_NAMES[ row ];
currentRow = getRow( sheet, row ); currentRow = getRow( sheet, row );
columnLabel = getCell( currentRow, 0 ); columnLabel = getCell( currentRow, 0 );
columnLabel.setCellValue( keyName ); columnLabel.setCellValue( keyName );
columnValue = getCell( currentRow, 1 ); columnValue = getCell( currentRow, 1 );
columnValue.setCellValue( turno ); columnValue.setCellValue( turnoDesc );
row++; row++;
keyName = EstatisticasConstants.KEY_NAMES[ row ]; keyName = EstatisticasConstants.KEY_NAMES[ row ];

@ -42,7 +42,14 @@ public class SessionBean1 extends AbstractSessionBean
private Boolean canAccessEstatisticas = false; private Boolean canAccessEstatisticas = false;
public Boolean getCanAccessEstatisticas() { public Boolean getCanAccessEstatisticas()
{
if ( isLoggedIn() && getCurrentUser() != null && getCurrentUser().getTipo() != null )
{
int tipo = getCurrentUser().getTipo().intValue();
canAccessEstatisticas = tipo == Global.TIPO_UTILIZADOR_DIRECTOR_SIPRP || tipo == Global.TIPO_UTILIZADOR_HS;
}
return canAccessEstatisticas; return canAccessEstatisticas;
} }
@ -182,8 +189,7 @@ public class SessionBean1 extends AbstractSessionBean
public void setCurrentUser(Utilizador currentUser) { public void setCurrentUser(Utilizador currentUser) {
this.currentUser = currentUser; this.currentUser = currentUser;
setCanAccessEstatisticas( getCanAccessEstatisticas() );
setCanAccessEstatisticas( currentUser != null && currentUser.getTipo().intValue() == Global.TIPO_UTILIZADOR_DIRECTOR_SIPRP );
} }
private db.providers.AnalisesActualDataProvider analisesActualDataProvider; private db.providers.AnalisesActualDataProvider analisesActualDataProvider;

@ -12,6 +12,19 @@ database.siprp_local = siprp_local_3
username.siprp_local = postgres username.siprp_local = postgres
#password.siprp_local = #password.siprp_local =
# tests evoserver
#server.siprp = evoserver
#port.siprp = 5432
#database.siprp = siprp_20100813
#username.siprp = postgres
##password.siprp =
#
#server.siprp_local = evoserver
#port.siprp_local = 5432
#database.siprp_local = siprp_local_3_20100813
#username.siprp_local = postgres
##password.siprp_local =
# tests # tests
#server.siprp = www.evolute.pt #server.siprp = www.evolute.pt
#port.siprp = 5436 #port.siprp = 5436

@ -7,7 +7,14 @@ package db.providers;
import db.*; import db.*;
import beans.EstatisticaProcessoBean; import beans.EstatisticaProcessoBean;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select2;
import com.sun.rave.web.ui.model.Option;
import db.data.siprp.outer.AnalisesAcidentesData;
import db.data.siprp.outer.CausasData;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.Statement; import java.sql.Statement;
import java.text.ParseException; import java.text.ParseException;
@ -62,7 +69,7 @@ public class EstatisticasDataProvider extends GenericDataProvider
String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS ); String horasTrabalhadas = ( String ) searchProperties.get( EstatisticasConstants.KEY_HORAS_TRABALHADAS );
String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO ); String departamento = ( String ) searchProperties.get( EstatisticasConstants.KEY_DEPARTAMENTO );
String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO ); String seccao = ( String ) searchProperties.get( EstatisticasConstants.KEY_SECCAO );
String causas = ( String ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE ); Integer causas = ( Integer ) searchProperties.get( EstatisticasConstants.KEY_CAUSAS_ACIDENTE );
String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO ); String turno = ( String ) searchProperties.get( EstatisticasConstants.KEY_TURNO_TRABALHO );
Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST ); Boolean formacao_shst = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_FORMACAO_SHST );
Boolean postoAcidentado = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_POSTO_ACIDENTADO ); Boolean postoAcidentado = ( Boolean ) searchProperties.get( EstatisticasConstants.KEY_POSTO_ACIDENTADO );
@ -146,8 +153,7 @@ public class EstatisticasDataProvider extends GenericDataProvider
} }
if ( causas != null ) if ( causas != null )
{ {
causas = causas.replaceAll( " ", "%" ); whereConditions += " AND " + EstatisticasConstants.KEY_CAUSAS_ACIDENTE + " = " + causas + " ";
whereConditions += " AND " + EstatisticasConstants.KEY_CAUSAS_ACIDENTE + " ILIKE '%" + causas + "%' ";
} }
if ( departamento != null ) if ( departamento != null )
{ {
@ -174,7 +180,7 @@ public class EstatisticasDataProvider extends GenericDataProvider
List< EstatisticaProcessoBean > stats = new LinkedList< EstatisticaProcessoBean >(); List< EstatisticaProcessoBean > stats = new LinkedList< EstatisticaProcessoBean >();
try try
{ {
stats = getEstatisticasForSQL(sql); stats = getEstatisticasForSQL( sql );
} }
catch ( Exception ex ) catch ( Exception ex )
{ {
@ -220,5 +226,71 @@ public class EstatisticasDataProvider extends GenericDataProvider
return stats; return stats;
} }
public com.sun.rave.web.ui.model.Option[] getSeccoesList( ) throws Exception
{
com.sun.rave.web.ui.model.Option[] options = null;
Select2 query = new Select2(
new String[] { AnalisesAcidentesData.TABLENAME },
new Integer[] { },
new Expression[] { },
new String[] { "DISTINCT( " + AnalisesAcidentesData.SECCAO_FULL + " )" },
new Field( AnalisesAcidentesData.APAGADA_FULL ).isEqual( "n" ).and( new Field( AnalisesAcidentesData.SECCAO_FULL ).isDifferent( null ) ),
new String[] { AnalisesAcidentesData.SECCAO_FULL },
null, null, null
);
Virtual2DArray array = getExecuter().executeQuery( query );
if ( array != null )
{
options = new com.sun.rave.web.ui.model.Option[ array.columnLength() + 1 ];
options[ 0 ] = new Option( "", "" );
for ( int i = 0; i < array.columnLength(); i++ )
{
String seccao = array.get( i, 0 );
options[ (i+1) ] = new Option( seccao, seccao );
}
}
return options;
}
public com.sun.rave.web.ui.model.Option[] getCausasAcidente( ) throws Exception
{
com.sun.rave.web.ui.model.Option[] options = null;
Select2 query = new Select2(
new String[] { CausasData.TABLENAME },
new Integer[] { },
new Expression[] { },
new String[] { CausasData.ID_FULL, CausasData.CAUSA_FULL },
new Field( CausasData.ACTIVA_FULL ).isEqual( "y" ),
new String[] { CausasData.CAUSA_FULL },
null, null, null
);
Virtual2DArray array = getExecuter().executeQuery( query );
if ( array != null )
{
options = new com.sun.rave.web.ui.model.Option[ array.columnLength() + 1 ];
options[ 0 ] = new Option( "", "" );
for ( int i = 0; i < array.columnLength(); i++ )
{
Integer causaID = array.get( i, 0 );
String causa = array.get( i, 1 );
options[ (i+1) ] = new Option( causaID, causa );
}
}
return options;
}
public String getCausaByID( Integer causaID ) throws Exception
{
String causa = "";
CausasData causaData = getProvider().load( CausasData.class, causaID, CausasData.ID );
if ( causaData != null )
{
causa = causaData.getCausa();
}
return causa;
}
} }

@ -98,13 +98,13 @@
<ui:textField id="textDepartamento" binding="#{EstatisticasProcesso.textDepartamento}" /> <ui:textField id="textDepartamento" binding="#{EstatisticasProcesso.textDepartamento}" />
<ui:staticText id="labelSeccao" escape="false" text="Secção:" styleClass="labelBold" /> <ui:staticText id="labelSeccao" escape="false" text="Secção:" styleClass="labelBold" />
<ui:textField id="textSeccao" binding="#{EstatisticasProcesso.textSeccao}" /> <ui:dropDown binding="#{EstatisticasProcesso.dropSeccoes}" id="dropSeccoes" style="height: 18px; width: 240px"/>
<ui:staticText id="labelCausas" escape="false" text="Causas do acidente:" styleClass="labelBold" /> <ui:staticText id="labelCausas" escape="false" text="Causas do acidente:" styleClass="labelBold" />
<ui:textField id="textCausas" binding="#{EstatisticasProcesso.textCausas}" /> <ui:dropDown binding="#{EstatisticasProcesso.dropCausas}" id="dropCausas" style="height: 18px; width: 240px"/>
<ui:staticText id="labelTurno" escape="false" text="Turno de trabalho:" styleClass="labelBold" /> <ui:staticText id="labelTurno" escape="false" text="Turno de trabalho:" styleClass="labelBold" />
<ui:textField id="textTurno" binding="#{EstatisticasProcesso.textTurno}" /> <ui:dropDown binding="#{EstatisticasProcesso.dropTurno}" id="dropTurno" style="height: 18px; width: 240px"/>
<ui:staticText id="labelFormacaoSHST" escape="false" text="Formação em SHST" styleClass="labelBold" /> <ui:staticText id="labelFormacaoSHST" escape="false" text="Formação em SHST" styleClass="labelBold" />
<ui:panelGroup> <ui:panelGroup>

@ -36,6 +36,10 @@
</ui:panelGroup> </ui:panelGroup>
<h:panelGrid columnClasses="gridColRight" columns="1" id="gridPanel11" style="height: 24px; width: 100%"> <h:panelGrid columnClasses="gridColRight" columns="1" id="gridPanel11" style="height: 24px; width: 100%">
<ui:panelGroup id="groupPanel2"> <ui:panelGroup id="groupPanel2">
<ui:hyperlink action="estatisticasProcesso" id="linkEstatisticas" text="Estatisticas" rendered="#{SessionBean1.canAccessEstatisticas}" />
<ui:staticText escape="false" id="sepUpper" text=" | " rendered="#{SessionBean1.canAccessEstatisticas}" />
<ui:hyperlink action="#{FormHS.lnkPlanosActuacao_action}" binding="#{FormHS.lnkPlanosActuacao}" <ui:hyperlink action="#{FormHS.lnkPlanosActuacao_action}" binding="#{FormHS.lnkPlanosActuacao}"
id="lnkPlanosActuacao" text="planos actuação&gt;&gt;"/> id="lnkPlanosActuacao" text="planos actuação&gt;&gt;"/>
</ui:panelGroup> </ui:panelGroup>

@ -120,6 +120,10 @@
<navigation-case> <navigation-case>
<from-outcome>user</from-outcome> <from-outcome>user</from-outcome>
<to-view-id>/FichaUtilizador.jsp</to-view-id> <to-view-id>/FichaUtilizador.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>estatisticasProcesso</from-outcome>
<to-view-id>/EstatisticasProcesso.jsp</to-view-id>
</navigation-case> </navigation-case>
</navigation-rule> </navigation-rule>

Loading…
Cancel
Save