diff --git a/base/src/org/compiere/model/GridField.java b/base/src/org/compiere/model/GridField.java
index 87cacfcaac..edf911029d 100644
--- a/base/src/org/compiere/model/GridField.java
+++ b/base/src/org/compiere/model/GridField.java
@@ -338,7 +338,7 @@ public class GridField
}
// Field is the Link Column of the tab
- if (m_vo.ColumnName.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "LinkColumnName")))
+ if (m_vo.ColumnName.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, GridTab.CTX_LinkColumnName)))
{
log.finest(m_vo.ColumnName + " NO - LinkColumn");
return false;
@@ -349,7 +349,7 @@ public class GridField
{
int AD_Client_ID = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "AD_Client_ID");
int AD_Org_ID = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "AD_Org_ID");
- String keyColumn = Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "KeyColumnName");
+ String keyColumn = Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, GridTab.CTX_KeyColumnName);
if ("EntityType".equals(keyColumn))
keyColumn = "AD_EntityType_ID";
if (!keyColumn.endsWith("_ID"))
@@ -450,14 +450,14 @@ public class GridField
}
// Set Client & Org to System, if System access
- if (X_AD_Table.ACCESSLEVEL_SystemOnly.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "AccessLevel"))
+ if (X_AD_Table.ACCESSLEVEL_SystemOnly.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, GridTab.CTX_AccessLevel))
&& (m_vo.ColumnName.equals("AD_Client_ID") || m_vo.ColumnName.equals("AD_Org_ID")))
{
log.fine("[SystemAccess] " + m_vo.ColumnName + "=0");
return new Integer(0);
}
// Set Org to System, if Client access
- else if (X_AD_Table.ACCESSLEVEL_SystemPlusClient.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "AccessLevel"))
+ else if (X_AD_Table.ACCESSLEVEL_SystemPlusClient.equals(Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, GridTab.CTX_AccessLevel))
&& m_vo.ColumnName.equals("AD_Org_ID"))
{
log.fine("[ClientAccess] " + m_vo.ColumnName + "=0");
@@ -1081,7 +1081,7 @@ public class GridField
m_parentValue = Boolean.FALSE;
else
{
- String LinkColumnName = Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "LinkColumnName");
+ String LinkColumnName = Env.getContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, GridTab.CTX_LinkColumnName);
if (LinkColumnName == null || LinkColumnName.length() == 0)
m_parentValue = Boolean.FALSE; // teo_sarca, [ 1673886 ]
else
@@ -1559,16 +1559,16 @@ public class GridField
{
boolean result = false;
int tabNo = m_vo.TabNo;
- int currentLevel = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, tabNo, "TabLevel");
+ int currentLevel = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, tabNo, GridTab.CTX_TabLevel);
if (tabNo > 1 && currentLevel > 1)
{
while ( tabNo >= 1 && !result)
{
tabNo--;
- int level = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, tabNo, "TabLevel");
+ int level = Env.getContextAsInt(m_vo.ctx, m_vo.WindowNo, tabNo, GridTab.CTX_TabLevel);
if (level > 0 && level < currentLevel)
{
- String linkColumn = Env.getContext(m_vo.ctx, m_vo.WindowNo, tabNo, "LinkColumnName");
+ String linkColumn = Env.getContext(m_vo.ctx, m_vo.WindowNo, tabNo, GridTab.CTX_LinkColumnName);
if (m_vo.ColumnName.equals(linkColumn))
{
result = true;
diff --git a/base/src/org/compiere/model/GridTab.java b/base/src/org/compiere/model/GridTab.java
index 5ddbee7907..f9b1210f2c 100644
--- a/base/src/org/compiere/model/GridTab.java
+++ b/base/src/org/compiere/model/GridTab.java
@@ -68,7 +68,8 @@ import org.compiere.util.ValueNamePair;
* @author Jorg Janke
* @version $Id: GridTab.java,v 1.10 2006/10/02 05:18:39 jjanke Exp $
*
- * @author Teo Sarca - BF [ 1742159 ]
+ * @author Teo Sarca, SC ARHIPAC SERVICE SRL
+ *
BF [ 1742159 ] Editable number field for inactive record
* @author Victor Perez , e-Evolution.SC [1877902] Implement JSR 223 Scripting APIs to Callout
* @author Carlos Ruiz, qss FR [1877902]
* @see http://sourceforge.net/tracker/?func=detail&atid=879335&aid=1877902&group_id=176962 to FR [1877902]
@@ -144,6 +145,16 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
protected CLogger log = CLogger.getCLogger(getClass());
private boolean m_parentNeedSave = false;
+
+ // Context property names:
+ public static final String CTX_KeyColumnName = "KeyColumnName";
+ public static final String CTX_LinkColumnName = "LinkColumnName";
+ public static final String CTX_TabLevel = "TabLevel";
+ public static final String CTX_AccessLevel = "AccessLevel";
+ public static final String CTX_AD_Tab_ID = "AD_Tab_ID";
+ public static final String CTX_Name = "Name";
+ public static final String CTX_AD_Table_ID = "AD_Table_ID";
+
/**************************************************************************
@@ -298,8 +309,9 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
voF.IsReadOnly = true;
}*/
// Record Info
- if (field.isKey())
- m_keyColumnName = columnName;
+ if (field.isKey()) {
+ setKeyColumnName(columnName);
+ }
// Parent Column(s)
if (field.isParentColumn())
m_parents.add(columnName);
@@ -1030,6 +1042,15 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
{
return m_keyColumnName;
} // getKeyColumnName
+
+ /**
+ * Set Name of the Key Column
+ * @param keyColumnName
+ */
+ private void setKeyColumnName(String keyColumnName) {
+ this.m_keyColumnName = keyColumnName;
+ Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, CTX_KeyColumnName, m_keyColumnName);
+ }
/**
* Return Name of link column
@@ -1076,7 +1097,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
log.fine("AD_Column_ID=" + m_vo.AD_Column_ID + " - " + m_linkColumnName);
}
}
- Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, "LinkColumnName", m_linkColumnName);
+ Env.setContext(m_vo.ctx, m_vo.WindowNo, m_vo.TabNo, CTX_LinkColumnName, m_linkColumnName);
} // setLinkColumnName
/**
diff --git a/base/src/org/compiere/model/GridTabVO.java b/base/src/org/compiere/model/GridTabVO.java
index 055d015a56..70cce8dec5 100644
--- a/base/src/org/compiere/model/GridTabVO.java
+++ b/base/src/org/compiere/model/GridTabVO.java
@@ -96,9 +96,9 @@ public class GridTabVO implements Evaluatee, Serializable
try
{
vo.AD_Tab_ID = rs.getInt("AD_Tab_ID");
- Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, "AD_Tab_ID", String.valueOf(vo.AD_Tab_ID));
+ Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_AD_Tab_ID, String.valueOf(vo.AD_Tab_ID));
vo.Name = rs.getString("Name");
- Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, "Name", vo.Name);
+ Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_Name, vo.Name);
// Translation Tab **
if (rs.getString("IsTranslationTab").equals("Y"))
@@ -142,11 +142,11 @@ public class GridTabVO implements Evaluatee, Serializable
CLogger.get().fine("No Role Access - AD_Tab_ID=" + vo.AD_Tab_ID + " " + vo. Name);
return false;
} // Used by MField.getDefault
- Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, "AccessLevel", vo.AccessLevel);
+ Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_AccessLevel, vo.AccessLevel);
// Table Access
vo.AD_Table_ID = rs.getInt("AD_Table_ID");
- Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, "AD_Table_ID", String.valueOf(vo.AD_Table_ID));
+ Env.setContext(vo.ctx, vo.WindowNo, vo.TabNo, GridTab.CTX_AD_Table_ID, String.valueOf(vo.AD_Table_ID));
if (!role.isTableAccess(vo.AD_Table_ID, true))
{
CLogger.get().config("No Table Access - AD_Tab_ID="
@@ -526,11 +526,11 @@ public class GridTabVO implements Evaluatee, Serializable
GridTabVO clone = new GridTabVO(Ctx, windowNo);
clone.AD_Window_ID = AD_Window_ID;
clone.TabNo = TabNo;
- Env.setContext(Ctx, windowNo, clone.TabNo, "AD_Tab_ID", String.valueOf(clone.AD_Tab_ID));
+ Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AD_Tab_ID, String.valueOf(clone.AD_Tab_ID));
//
clone.AD_Tab_ID = AD_Tab_ID;
clone.Name = Name;
- Env.setContext(Ctx, windowNo, clone.TabNo, "Name", clone.Name);
+ Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_Name, clone.Name);
clone.Description = Description;
clone.Help = Help;
clone.IsSingleRow = IsSingleRow;
@@ -555,8 +555,8 @@ public class GridTabVO implements Evaluatee, Serializable
clone.AD_Image_ID = AD_Image_ID;
clone.Included_Tab_ID = Included_Tab_ID;
clone.ReplicationType = ReplicationType;
- Env.setContext(Ctx, windowNo, clone.TabNo, "AccessLevel", clone.AccessLevel);
- Env.setContext(Ctx, windowNo, clone.TabNo, "AD_Table_ID", String.valueOf(clone.AD_Table_ID));
+ Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AccessLevel, clone.AccessLevel);
+ Env.setContext(Ctx, windowNo, clone.TabNo, GridTab.CTX_AD_Table_ID, String.valueOf(clone.AD_Table_ID));
//
clone.IsSortTab = IsSortTab;
diff --git a/base/src/org/compiere/model/GridWindow.java b/base/src/org/compiere/model/GridWindow.java
index fb5ca976fa..db8ca3cae0 100644
--- a/base/src/org/compiere/model/GridWindow.java
+++ b/base/src/org/compiere/model/GridWindow.java
@@ -137,9 +137,6 @@ public class GridWindow implements Serializable
if (mTabVO != null)
{
GridTab mTab = new GridTab(mTabVO);
- Env.setContext(mTabVO.ctx, mTabVO.WindowNo, mTabVO.TabNo,
- "KeyColumnName", mTab.getKeyColumnName());
-
m_tabs.add(mTab);
}
} // for all tabs
diff --git a/client/src/org/compiere/apps/APanel.java b/client/src/org/compiere/apps/APanel.java
index 1197488627..9ae1ab452a 100644
--- a/client/src/org/compiere/apps/APanel.java
+++ b/client/src/org/compiere/apps/APanel.java
@@ -641,7 +641,7 @@ public final class APanel extends CPanel
// MTab
if (tab == 0) mWindow.initTab(0);
GridTab gTab = mWindow.getTab(tab);
- Env.setContext(m_ctx, m_curWindowNo, tab, "TabLevel", Integer.toString(gTab.getTabLevel()));
+ Env.setContext(m_ctx, m_curWindowNo, tab, GridTab.CTX_TabLevel, Integer.toString(gTab.getTabLevel()));
// Query first tab
if (tab == 0)
{