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

lxbfYeaa
Diogo Neves 16 years ago
parent 8b11f685af
commit e2eda64344

@ -1,8 +1,8 @@
package com.evolute.siprp.client;
import com.evolute.siprp.client.panels.footer.FooterPanel;
import com.evolute.siprp.client.panels.utils.NavigationConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.navigation.NavigationConstants;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;

@ -0,0 +1,67 @@
package com.evolute.siprp.client.panels.apps.AnaliseAcidentesTrabalho;
import com.evolute.siprp.client.panels.utils.permissoes.AccessConstants;
import com.evolute.siprp.client.panels.utils.permissoes.PermissionsController;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class ActualPanel extends Composite
{
private static ActualPanelUiBinder uiBinder = GWT.create( ActualPanelUiBinder.class );
interface ActualPanelUiBinder extends UiBinder< Widget, ActualPanel > { }
private PermissionsController permsController;
@UiField protected Button btnNewAnalysis;
public ActualPanel()
{
permsController = new PermissionsController();
if ( permsController.hasPermissionTo( AccessConstants.VIEW_ACTUAL_PANEL ) )
{
setupComponent();
}
else
{
SimplePanel sp = new SimplePanel();
sp.setHeight( "0px" );
initWidget( sp );
}
}
private void setupComponent()
{
initWidget( uiBinder.createAndBindUi( this ) );
if ( permsController.hasPermissionTo( AccessConstants.VIEW_ACTUAL_PANEL_NOVA_ANALISE_BUTTON ) )
{
btnNewAnalysis.setText( "Criar nova an\u00E1lise de acidentes de trabalho" );
}
}
@UiHandler( { "btnNewAnalysis" } )
protected void onClick( ClickEvent e )
{
if ( e.getSource().equals( btnNewAnalysis ) )
{
Window.alert( "new alanysis" );
}
}
}

@ -0,0 +1,24 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
.bodyDiv {
margin-top: 20px;
width: 100%;
border: 1px solid black;
background-color: rgb( 238, 238, 238 );
}
</ui:style>
<g:HTMLPanel>
<div class="{style.bodyDiv}">
<div class="alignCenterText lblBold font18">Actual</div>
<g:Button ui:field="btnNewAnalysis" />
</div>
</g:HTMLPanel>
</ui:UiBinder>

@ -2,7 +2,7 @@ package com.evolute.siprp.client.panels.apps.AnaliseAcidentesTrabalho;
import com.evolute.siprp.client.panels.apps.AnchorSair;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.evolute.siprp.client.vo.Utilizador;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@ -33,6 +33,9 @@ public class AnaliseAcidentesTrabalhoPanel extends Composite
@UiField protected Anchor lnkAlterarDados;
@UiField protected Anchor lnkAjuda;
@UiField protected ActualPanel panelActual;
private Utilizador userLogged;
public AnaliseAcidentesTrabalhoPanel()

@ -1,7 +1,9 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:myLogout="urn:import:com.evolute.siprp.client.panels.apps">
xmlns:myLogout="urn:import:com.evolute.siprp.client.panels.apps"
xmlns:aPanel="urn:import:com.evolute.siprp.client.panels.apps.AnaliseAcidentesTrabalho"
>
<ui:style>
.headerDiv {
@ -21,8 +23,8 @@
border: 1px solid black;
background-color: rgb( 238, 238, 238 );
}
.bodyDiv2 {
margin-top: 65px;
.verticalSpacer {
margin-top: 20px;
}
.lblUsername {
@ -54,21 +56,31 @@
</table>
</div>
<div class="{style.bodyDiv2} {style.bodyDiv}">
<!-- vertical spacer -->
<div class="{style.verticalSpacer}"></div>
<div class="alignCenterText lblBold font18">Em seguimento</div>
<aPanel:ActualPanel ui:field="panelActual" />
<!--
<div class="{style.bodyDiv}">
<div class="alignCenterText lblBold font18">Actual</div>
table
</div>
-->
<div class="{style.bodyDiv}">
<div class="alignCenterText lblBold font18">Em seguimento</div>
table
</div>
<div class="{style.bodyDiv}">
<div class="alignCenterText lblBold font18">Conclu\u00EDdos</div>
table
</div>
</div>
</g:HTMLPanel>

@ -1,7 +1,7 @@
package com.evolute.siprp.client.panels.apps;
import com.evolute.siprp.client.panels.utils.NavigationConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.navigation.NavigationConstants;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Anchor;
@ -22,8 +22,6 @@ public class AnchorSair extends Anchor implements ClickHandler
{
PageNavigation.getProvider().setUserLogged( null );
PageNavigation.goPage( NavigationConstants.LOGIN_PANEL );
//TODO: apagar tudo da history.
}
}

@ -1,8 +1,8 @@
package com.evolute.siprp.client.panels.apps;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.client.panels.utils.NavigationConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.navigation.NavigationConstants;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.evolute.siprp.client.vo.Utilizador;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;

@ -1,8 +1,8 @@
package com.evolute.siprp.client.panels.index.login;
import com.evolute.siprp.client.panels.utils.CDialogBox;
import com.evolute.siprp.client.panels.utils.NavigationConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.dialog.CDialogBox;
import com.evolute.siprp.client.panels.utils.navigation.NavigationConstants;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.evolute.siprp.client.vo.Utilizador;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;

@ -1,7 +1,7 @@
package com.evolute.siprp.client.panels.index.recover_pwd;
import com.evolute.siprp.client.panels.utils.NavigationConstants;
import com.evolute.siprp.client.panels.utils.PageNavigation;
import com.evolute.siprp.client.panels.utils.navigation.NavigationConstants;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;

@ -1,4 +1,4 @@
package com.evolute.siprp.client.panels.utils;
package com.evolute.siprp.client.panels.utils.dialog;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@ -36,6 +36,9 @@ public class CDialogBox extends DialogBox
this.setAnimationEnabled( true );
this.setGlassEnabled( true );
this.setAutoHideEnabled( true );
btnClose.setFocus( true );
}
@UiFactory ErrorMsgs makeErrorMsgs()

@ -1,7 +1,7 @@
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:my="urn:import:com.evolute.siprp.client.panels.utils"
xmlns:my="urn:import:com.evolute.siprp.client.panels.utils.dialog"
>
<ui:style>

@ -1,4 +1,4 @@
package com.evolute.siprp.client.panels.utils;
package com.evolute.siprp.client.panels.utils.dialog;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;

@ -1,4 +1,4 @@
package com.evolute.siprp.client.panels.utils;
package com.evolute.siprp.client.panels.utils.navigation;
public interface NavigationConstants
{

@ -1,4 +1,4 @@
package com.evolute.siprp.client.panels.utils;
package com.evolute.siprp.client.panels.utils.navigation;
import java.util.HashMap;
import java.util.Map;
@ -7,6 +7,7 @@ import com.evolute.siprp.client.panels.apps.MainPanel;
import com.evolute.siprp.client.panels.apps.AnaliseAcidentesTrabalho.AnaliseAcidentesTrabalhoPanel;
import com.evolute.siprp.client.panels.index.login.LoginPanel;
import com.evolute.siprp.client.panels.index.recover_pwd.RecoverPwdPanel;
import com.evolute.siprp.client.panels.utils.AppConstants;
import com.evolute.siprp.client.vo.Utilizador;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.Composite;
@ -36,10 +37,12 @@ public class PageNavigation
panelsCache = new HashMap< Integer, Object >();
}
public static PageNavigation getProvider()
{
return getProvider( null );
}
public static PageNavigation getProvider( String id )
{
if ( instance == null )
@ -49,16 +52,19 @@ public class PageNavigation
return instance;
}
public static void goPage( Composite newWindow )
{
PageNavigation.getProvider().gotoPage( newWindow );
}
public static void goPage( Integer pageID )
{
PageNavigation.getProvider().gotoPage( pageID );
}
public void gotoPage( Composite newWindow )
{
if ( newWindow != null )
@ -68,6 +74,7 @@ public class PageNavigation
}
}
public void gotoPage( Integer pageID )
{
switch ( pageID.intValue() )
@ -94,16 +101,28 @@ public class PageNavigation
}
case NavigationConstants.APP_MAIN_PANEL:
{
if ( ! isLoggedIn() )
{
gotoPage( NavigationConstants.LOGIN_PANEL );
break;
}
if ( ! panelsCache.containsKey( NavigationConstants.APP_MAIN_PANEL ) )
{
panelsCache.put( NavigationConstants.APP_MAIN_PANEL, new MainPanel() );
}
}
gotoPage( ( MainPanel ) panelsCache.get( NavigationConstants.APP_MAIN_PANEL) );
History.newItem( String.valueOf( NavigationConstants.APP_MAIN_PANEL ) );
break;
}
case NavigationConstants.ANALISE_ACIDENTES_TRABALHO_PANEL:
{
if ( ! isLoggedIn() )
{
gotoPage( NavigationConstants.LOGIN_PANEL );
break;
}
if ( ! panelsCache.containsKey( NavigationConstants.ANALISE_ACIDENTES_TRABALHO_PANEL ) )
{
panelsCache.put( NavigationConstants.ANALISE_ACIDENTES_TRABALHO_PANEL, new AnaliseAcidentesTrabalhoPanel() );
@ -120,6 +139,11 @@ public class PageNavigation
}
public boolean isLoggedIn()
{
return getUserLogged() != null;
}
public Utilizador getUserLogged()
{
return this.userLogged;

@ -0,0 +1,9 @@
package com.evolute.siprp.client.panels.utils.permissoes;
public interface AccessConstants
{
public static final int VIEW_ACTUAL_PANEL = 1;
public static final int VIEW_ACTUAL_PANEL_NOVA_ANALISE_BUTTON = 2;
}

@ -0,0 +1,54 @@
package com.evolute.siprp.client.panels.utils.permissoes;
import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.evolute.siprp.client.vo.Utilizador;
public class PermissionsController
{
private Utilizador userLogged = null;
private int userType;
public PermissionsController()
{
userLogged = PageNavigation.getProvider().getUserLogged();
userType = userLogged.getTipo_utilizador().intValue();
}
public boolean hasPermissionTo( Integer accessConstant )
{
Boolean canAccess = false;
switch ( accessConstant.intValue() )
{
case AccessConstants.VIEW_ACTUAL_PANEL:
{
if ( userType == RolesConstants.TIPO_SEGURANCA
|| userType == RolesConstants.TIPO_RECURSOS_HUMANOS
|| userType == RolesConstants.TIPO_HIGIENE_SEGURANCA )
{
canAccess = true;
}
break;
}
case AccessConstants.VIEW_ACTUAL_PANEL_NOVA_ANALISE_BUTTON:
{
if ( userType == RolesConstants.TIPO_SEGURANCA )
{
canAccess = true;
}
break;
}
default:
{
break;
}
}
return canAccess;
}
}

@ -0,0 +1,29 @@
package com.evolute.siprp.client.panels.utils.permissoes;
public interface RolesConstants
{
/*
1 - "Segurança"
2 - "Recursos Humanos"
3 - "Higiene e Segurança"
5 - "Médico"
6 - "Gestão"
7 - "Direcção-Geral RH"
8 - "Director Siprp"
9 - "Director de Loja"
10 - "Director Nacional de Segurança"
*/
//campo 'tipo' em 'tipos_utilizadores'
public static final Integer TIPO_SEGURANCA = 1;
public static final Integer TIPO_RECURSOS_HUMANOS = 2;
public static final Integer TIPO_HIGIENE_SEGURANCA = 3;
public static final Integer TIPO_MEDICO = 5;
public static final Integer TIPO_GESTOR = 6;
public static final Integer TIPO_DIRECTOR_GERAL_RECURSOS_HUMANOS = 7;
public static final Integer TIPO_DIRECTOR_SIPRP = 8;
public static final Integer TIPO_DIRECTOR_LOJA = 9;
public static final Integer TIPO_DIRECTOR_NACIONAL_SEGURANCA = 10;
}

@ -1,21 +1,25 @@
package com.evolute.siprp.client.vo;
import java.io.Serializable;
import java.util.Date;
public class Utilizador implements Serializable
{
private static final long serialVersionUID = -5152657979121031157L;
private Integer userID;
private String username;
private String nome;
private String email;
private Integer userID = null;
private String username = null;
private String nome = null;
private String email = null;
private Integer tipo_utilizador = null;
private Boolean primeiro_login = null;
private Date data_password = null;
public Utilizador()
{
this.userID = null;
this.username = null;
}
public Integer getUserID() {
@ -49,5 +53,29 @@ public class Utilizador implements Serializable
public void setEmail(String email) {
this.email = email;
}
public Integer getTipo_utilizador() {
return tipo_utilizador;
}
public void setTipo_utilizador(Integer tipo_utilizador) {
this.tipo_utilizador = tipo_utilizador;
}
public Boolean getPrimeiro_login() {
return primeiro_login;
}
public void setPrimeiro_login(Boolean primeiro_login) {
this.primeiro_login = primeiro_login;
}
public Date getData_password() {
return data_password;
}
public void setData_password(Date data_password) {
this.data_password = data_password;
}
}

@ -19,7 +19,7 @@ public class InitDB
private static String dbUsername = "postgres";
private static String dbPassword = "Typein";
private static String URL = "jdbc:postgresql://storage:5432/siprp";
private static String URL = "jdbc:postgresql://storage:5432/siprp_20091203";
public static void init() throws Exception
{

@ -56,18 +56,34 @@ public class LoginDataProvider
user.setUsername( usersData.getLogin() );
user.setEmail( usersData.getEmail() );
user.setNome( usersData.getNome() );
}
user.setData_password( usersData.getData_password() );
user.setPrimeiro_login( usersData.getPrimeiro_login().equals( "y" ) );
user.setTipo_utilizador( usersData.getTipo() );
}
return user;
}
/**
*
* @param username
* @param password
* @return id, login, email, tipo, nome, primeiro_login, data_password
* @throws Exception
*/
public Virtual2DArray getUtilizador( String username, String password ) throws Exception
{
//id, login, email, tipo, nome, primeiro_login, data_password
Select query = new Select2(
new String[] { UtilizadoresData.TABLENAME },
new Integer[] {},
new Expression[] {},
new String[] { UtilizadoresData.ID_FULL, UtilizadoresData.LOGIN_FULL, UtilizadoresData.EMAIL_FULL, UtilizadoresData.NOME_FULL },
new String[] {
UtilizadoresData.ID_FULL, UtilizadoresData.LOGIN_FULL, UtilizadoresData.EMAIL_FULL,
UtilizadoresData.TIPO_FULL, UtilizadoresData.NOME_FULL, UtilizadoresData.PRIMEIRO_LOGIN_FULL,
UtilizadoresData.DATA_PASSWORD_FULL
},
new Field( UtilizadoresData.LOGIN_FULL ).isEqual( username ).and(
new Field( UtilizadoresData.PASSWORD_FULL ).isEqual( password )
),

@ -1,5 +1,7 @@
package com.evolute.siprp.server.logic.login;
import java.util.Date;
import com.evolute.siprp.client.vo.Utilizador;
import com.evolute.utils.arrays.Virtual2DArray;
@ -34,7 +36,10 @@ public class LoginLogic
rUser.setUserID( ( Integer ) users.get( 0, 0 ) );
rUser.setUsername( ( String ) users.get( 0, 1 ) );
rUser.setEmail( ( String ) users.get( 0, 2 ) );
rUser.setNome( ( String ) users.get( 0, 3 ) );
rUser.setTipo_utilizador( ( Integer ) users.get( 0, 3 ) );
rUser.setNome( ( String ) users.get( 0, 4 ) );
rUser.setPrimeiro_login( (( String ) users.get( 0, 5 )).equals( "y" ) );
rUser.setData_password( ( Date ) users.get( 0, 6 ) );
}
}
catch ( Exception e )

Loading…
Cancel
Save