From 71c842e7f56dee93a813174d855f0bfcbbc2c923 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 26 Dec 2014 23:37:50 -0500 Subject: [PATCH] IDEMPIERE-2373 Master Role Document Action Access not working for inventory subtypes --- org.adempiere.base/src/org/compiere/model/MRole.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/org.adempiere.base/src/org/compiere/model/MRole.java b/org.adempiere.base/src/org/compiere/model/MRole.java index 9d9183df8b..5366fb0b7f 100644 --- a/org.adempiere.base/src/org/compiere/model/MRole.java +++ b/org.adempiere.base/src/org/compiere/model/MRole.java @@ -2551,6 +2551,8 @@ public final class MRole extends X_AD_Role + " WHERE ro.AD_Role_ID=?" + " AND ty.DocBaseType=?" + (MDocType.DOCBASETYPE_SalesOrder.equals(doc.getDocBaseType()) ? " AND ty.DocSubTypeSO=?" : "") + + (MDocType.DOCBASETYPE_PurchaseOrder.equals(doc.getDocBaseType()) && doc.getDocSubTypeSO() != null ? " AND ty.DocSubTypeSO=?" : "") + + (MDocType.DOCBASETYPE_MaterialPhysicalInventory.equals(doc.getDocBaseType()) ? " AND ty.DocSubTypeInv=?" : "") + " AND rl.Value IN (" + sql_values + ")"; @@ -2560,6 +2562,10 @@ public final class MRole extends X_AD_Role pstmt.setString(idxpar++, doc.getDocBaseType()); if (MDocType.DOCBASETYPE_SalesOrder.equals(doc.getDocBaseType())) pstmt.setString(idxpar++, doc.getDocSubTypeSO()); + else if (MDocType.DOCBASETYPE_PurchaseOrder.equals(doc.getDocBaseType()) && doc.getDocSubTypeSO() != null) + pstmt.setString(idxpar++, doc.getDocSubTypeSO()); + else if (MDocType.DOCBASETYPE_MaterialPhysicalInventory.equals(doc.getDocBaseType())) + pstmt.setString(idxpar++, doc.getDocSubTypeInv()); } else { // master role on tenant - check options based on doctypeid sql = "SELECT DISTINCT rl.Value, a.IsActive"