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;
}
/************************************************************************/
}