Subversion Repositories Integrator Subversion

Rev

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