Subversion Repositories Integrator Subversion

Rev

Rev 224 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
218 espaco 1
package br.com.ec.controller.seguranca;
2
 
3
import javax.inject.Inject;
4
 
5
import org.springframework.stereotype.Controller;
6
 
7
import br.com.ec.domain.dto.UsuarioDTO;
8
import br.com.ec.domain.service.ContextoSeguranca;
9
import br.com.ec.domain.service.UsuarioService;
10
import br.com.ec.shared.CriptografiaMD5;
11
import br.com.ec.web.exception.VerificadorLancamentoException;
12
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
13
import br.com.ec.web.message.LancadorMensagem;  
14
 
15
@Controller
16
public class SegurancaBean {
17
 
18
        private UsuarioDTO usuarioDTO;
19
        private String senhaAtual;
20
        private String novaSenha;
21
 
22
        private ContextoSeguranca contextoSeguranca;
23
        private UsuarioService usuarioService;
24
 
25
        @Inject
26
        public SegurancaBean(ContextoSeguranca contextoSeguranca, UsuarioService usuarioService/*, PerfilService perfilService*/) {
27
                this.contextoSeguranca = contextoSeguranca;
28
                this.usuarioService = usuarioService;
29
//              this.perfilService = perfilService;
30
        }
31
 
32
        public UsuarioDTO getUsuarioDTO() {
33
                if (usuarioDTO == null) {
34
                        setUsuarioDTO(contextoSeguranca.obterUsuario());
35
                }
36
                return usuarioDTO;
37
        }
38
        public void setUsuarioDTO(UsuarioDTO usuarioDTO) {
39
                this.usuarioDTO = usuarioDTO;
40
        }
41
 
42
        public String getSenhaAtual() {
43
                return senhaAtual;
44
        }
45
        public void setSenhaAtual(String senhaAtual) {
46
                this.senhaAtual = senhaAtual;
47
        }
48
 
49
        public String getNovaSenha() {
50
                return novaSenha;
51
        }
52
        public void setNovaSenha(String novaSenha) {
53
                this.novaSenha = novaSenha;
54
        }
55
 
56
        /************************************************************************/
57
 
58
        public void alterarSenhaUsuario() {
59
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
60
                        public void execute() {
61
                                usuarioService.alterarSenhaUsuario(getUsuarioDTO().getLogin(), getSenhaAtual(), getNovaSenha());
62
                                setSenhaAtual("");
63
                                setNovaSenha("");
64
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
65
                        }
66
                });
67
        }
68
 
69
        /*
70
        public Boolean temPerfilAdministrador() {
71
                return perfilService.temPerfilAdministrador(getUsuario());
72
        }
73
 
74
        public Boolean temPerfilGerenteAdministrativo() {
75
                return perfilService.temPerfilGerenteAdministrativo(getUsuario());
76
        }
77
        */
78
        /************************************************************************/
79
 
80
        /*
81
        public Boolean temPerfilGerenteFinanceiro() {
82
                return perfilService.temPerfilGerenteFinanceiro(getUsuario());
83
        }
84
 
85
        public Boolean temPerfilGerenteComercial() {
86
                return perfilService.temPerfilGerenteComercial(getUsuario());
87
        }
88
 
89
        public Boolean temPerfilGerenteDeLojistica() {
90
                return perfilService.temPerfilGerenteDeLojistica(getUsuario());
91
        }
92
 
93
        public Boolean temPerfilVendedor() {
94
                return perfilService.temPerfilVendedor(getUsuario());
95
        }
96
 
97
        public Boolean temPerfilGerenteDeCompras() {
98
                return perfilService.temPerfilGerenteDeCompras(getUsuario());
99
        }
100
 
101
        public Boolean temPerfilGerenteVivo() {
102
                return perfilService.temPerfilGerenteVivo(getUsuario());
103
        }
104
 
105
        public Boolean temPerfilTecnico() {
106
                return perfilService.temPerfilTecnico(getUsuario());
107
        }
108
 
109
        public Boolean temPerfilRecursosHumanos() {
110
                return perfilService.temPerfilRecursosHumanos(getUsuario());
111
        }
112
 
113
        public Boolean temPerfilGerenteDeOperacoes() {
114
                return perfilService.temPerfilGerenteDeOperacoes(getUsuario());
115
        }
116
 
117
        public Boolean temPerfilSupervisor() {
118
                return perfilService.temPerfilSupervisor(getUsuario());
119
        }
120
 
121
        public Boolean temPerfilTreinamento() {
122
                return perfilService.temPerfilTreinamento(getUsuario());
123
        }
124
 
125
        public Boolean temPerfilLoja() {
126
                return perfilService.temPerfilLoja(getUsuario());
127
        }
128
 
129
        public Boolean temAcessoLoja(Long sequencialLoja) {
130
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuario(), sequencialLoja);
131
        }
132
 
133
        public Boolean temAcessoLojaVivo() {
134
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_LOJA_VIVO_4);
135
        }
136
 
137
        public Boolean temAcessoLojaCasaDasCapas() {
138
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || (verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
139
        }
140
 
141
        public Boolean naoTemAcessoLojaCasaDasCapas() {
142
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || !(verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
143
        }
144
 
145
        private Boolean verificarAcessoLoja(Usuario usuario, Long sequencialLoja) {
146
                for (UsuarioLoja usuarioLoja : usuario.getLojas()) {
147
                        if (usuarioLoja.getLoja().getSequencial().equals(sequencialLoja)) {
148
                                return true;
149
                        }
150
                }
151
                return false;
152
        }
153
 
154
        public void restaurarTelaPDV(Loja loja) throws IOException {
155
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv.xhtml?sequencialLoja=" + loja.getSequencial());
156
        }
157
 
158
        public void restaurarTelaPDVVivo(Loja loja) throws IOException {
159
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv_vivo.xhtml?sequencialLoja=" + loja.getSequencial());
160
        }
161
 
162
        public void restaurarTelaPDVFarma(Loja loja) throws IOException {
163
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv.xhtml?sequencialLoja=" + loja.getSequencial());
164
        }
165
 
166
        public void invalidarSessao() {
167
                FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
168
        }
169
 
170
        public Integer getTempoEstoqueMinimoParaComprasEmDias() {
171
                Parametro parametro = new Parametro();
172
                parametro.setCodigo(ConstantesSEC.Parametro.CODIGO_PARAMETRO_TEMPO_ESTOQUE_MINIMO_PARA_COMPRAS);
173
                parametro = getUsuario().getParametros().get(getUsuario().getParametros().indexOf(parametro));
174
                return VerificadorUtil.naoEstaNulo(parametro)? new Integer(parametro.getValor()) : 15;
175
        }
176
 
177
        public Integer getTempoEstoqueParaReporEmDias() {
178
                Parametro parametro = new Parametro();
179
                parametro.setCodigo(ConstantesSEC.Parametro.CODIGO_PARAMETRO_TEMPO_ESTOQUE_REPOSICAO_PARA_COMPRAS);
180
                parametro = getUsuario().getParametros().get(getUsuario().getParametros().indexOf(parametro));
181
                return VerificadorUtil.naoEstaNulo(parametro)? new Integer(parametro.getValor()) : 60;
182
        }
183
 
184
        public TipoAno[] getTiposAno() {
185
                return TipoAno.values();
186
        }
187
 
188
        public TipoMes[] getTiposMes() {
189
                return TipoMes.values();
190
        }
191
 
192
        public String textoSobreCorMargem() {
193
                return ConstantesSEC.Textos.TEXTO_COR_MARGEM;
194
        }
195
        */
196
}