All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.jarch.faces.controller.BaseAlteraSenhaController Maven / Gradle / Ivy

package br.com.jarch.faces.controller;

import br.com.jarch.faces.util.JavaScriptUtils;
import br.com.jarch.faces.util.JsfUtils;
import br.com.jarch.faces.util.TemplateUtils;
import br.com.jarch.core.model.UserInformation;
import br.com.jarch.core.util.BundleUtils;

import javax.annotation.PostConstruct;
import javax.security.auth.login.LoginException;

public abstract class BaseAlteraSenhaController extends Controller {

    private String login = "";
    private String senhaAtual = "";
    private String novaSenha = "";
    private String confirmaSenha = "";
    private boolean validaSenhaAtual = true;

    @PostConstruct
    private void init() {
        login = UserInformation.getInstance().get().getLogin();

        TemplateUtils.hideHeader();
        TemplateUtils.hideNav();
    }

    public void redirecionaAposGrava() {
        JavaScriptUtils.showMessageBodySuccessRedirect("../login/bemVindo.jsf");
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    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 getConfirmaSenha() {
        return confirmaSenha;
    }

    public void setConfirmaSenha(String confirmaSenha) {
        this.confirmaSenha = confirmaSenha;
    }

    public void voltar() {
        redirecionaLogin();
    }

    public void gravar() {
        try {
            if (login.isEmpty()) {
                throw new LoginException(BundleUtils.messageBundle("required.loginObrigatorio"));
            }

            if (novaSenha == null || novaSenha.isEmpty()) {
                throw new LoginException(BundleUtils.messageBundle("required.novaSenhaObrigatorio"));
            }

            if (confirmaSenha == null || confirmaSenha.isEmpty()) {
                throw new LoginException(BundleUtils.messageBundle("required.confirmaSenhaObrigatorio"));
            }

            if (!novaSenha.equals(confirmaSenha)) {
                throw new LoginException(BundleUtils.messageBundle("message.confirmaSenhaDiferenteNovaSenha"));
            }

            validNewPassword(login, senhaAtual, novaSenha, confirmaSenha);

            updatePassword(login, novaSenha);

            redirecionaLogin();
        } catch (Exception ex) {
//            JavaScriptUtils.showMessageHeaderError(ex);
            JsfUtils.addMessageError(ex);
        }
    }

    public abstract void validNewPassword(String login, String senhaAtual, String novaSenha, String confirmaSenha);

    public abstract void updatePassword(String login, String novaSenha);

    public void grava() {
        try {
            validNewPassword(login, senhaAtual, novaSenha, confirmaSenha);
            updatePassword(login, novaSenha);

            TemplateUtils.showHeader();
            TemplateUtils.showNav();
            redirecionaAposGrava();
        } catch (Exception ex) {
            JsfUtils.addMessageError(ex);
        }
    }

    public boolean isValidaSenhaAtual() {
        return validaSenhaAtual;
    }

    public void setValidaSenhaAtual(boolean validaSenhaAtual) {
        this.validaSenhaAtual = validaSenhaAtual;
    }

    public void cancela() {
        redirecionaLogin();
    }

    private void redirecionaLogin() {
        redireciona("../login/login.jsf");
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy