Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.sl.controller.seguranca;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.message.LancadorMensagem;
import br.com.sl.domain.dto.UsuarioDTO;
import br.com.sl.domain.service.ContextoSeguranca;
import br.com.sl.domain.service.UsuarioService;  
 
@Named
@Scope("view")
public class SegurancaBean {
       
        private UsuarioDTO usuarioDTO;
        private String senhaAtual;
        private String novaSenha;
       
        private String loginParaResetarSenha;
        private String cpfParaResetarSenha;

        private ContextoSeguranca contextoSeguranca;
        private UsuarioService usuarioService;
 
        @Inject
        public SegurancaBean(ContextoSeguranca contextoSeguranca, UsuarioService usuarioService) {
                this.contextoSeguranca = contextoSeguranca;
                this.usuarioService = usuarioService;
        }
       
        public UsuarioDTO getUsuarioDTO() {
                if (usuarioDTO == null) {
                        setUsuarioDTO(contextoSeguranca.obterUsuario());
                }
                return usuarioDTO;
        }
        public void setUsuarioDTO(UsuarioDTO usuarioDTO) {
                this.usuarioDTO = usuarioDTO;
        }
       
        public String getSenhaAtual() {
                return senhaAtual;
        }
        public void setSenhaAtual(String senhaAtual) {
                this.senhaAtual = senhaAtual;
        }
       
        public String getNovaSenha() {
                return novaSenha;
        }
        public void setNovaSenha(String novaSenha) {
                this.novaSenha = novaSenha;
        }
       
        public String getLoginParaResetarSenha() {
                return loginParaResetarSenha;
        }
        public void setLoginParaResetarSenha(String loginParaResetarSenha) {
                this.loginParaResetarSenha = loginParaResetarSenha;
        }
       
        public String getCpfParaResetarSenha() {
                return cpfParaResetarSenha;
        }
        public void setCpfParaResetarSenha(String cpfParaResetarSenha) {
                this.cpfParaResetarSenha = cpfParaResetarSenha;
        }
       
        /************************************************************************/
       
        public void alterarSenhaUsuario() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                usuarioService.alterarSenhaUsuario(getUsuarioDTO().getLogin(), getSenhaAtual(), getNovaSenha());
                                setSenhaAtual("");
                                setNovaSenha("");
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
                        }
                });
        }
       
        public void resetarSenha() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                String emailEnviado = usuarioService.resetarSenhaUsuarioRetornandoEmail(getLoginParaResetarSenha(), getCpfParaResetarSenha());
                                setLoginParaResetarSenha("");
                                setCpfParaResetarSenha("");
                                LancadorMensagem.lancarSucesso("SENHA PROVISÓRIA ENVIADA PARA O EMAIL: " + emailEnviado);
                        }
                });
        }
       
        public Boolean temPerfilAdministrador() {
                return true;
        }
       
        /************************************************************************/
       
}