IDEMPIERE-1747:when user click cancel button in "select role" in condition "change role". it should forward to system, not login.

This commit is contained in:
hieplq 2014-02-11 00:42:13 +07:00
parent aab81ae1c7
commit fc810c64db
2 changed files with 15 additions and 3 deletions

View File

@ -101,6 +101,11 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
protected boolean m_show = true;
private RolePanel component;
public boolean isChangeRole = false;
// backup old value
private Properties b_ctx = null;
private static final String ON_DEFER_LOGOUT = "onDeferLogout";
@ -512,8 +517,14 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
}
else if (event.getTarget().getId().equals(ConfirmPanel.A_CANCEL))
{
SessionManager.logoutSession();
wndLogin.loginCancelled();
if (isChangeRole){
changeRole(b_ctx);
validateRoles();
}else{
SessionManager.logoutSession();
wndLogin.loginCancelled();
}
}
else if (ON_DEFER_LOGOUT.equals(event.getName()))
{
@ -537,6 +548,7 @@ public class RolePanel extends Window implements EventListener<Event>, Deferrabl
}
public void changeRole(Properties ctx) {
b_ctx = ctx;
int AD_Client_ID = Env.getAD_Client_ID(ctx);
lstClient.setValue(AD_Client_ID);
updateRoleList();

View File

@ -180,7 +180,7 @@ public class LoginWindow extends FWindow implements EventListener<Event>
loginName = user.getLDAPUser() != null ? user.getLDAPUser() : user.getName();
loginOk(loginName, true, login.getClients());
getDesktop().getSession().setAttribute("Check_AD_User_ID", Env.getAD_User_ID(ctx));
pnlRole.isChangeRole = true;
pnlRole.changeRole(ctx);
}
}