Subversion Repositories Integrator Subversion

Rev

Rev 224 | Rev 227 | Go to most recent revision | Details | Compare with Previous | 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.web.exception.VerificadorLancamentoException;
11
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
12
import br.com.ec.web.message.LancadorMensagem;  
13
 
14
@Controller
15
public class SegurancaBean {
16
 
17
        private UsuarioDTO usuarioDTO;
18
        private String senhaAtual;
19
        private String novaSenha;
224 espaco 20
 
21
        private String loginParaResetarSenha;
226 espaco 22
        private String cpfParaResetarSenha;
218 espaco 23
 
24
        private ContextoSeguranca contextoSeguranca;
25
        private UsuarioService usuarioService;
26
 
27
        @Inject
28
        public SegurancaBean(ContextoSeguranca contextoSeguranca, UsuarioService usuarioService/*, PerfilService perfilService*/) {
29
                this.contextoSeguranca = contextoSeguranca;
30
                this.usuarioService = usuarioService;
31
//              this.perfilService = perfilService;
32
        }
33
 
34
        public UsuarioDTO getUsuarioDTO() {
35
                if (usuarioDTO == null) {
36
                        setUsuarioDTO(contextoSeguranca.obterUsuario());
37
                }
38
                return usuarioDTO;
39
        }
40
        public void setUsuarioDTO(UsuarioDTO usuarioDTO) {
41
                this.usuarioDTO = usuarioDTO;
42
        }
43
 
44
        public String getSenhaAtual() {
45
                return senhaAtual;
46
        }
47
        public void setSenhaAtual(String senhaAtual) {
48
                this.senhaAtual = senhaAtual;
49
        }
50
 
51
        public String getNovaSenha() {
52
                return novaSenha;
53
        }
54
        public void setNovaSenha(String novaSenha) {
55
                this.novaSenha = novaSenha;
56
        }
57
 
224 espaco 58
        public String getLoginParaResetarSenha() {
59
                return loginParaResetarSenha;
60
        }
61
        public void setLoginParaResetarSenha(String loginParaResetarSenha) {
62
                this.loginParaResetarSenha = loginParaResetarSenha;
63
        }
64
 
226 espaco 65
        public String getCpfParaResetarSenha() {
66
                return cpfParaResetarSenha;
67
        }
68
        public void setCpfParaResetarSenha(String cpfParaResetarSenha) {
69
                this.cpfParaResetarSenha = cpfParaResetarSenha;
70
        }
71
 
218 espaco 72
        /************************************************************************/
73
 
74
        public void alterarSenhaUsuario() {
75
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
76
                        public void execute() {
77
                                usuarioService.alterarSenhaUsuario(getUsuarioDTO().getLogin(), getSenhaAtual(), getNovaSenha());
78
                                setSenhaAtual("");
79
                                setNovaSenha("");
80
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
81
                        }
82
                });
83
        }
84
 
224 espaco 85
        public void resetarSenha() {
86
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
87
                        public void execute() {
226 espaco 88
                                String emailEnviado = usuarioService.resetarSenhaUsuarioRetornandoEmail(getLoginParaResetarSenha(), getCpfParaResetarSenha());
224 espaco 89
                                setLoginParaResetarSenha("");
226 espaco 90
                                setCpfParaResetarSenha("");
91
                                LancadorMensagem.lancarSucesso("SENHA PROVISÓRIA ENVIADA PARA O EMAIL: " + emailEnviado);
224 espaco 92
                        }
93
                });
94
        }
95
 
218 espaco 96
        /*
97
        public Boolean temPerfilAdministrador() {
98
                return perfilService.temPerfilAdministrador(getUsuario());
99
        }
100
 
101
        public Boolean temPerfilGerenteAdministrativo() {
102
                return perfilService.temPerfilGerenteAdministrativo(getUsuario());
103
        }
104
        */
105
        /************************************************************************/
106
 
107
        /*
108
        public Boolean temPerfilGerenteFinanceiro() {
109
                return perfilService.temPerfilGerenteFinanceiro(getUsuario());
110
        }
111
 
112
        public Boolean temPerfilGerenteComercial() {
113
                return perfilService.temPerfilGerenteComercial(getUsuario());
114
        }
115
 
116
        public Boolean temPerfilGerenteDeLojistica() {
117
                return perfilService.temPerfilGerenteDeLojistica(getUsuario());
118
        }
119
 
120
        public Boolean temPerfilVendedor() {
121
                return perfilService.temPerfilVendedor(getUsuario());
122
        }
123
 
124
        public Boolean temPerfilGerenteDeCompras() {
125
                return perfilService.temPerfilGerenteDeCompras(getUsuario());
126
        }
127
 
128
        public Boolean temPerfilGerenteVivo() {
129
                return perfilService.temPerfilGerenteVivo(getUsuario());
130
        }
131
 
132
        public Boolean temPerfilTecnico() {
133
                return perfilService.temPerfilTecnico(getUsuario());
134
        }
135
 
136
        public Boolean temPerfilRecursosHumanos() {
137
                return perfilService.temPerfilRecursosHumanos(getUsuario());
138
        }
139
 
140
        public Boolean temPerfilGerenteDeOperacoes() {
141
                return perfilService.temPerfilGerenteDeOperacoes(getUsuario());
142
        }
143
 
144
        public Boolean temPerfilSupervisor() {
145
                return perfilService.temPerfilSupervisor(getUsuario());
146
        }
147
 
148
        public Boolean temPerfilTreinamento() {
149
                return perfilService.temPerfilTreinamento(getUsuario());
150
        }
151
 
152
        public Boolean temPerfilLoja() {
153
                return perfilService.temPerfilLoja(getUsuario());
154
        }
155
 
156
        public Boolean temAcessoLoja(Long sequencialLoja) {
157
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuario(), sequencialLoja);
158
        }
159
 
160
        public Boolean temAcessoLojaVivo() {
161
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_LOJA_VIVO_4);
162
        }
163
 
164
        public Boolean temAcessoLojaCasaDasCapas() {
165
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || (verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
166
        }
167
 
168
        public Boolean naoTemAcessoLojaCasaDasCapas() {
169
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || !(verificarAcessoLoja(getUsuario(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
170
        }
171
 
172
        private Boolean verificarAcessoLoja(Usuario usuario, Long sequencialLoja) {
173
                for (UsuarioLoja usuarioLoja : usuario.getLojas()) {
174
                        if (usuarioLoja.getLoja().getSequencial().equals(sequencialLoja)) {
175
                                return true;
176
                        }
177
                }
178
                return false;
179
        }
180
 
181
        public void restaurarTelaPDV(Loja loja) throws IOException {
182
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv.xhtml?sequencialLoja=" + loja.getSequencial());
183
        }
184
 
185
        public void restaurarTelaPDVVivo(Loja loja) throws IOException {
186
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv_vivo.xhtml?sequencialLoja=" + loja.getSequencial());
187
        }
188
 
189
        public void restaurarTelaPDVFarma(Loja loja) throws IOException {
190
            FacesContext.getCurrentInstance().getExternalContext().redirect(FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/sistema/pdv.xhtml?sequencialLoja=" + loja.getSequencial());
191
        }
192
 
193
        public void invalidarSessao() {
194
                FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
195
        }
196
 
197
        public Integer getTempoEstoqueMinimoParaComprasEmDias() {
198
                Parametro parametro = new Parametro();
199
                parametro.setCodigo(ConstantesSEC.Parametro.CODIGO_PARAMETRO_TEMPO_ESTOQUE_MINIMO_PARA_COMPRAS);
200
                parametro = getUsuario().getParametros().get(getUsuario().getParametros().indexOf(parametro));
201
                return VerificadorUtil.naoEstaNulo(parametro)? new Integer(parametro.getValor()) : 15;
202
        }
203
 
204
        public Integer getTempoEstoqueParaReporEmDias() {
205
                Parametro parametro = new Parametro();
206
                parametro.setCodigo(ConstantesSEC.Parametro.CODIGO_PARAMETRO_TEMPO_ESTOQUE_REPOSICAO_PARA_COMPRAS);
207
                parametro = getUsuario().getParametros().get(getUsuario().getParametros().indexOf(parametro));
208
                return VerificadorUtil.naoEstaNulo(parametro)? new Integer(parametro.getValor()) : 60;
209
        }
210
 
211
        public TipoAno[] getTiposAno() {
212
                return TipoAno.values();
213
        }
214
 
215
        public TipoMes[] getTiposMes() {
216
                return TipoMes.values();
217
        }
218
 
219
        public String textoSobreCorMargem() {
220
                return ConstantesSEC.Textos.TEXTO_COR_MARGEM;
221
        }
222
        */
223
}