Subversion Repositories Integrator Subversion

Rev

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