IDEMPIERE-3696 Implementing warning to encourage user to change their password before it is expired / integrate patch from Nicolas Micoud

This commit is contained in:
Carlos Ruiz 2018-05-22 10:28:09 +02:00
parent 4ea2c3f450
commit 9d69b81900
1 changed files with 10 additions and 8 deletions

View File

@ -645,15 +645,17 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
} }
// See if a popup should encourage user to change its password // See if a popup should encourage user to change its password
int notifyDay = MSysConfig.getIntValue(MSysConfig.USER_LOCKING_PASSWORD_NOTIFY_DAY, 0); if (!MUser.get(Env.getCtx()).isNoPasswordReset()) {
int pwdAgeDay = MSysConfig.getIntValue(MSysConfig.USER_LOCKING_MAX_PASSWORD_AGE_DAY, 0); int notifyDay = MSysConfig.getIntValue(MSysConfig.USER_LOCKING_PASSWORD_NOTIFY_DAY, 0);
if (notifyDay > 0 && pwdAgeDay > 0) { int pwdAgeDay = MSysConfig.getIntValue(MSysConfig.USER_LOCKING_MAX_PASSWORD_AGE_DAY, 0);
Timestamp limit = TimeUtil.addDays(MUser.get(Env.getCtx(), Env.getAD_User_ID(Env.getCtx())).getDatePasswordChanged(), pwdAgeDay); if (notifyDay > 0 && pwdAgeDay > 0) {
Timestamp notifyAfter = TimeUtil.addDays(limit, -notifyDay); Timestamp limit = TimeUtil.addDays(MUser.get(Env.getCtx()).getDatePasswordChanged(), pwdAgeDay);
Timestamp now = TimeUtil.getDay(null); Timestamp notifyAfter = TimeUtil.addDays(limit, -notifyDay);
Timestamp now = TimeUtil.getDay(null);
if (now.after(notifyAfter)) if (now.after(notifyAfter))
FDialog.warn(0, null, "", Msg.getMsg(Env.getCtx(), "YourPasswordWillExpireInDays", new Object[] {TimeUtil.getDaysBetween(now, limit)})); FDialog.warn(0, null, "", Msg.getMsg(Env.getCtx(), "YourPasswordWillExpireInDays", new Object[] {TimeUtil.getDaysBetween(now, limit)}));
}
} }
wndLogin.loginCompleted(); wndLogin.loginCompleted();