From fc810c64db4cb70d6834552079692ce180c89fa0 Mon Sep 17 00:00:00 2001 From: hieplq Date: Tue, 11 Feb 2014 00:42:13 +0700 Subject: [PATCH] IDEMPIERE-1747:when user click cancel button in "select role" in condition "change role". it should forward to system, not login. --- .../src/org/adempiere/webui/panel/RolePanel.java | 16 ++++++++++++++-- .../org/adempiere/webui/window/LoginWindow.java | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/RolePanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/RolePanel.java index 4518af6ffb..fe94b09948 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/RolePanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/RolePanel.java @@ -101,6 +101,11 @@ public class RolePanel extends Window implements EventListener, 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, 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, Deferrabl } public void changeRole(Properties ctx) { + b_ctx = ctx; int AD_Client_ID = Env.getAD_Client_ID(ctx); lstClient.setValue(AD_Client_ID); updateRoleList(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/LoginWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/LoginWindow.java index eadab1c5a9..23ae5503be 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/LoginWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/LoginWindow.java @@ -180,7 +180,7 @@ public class LoginWindow extends FWindow implements EventListener 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); } }