Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
695 blopes 1
package br.com.ec.controller.seguranca;
2
 
3
import javax.inject.Inject;
4
import javax.inject.Named;
5
 
6
import org.springframework.context.annotation.Scope;
7
 
8
import br.com.ec.domain.dto.UsuarioDTO;
9
import br.com.ec.domain.model.tipos.TipoAno;
10
import br.com.ec.domain.model.tipos.TipoMes;
11
import br.com.ec.domain.service.ContextoSeguranca;
12
import br.com.ec.domain.service.PerfilService;
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
 
18
@Named
19
@Scope("view")
20
public class SegurancaBean {
21
 
22
        private UsuarioDTO usuarioDTO;
23
        private String senhaAtual;
24
        private String novaSenha;
25
 
26
        private String loginParaResetarSenha;
27
        private String cpfParaResetarSenha;
28
 
29
        private ContextoSeguranca contextoSeguranca;
30
        private UsuarioService usuarioService;
31
        private PerfilService perfilService;
32
 
33
        @Inject
34
        public SegurancaBean(ContextoSeguranca contextoSeguranca, UsuarioService usuarioService, PerfilService perfilService) {
35
                this.contextoSeguranca = contextoSeguranca;
36
                this.usuarioService = usuarioService;
37
                this.perfilService = perfilService;
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
 
64
        public String getLoginParaResetarSenha() {
65
                return loginParaResetarSenha;
66
        }
67
        public void setLoginParaResetarSenha(String loginParaResetarSenha) {
68
                this.loginParaResetarSenha = loginParaResetarSenha;
69
        }
70
 
71
        public String getCpfParaResetarSenha() {
72
                return cpfParaResetarSenha;
73
        }
74
        public void setCpfParaResetarSenha(String cpfParaResetarSenha) {
75
                this.cpfParaResetarSenha = cpfParaResetarSenha;
76
        }
77
 
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
 
91
        public void resetarSenha() {
92
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
93
                        public void execute() {
94
                                String emailEnviado = usuarioService.resetarSenhaUsuarioRetornandoEmail(getLoginParaResetarSenha(), getCpfParaResetarSenha());
95
                                setLoginParaResetarSenha("");
96
                                setCpfParaResetarSenha("");
97
                                LancadorMensagem.lancarSucesso("SENHA PROVISÓRIA ENVIADA PARA O EMAIL: " + emailEnviado);
98
                        }
99
                });
100
        }
101
 
102
        public Boolean temPerfilAdministrador() {
103
                return perfilService.temPerfilAdministrador(getUsuarioDTO().getPerfis());
104
        }
105
 
106
        public Boolean temPerfilGerenteAdministrativo() {
107
                return perfilService.temPerfilGerenteAdministrativo(getUsuarioDTO().getPerfis());
108
        }
109
 
110
        public Boolean temPerfilGerenteComercial() {
111
                return perfilService.temPerfilGerenteComercial(getUsuarioDTO().getPerfis());
112
        }
113
 
114
        /************************************************************************/
115
 
116
        public Boolean temPerfilFinanceiro() {
117
                return perfilService.temPerfilFinanceiro(getUsuarioDTO().getPerfis());
118
        }
119
 
120
        public Boolean temPerfilComercial() {
121
                return perfilService.temPerfilComercial(getUsuarioDTO().getPerfis());
122
        }
123
 
124
        public Boolean temPerfilLogistica() {
125
                return perfilService.temPerfilLojistica(getUsuarioDTO().getPerfis());
126
        }
127
 
128
        public Boolean temPerfilVendedor() {
129
                return perfilService.temPerfilVendedor(getUsuarioDTO().getPerfis());
130
        }
131
 
132
        public Boolean temPerfilCompras() {
133
                return perfilService.temPerfilCompras(getUsuarioDTO().getPerfis());
134
        }
135
 
136
        public Boolean temPerfilGerenteVivo() {
137
                return perfilService.temPerfilGerenteVivo(getUsuarioDTO().getPerfis());
138
        }
139
 
140
        public Boolean temPerfilTecnico() {
141
                return perfilService.temPerfilTecnico(getUsuarioDTO().getPerfis());
142
        }
143
 
144
        public Boolean temPerfilRecursosHumanos() {
145
                return perfilService.temPerfilRecursosHumanos(getUsuarioDTO().getPerfis());
146
        }
147
 
148
        public Boolean temPerfilOperacoes() {
149
                return perfilService.temPerfilOperacoes(getUsuarioDTO().getPerfis());
150
        }
151
 
152
        public Boolean temPerfilSupervisor() {
153
                return perfilService.temPerfilSupervisor(getUsuarioDTO().getPerfis());
154
        }
155
 
156
        public Boolean temPerfilTreinamento() {
157
                return perfilService.temPerfilTreinamento(getUsuarioDTO().getPerfis());
158
        }
159
 
160
        public Boolean temPerfilLoja() {
161
                return perfilService.temPerfilLoja(getUsuarioDTO().getPerfis());
162
        }
163
 
164
        public Boolean temPerfilAuditor() {
165
                return perfilService.temPerfilAuditor(getUsuarioDTO().getPerfis());
166
        }
167
 
168
        public TipoAno[] getTiposAno() {
169
                return TipoAno.values();
170
        }
171
 
172
        public TipoMes[] getTiposMes() {
173
                return TipoMes.values();
174
        }
175
 
176
        /*
177
        public Boolean temAcessoLoja(Long sequencialLoja) {
178
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuarioDTO().getPerfis(), sequencialLoja);
179
        }
180
 
181
        public Boolean temAcessoLojaVivo() {
182
                return temPerfilGerenteAdministrativo() || verificarAcessoLoja(getUsuarioDTO().getPerfis(), ConstantesSEC.SEQUENCIAL_LOJA_VIVO_4);
183
        }
184
 
185
        public Boolean temAcessoLojaCasaDasCapas() {
186
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || (verificarAcessoLoja(getUsuarioDTO().getPerfis(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
187
        }
188
 
189
        public Boolean naoTemAcessoLojaCasaDasCapas() {
190
                return temPerfilGerenteDeCompras() || temPerfilGerenteComercial() || !(verificarAcessoLoja(getUsuarioDTO().getPerfis(), ConstantesSEC.SEQUENCIAL_CASA_DAS_CAPAS_17) && temPerfilVendedor());
191
        }
192
        */
193
 
194
        /*
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
        */
238
 
239
}