diff --git a/org.adempiere.base/src/org/compiere/util/Login.java b/org.adempiere.base/src/org/compiere/util/Login.java index 1bcfe90733..1b440bbb1a 100644 --- a/org.adempiere.base/src/org/compiere/util/Login.java +++ b/org.adempiere.base/src/org/compiere/util/Login.java @@ -532,12 +532,9 @@ public class Login // String sql = " SELECT DISTINCT r.UserLevel, r.ConnectionProfile,o.AD_Org_ID,o.Name,o.IsSummary " +" FROM AD_Org o" - +" INNER JOIN AD_Role_OrgAccess ra ON (ra.AD_Org_ID=o.AD_Org_ID)" - +" INNER JOIN AD_Role r on (ra.AD_Role_ID=r.AD_Role_ID) " - +" INNER JOIN AD_Client c on (ra.AD_Client_ID=c.AD_Client_ID)" - +" WHERE r.AD_Role_ID=?" - +" AND c.AD_Client_ID=?" - +" AND o.IsActive='Y' " + +" INNER JOIN AD_Role r on (r.AD_Role_ID=?)" + +" INNER JOIN AD_Client c on (c.AD_Client_ID=?)" + +" WHERE o.IsActive='Y' " +" AND o.IsSummary='N'" +" AND (r.IsAccessAllOrgs='Y'" +" OR (r.IsUseUserOrgAccess='N' AND o.AD_Org_ID IN (SELECT AD_Org_ID FROM AD_Role_OrgAccess ra"