package op.settings.subpanels;
import entity.EntityTools;
import gui.PnlBeanEditor;
import gui.interfaces.DefaultPanel;
import op.OPDE;
import op.settings.databeans.PasswordBean;
import op.threads.DisplayMessage;
import op.tools.SYSTools;
import org.apache.log4j.Logger;
import javax.swing.*;
/**
* Created by tloehr on 10.07.15.
*/
public class PnlPasswordChange extends DefaultPanel {
Logger logger = Logger.getLogger(getClass());
public PnlPasswordChange() {
super("opde.settings.personal.password");
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
try {
final PnlBeanEditor<PasswordBean> pbe = new PnlBeanEditor<>(() -> new PasswordBean(), PasswordBean.class, PnlBeanEditor.SAVE_MODE_OK_CANCEL);
pbe.addDataChangeListener(evt -> {
if (!evt.getData().getNewPassword().trim().equals(evt.getData().getNewPasswordAgain().trim())) {
OPDE.getDisplayManager().addSubMessage(new DisplayMessage("opde.settings.personal.newpw.wrong"));
return;
}
OPDE.getLogin().getUser().setMd5pw(SYSTools.hashword(evt.getData().getNewPassword().trim()));
OPDE.getLogin().setUser(EntityTools.merge(OPDE.getLogin().getUser()));
pbe.reload();
pbe.refreshDisplay();
OPDE.getDisplayManager().addSubMessage(new DisplayMessage("opde.settings.personal.pwchanged"));
});
add(pbe);
} catch (Exception e) {
OPDE.fatal(logger, e);
}
}
}