diff --git a/org.adempiere.base/src/org/compiere/model/MClient.java b/org.adempiere.base/src/org/compiere/model/MClient.java
index 4a6a020c1f..4acd6b10fb 100644
--- a/org.adempiere.base/src/org/compiere/model/MClient.java
+++ b/org.adempiere.base/src/org/compiere/model/MClient.java
@@ -362,7 +362,13 @@ public class MClient extends X_AD_Client
success = tree.save();
AD_Tree_Activity_ID = tree.getAD_Tree_ID();
}
- else if (value.equals(X_AD_Tree.TREETYPE_Menu)) // No Menu
+ else if ( value.equals(X_AD_Tree.TREETYPE_Menu) // No Menu
+ || value.equals(X_AD_Tree.TREETYPE_Table) // No Custom Table
+ || value.equals(X_AD_Tree.TREETYPE_User1) // No custom user trees
+ || value.equals(X_AD_Tree.TREETYPE_User2)
+ || value.equals(X_AD_Tree.TREETYPE_User3)
+ || value.equals(X_AD_Tree.TREETYPE_User4)
+ )
success = true;
else // PC (Product Category), BB (BOM)
{
diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java
index 51012d1ca4..bf1b1222e9 100644
--- a/org.adempiere.base/src/org/compiere/model/PO.java
+++ b/org.adempiere.base/src/org/compiere/model/PO.java
@@ -4705,7 +4705,7 @@ public abstract class PO
}
private void checkValidContext() {
- if (getCtx().size() == 0)
+ if (getCtx().isEmpty() && getCtx().getProperty("#AD_Client_ID") == null)
throw new AdempiereException("Context lost");
}
diff --git a/org.adempiere.server-feature/product.ant b/org.adempiere.server-feature/product.ant
index c2829b81af..d6d7b83fcd 100644
--- a/org.adempiere.server-feature/product.ant
+++ b/org.adempiere.server-feature/product.ant
@@ -20,7 +20,7 @@
-
+
@@ -43,5 +43,16 @@
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/org.adempiere.ui.swing-feature/product.ant b/org.adempiere.ui.swing-feature/product.ant
index f302877d73..a4e581c000 100644
--- a/org.adempiere.ui.swing-feature/product.ant
+++ b/org.adempiere.ui.swing-feature/product.ant
@@ -20,7 +20,7 @@
-
+
@@ -43,5 +43,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java
index bd01f4651f..75f04413ea 100644
--- a/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java
+++ b/org.idempiere.webservices/WEB-INF/src/org/idempiere/adinterface/CompiereService.java
@@ -39,8 +39,6 @@ public class CompiereService {
private static CLogger log = CLogger.getCLogger(CompiereService.class);
- private Properties m_ctx;
-
private int m_AD_Client_ID;
private int m_AD_Org_ID;
private int m_AD_User_ID;
@@ -92,7 +90,7 @@ public class CompiereService {
* @return context of current request
*/
public Properties getCtx() {
- return m_ctx;
+ return Env.getCtx();
}
/**
@@ -113,11 +111,10 @@ public class CompiereService {
{
CompiereUtil.initWeb();
- m_ctx = new Properties();
m_connected = true;
- ServerContext.setCurrentInstance(m_ctx);
- Env.setContext( m_ctx, "#AD_Language", "en_US" );
+ ServerContext.setCurrentInstance(new Properties());
+ Env.setContext(getCtx(), "#AD_Language", "en_US" );
m_language = Language.getLanguage("en_US");
dateFormat = DisplayType.getDateFormat(DisplayType.Date, m_language);
@@ -138,7 +135,6 @@ public class CompiereService {
{
Env.logout();
ServerContext.dispose();
- m_ctx = null;
m_loggedin = false;
m_connected = false;
}
@@ -255,7 +251,7 @@ public class CompiereService {
m_locale = Lang;
m_userName = MUser.getNameOfUser(m_AD_User_ID);
- Env.setContext( m_ctx, "#AD_Language", Lang);
+ Env.setContext( getCtx(), "#AD_Language", Lang);
m_language = Language.getLanguage(Lang);
Env.verifyLanguage( getCtx(), m_language );
@@ -274,7 +270,7 @@ public class CompiereService {
if (log.isLoggable(Level.INFO)) log.info(" #Date = "+ Env.getContextAsDate( getCtx(), "#Date"));
Env.setContext( getCtx(), "#M_Warehouse_ID", M_Warehouse_ID );
- Env.setContext(m_ctx, Env.LANGUAGE, m_language.getAD_Language());
+ Env.setContext(getCtx(), Env.LANGUAGE, m_language.getAD_Language());
// Create session
MSession session = MSession.get (getCtx(), false);