From bbe5e8387e713ae144af8e16d9ab26f8ae7ed604 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 15 May 2012 21:50:43 -0500 Subject: [PATCH] IDEMPIERE-249 implement encrypt en ad_processparameter same as in ad_field Developed by Juliana Corredor - Peer reviewed and integrated by Carlos Ruiz --- .../oracle/838_IDEMPIERE-249.sql | 35 +++++++++++ .../postgresql/838_IDEMPIERE-249.sql | 35 +++++++++++ .../src/org/compiere/model/GridFieldVO.java | 1 + .../org/compiere/model/I_AD_Process_Para.java | 34 ++++++++-- .../org/compiere/model/X_AD_Process_Para.java | 62 +++++++++++++++---- .../compiere/apps/ProcessParameterPanel.java | 4 +- .../webui/apps/ProcessParameterPanel.java | 4 +- 7 files changed, 154 insertions(+), 21 deletions(-) create mode 100644 migration/360lts.010-release/oracle/838_IDEMPIERE-249.sql create mode 100644 migration/360lts.010-release/postgresql/838_IDEMPIERE-249.sql diff --git a/migration/360lts.010-release/oracle/838_IDEMPIERE-249.sql b/migration/360lts.010-release/oracle/838_IDEMPIERE-249.sql new file mode 100644 index 0000000000..7262cb51b6 --- /dev/null +++ b/migration/360lts.010-release/oracle/838_IDEMPIERE-249.sql @@ -0,0 +1,35 @@ +-- May 10, 2012 4:43:49 PM COT +-- IDEMPIERE-249 implement encrypt en ad_processparameter same as in ad_field +INSERT INTO AD_Column (AD_Column_ID,AD_Table_ID,EntityType,Version,IsMandatory,IsTranslated,IsIdentifier,Help,IsParent,Description,Name,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,ColumnName,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,CreatedBy,Updated,AD_Client_ID,AD_Org_ID,IsActive,Created,UpdatedBy) VALUES (200141,285,'D',0,'N','N','N','Display encryption (in Window/Tab/Field) - all characters are displayed as ''*'' - in the database it is stored in clear text. You will not be able to report on these columns.
+Data storage encryption (in Table/Column) - data is stored encrypted in the database (dangerous!) and you will not be able to report on those columns. Independent from Display encryption.','N','Display or Storage is encrypted','Encrypted',1,'N',20,'N',374,'IsEncrypted','N','Y','N',100,TO_DATE('2012-05-10 16:43:48','YYYY-MM-DD HH24:MI:SS'),0,0,'Y',TO_DATE('2012-05-10 16:43:48','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- May 10, 2012 4:43:49 PM COT +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200141 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- May 15, 2012 9:11:40 PM COT +UPDATE AD_Column SET DefaultValue='N', IsMandatory='Y',Updated=TO_DATE('2012-05-15 21:11:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200141 +; + +-- May 15, 2012 9:11:53 PM COT +ALTER TABLE AD_Process_Para ADD IsEncrypted CHAR(1) DEFAULT 'N' CHECK (IsEncrypted IN ('Y','N')) NOT NULL +; + +-- May 10, 2012 4:44:29 PM COT +INSERT INTO AD_Field (IsEncrypted,Description,DisplayLength,Name,IsDisplayed,IsSameLine,IsHeading,AD_Column_ID,IsFieldOnly,IsCentrallyMaintained,AD_Tab_ID,AD_Field_ID,IsReadOnly,Help,EntityType,UpdatedBy,AD_Org_ID,IsActive,Created,AD_Client_ID,CreatedBy,Updated) VALUES ('N','Display or Storage is encrypted',1,'Encrypted','Y','N','N',200141,'N','Y',246,200097,'N','Display encryption (in Window/Tab/Field) - all characters are displayed as ''*'' - in the database it is stored in clear text. You will not be able to report on these columns.
+Data storage encryption (in Table/Column) - data is stored encrypted in the database (dangerous!) and you will not be able to report on those columns. Independent from Display encryption.','D',100,0,'Y',TO_DATE('2012-05-10 16:44:28','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-05-10 16:44:28','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 10, 2012 4:44:29 PM COT +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Name,Help, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Name,t.Help, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200097 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- May 10, 2012 4:47:07 PM COT +UPDATE AD_Process_Para SET IsEncrypted='Y',Updated=TO_DATE('2012-05-10 16:47:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=516 +; + +-- May 10, 2012 4:47:10 PM COT +UPDATE AD_Process_Para SET IsEncrypted='Y',Updated=TO_DATE('2012-05-10 16:47:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=517 +; + diff --git a/migration/360lts.010-release/postgresql/838_IDEMPIERE-249.sql b/migration/360lts.010-release/postgresql/838_IDEMPIERE-249.sql new file mode 100644 index 0000000000..b66ae6d500 --- /dev/null +++ b/migration/360lts.010-release/postgresql/838_IDEMPIERE-249.sql @@ -0,0 +1,35 @@ +-- May 10, 2012 4:43:49 PM COT +-- IDEMPIERE-249 implement encrypt en ad_processparameter same as in ad_field +INSERT INTO AD_Column (AD_Column_ID,AD_Table_ID,EntityType,Version,IsMandatory,IsTranslated,IsIdentifier,Help,IsParent,Description,Name,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Element_ID,ColumnName,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,CreatedBy,Updated,AD_Client_ID,AD_Org_ID,IsActive,Created,UpdatedBy) VALUES (200141,285,'D',0,'N','N','N','Display encryption (in Window/Tab/Field) - all characters are displayed as ''*'' - in the database it is stored in clear text. You will not be able to report on these columns.
+Data storage encryption (in Table/Column) - data is stored encrypted in the database (dangerous!) and you will not be able to report on those columns. Independent from Display encryption.','N','Display or Storage is encrypted','Encrypted',1,'N',20,'N',374,'IsEncrypted','N','Y','N',100,TO_TIMESTAMP('2012-05-10 16:43:48','YYYY-MM-DD HH24:MI:SS'),0,0,'Y',TO_TIMESTAMP('2012-05-10 16:43:48','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- May 10, 2012 4:43:49 PM COT +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200141 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- May 15, 2012 9:11:40 PM COT +UPDATE AD_Column SET DefaultValue='N', IsMandatory='Y',Updated=TO_TIMESTAMP('2012-05-15 21:11:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200141 +; + +-- May 15, 2012 9:11:53 PM COT +ALTER TABLE AD_Process_Para ADD COLUMN IsEncrypted CHAR(1) DEFAULT 'N' CHECK (IsEncrypted IN ('Y','N')) NOT NULL +; + +-- May 10, 2012 4:44:29 PM COT +INSERT INTO AD_Field (IsEncrypted,Description,DisplayLength,Name,IsDisplayed,IsSameLine,IsHeading,AD_Column_ID,IsFieldOnly,IsCentrallyMaintained,AD_Tab_ID,AD_Field_ID,IsReadOnly,Help,EntityType,UpdatedBy,AD_Org_ID,IsActive,Created,AD_Client_ID,CreatedBy,Updated) VALUES ('N','Display or Storage is encrypted',1,'Encrypted','Y','N','N',200141,'N','Y',246,200097,'N','Display encryption (in Window/Tab/Field) - all characters are displayed as ''*'' - in the database it is stored in clear text. You will not be able to report on these columns.
+Data storage encryption (in Table/Column) - data is stored encrypted in the database (dangerous!) and you will not be able to report on those columns. Independent from Display encryption.','D',100,0,'Y',TO_TIMESTAMP('2012-05-10 16:44:28','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-05-10 16:44:28','YYYY-MM-DD HH24:MI:SS')) +; + +-- May 10, 2012 4:44:29 PM COT +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Description,Name,Help, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy) SELECT l.AD_Language,t.AD_Field_ID, t.Description,t.Name,t.Help, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200097 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- May 10, 2012 4:47:07 PM COT +UPDATE AD_Process_Para SET IsEncrypted='Y',Updated=TO_TIMESTAMP('2012-05-10 16:47:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=516 +; + +-- May 10, 2012 4:47:10 PM COT +UPDATE AD_Process_Para SET IsEncrypted='Y',Updated=TO_TIMESTAMP('2012-05-10 16:47:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=517 +; + diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index b9594a16fd..45416db227 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -276,6 +276,7 @@ public class GridFieldVO implements Serializable, SystemIDs vo.ValidationCode = rs.getString("ValidationCode"); vo.ReadOnlyLogic = rs.getString("ReadOnlyLogic"); vo.DisplayLogic= rs.getString("DisplayLogic"); + vo.IsEncryptedField=rs.getString("IsEncrypted").equals("Y"); } catch (SQLException e) diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java b/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java index c031dc599d..239aa4a97c 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Process_Para.java @@ -31,7 +31,7 @@ public interface I_AD_Process_Para public static final String Table_Name = "AD_Process_Para"; /** AD_Table_ID=285 */ - public static final int Table_ID = MTable.getTable_ID(Table_Name); + public static final int Table_ID = 285; KeyNamePair Model = new KeyNamePair(Table_ID, Table_Name); @@ -62,7 +62,7 @@ public interface I_AD_Process_Para */ public int getAD_Element_ID(); - public I_AD_Element getAD_Element() throws RuntimeException; + public org.compiere.model.I_AD_Element getAD_Element() throws RuntimeException; /** Column name AD_Org_ID */ public static final String COLUMNNAME_AD_Org_ID = "AD_Org_ID"; @@ -90,7 +90,7 @@ public interface I_AD_Process_Para */ public int getAD_Process_ID(); - public I_AD_Process getAD_Process() throws RuntimeException; + public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException; /** Column name AD_Process_Para_ID */ public static final String COLUMNNAME_AD_Process_Para_ID = "AD_Process_Para_ID"; @@ -101,6 +101,15 @@ public interface I_AD_Process_Para /** Get Process Parameter */ public int getAD_Process_Para_ID(); + /** Column name AD_Process_Para_UU */ + public static final String COLUMNNAME_AD_Process_Para_UU = "AD_Process_Para_UU"; + + /** Set AD_Process_Para_UU */ + public void setAD_Process_Para_UU (String AD_Process_Para_UU); + + /** Get AD_Process_Para_UU */ + public String getAD_Process_Para_UU(); + /** Column name AD_Reference_ID */ public static final String COLUMNNAME_AD_Reference_ID = "AD_Reference_ID"; @@ -114,7 +123,7 @@ public interface I_AD_Process_Para */ public int getAD_Reference_ID(); - public I_AD_Reference getAD_Reference() throws RuntimeException; + public org.compiere.model.I_AD_Reference getAD_Reference() throws RuntimeException; /** Column name AD_Reference_Value_ID */ public static final String COLUMNNAME_AD_Reference_Value_ID = "AD_Reference_Value_ID"; @@ -129,7 +138,7 @@ public interface I_AD_Process_Para */ public int getAD_Reference_Value_ID(); - public I_AD_Reference getAD_Reference_Value() throws RuntimeException; + public org.compiere.model.I_AD_Reference getAD_Reference_Value() throws RuntimeException; /** Column name AD_Val_Rule_ID */ public static final String COLUMNNAME_AD_Val_Rule_ID = "AD_Val_Rule_ID"; @@ -144,7 +153,7 @@ public interface I_AD_Process_Para */ public int getAD_Val_Rule_ID(); - public I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException; + public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException; /** Column name ColumnName */ public static final String COLUMNNAME_ColumnName = "ColumnName"; @@ -298,6 +307,19 @@ public interface I_AD_Process_Para */ public boolean isCentrallyMaintained(); + /** Column name IsEncrypted */ + public static final String COLUMNNAME_IsEncrypted = "IsEncrypted"; + + /** Set Encrypted. + * Display or Storage is encrypted + */ + public void setIsEncrypted (boolean IsEncrypted); + + /** Get Encrypted. + * Display or Storage is encrypted + */ + public boolean isEncrypted(); + /** Column name IsMandatory */ public static final String COLUMNNAME_IsMandatory = "IsMandatory"; diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java b/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java index a51d8bad70..3c96e04dff 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Process_Para.java @@ -30,7 +30,7 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis /** * */ - private static final long serialVersionUID = 20100614L; + private static final long serialVersionUID = 20120515L; /** Standard Constructor */ public X_AD_Process_Para (Properties ctx, int AD_Process_Para_ID, String trxName) @@ -47,6 +47,8 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis setFieldLength (0); setIsCentrallyMaintained (true); // Y + setIsEncrypted (false); +// N setIsMandatory (false); setIsRange (false); setName (null); @@ -83,9 +85,9 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return sb.toString(); } - public I_AD_Element getAD_Element() throws RuntimeException + public org.compiere.model.I_AD_Element getAD_Element() throws RuntimeException { - return (I_AD_Element)MTable.get(getCtx(), I_AD_Element.Table_Name) + return (org.compiere.model.I_AD_Element)MTable.get(getCtx(), org.compiere.model.I_AD_Element.Table_Name) .getPO(getAD_Element_ID(), get_TrxName()); } /** Set System Element. @@ -111,9 +113,9 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return ii.intValue(); } - public I_AD_Process getAD_Process() throws RuntimeException + public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException { - return (I_AD_Process)MTable.get(getCtx(), I_AD_Process.Table_Name) + return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name) .getPO(getAD_Process_ID(), get_TrxName()); } /** Set Process. @@ -159,9 +161,23 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return ii.intValue(); } - public I_AD_Reference getAD_Reference() throws RuntimeException + /** Set AD_Process_Para_UU. + @param AD_Process_Para_UU AD_Process_Para_UU */ + public void setAD_Process_Para_UU (String AD_Process_Para_UU) + { + set_Value (COLUMNNAME_AD_Process_Para_UU, AD_Process_Para_UU); + } + + /** Get AD_Process_Para_UU. + @return AD_Process_Para_UU */ + public String getAD_Process_Para_UU () + { + return (String)get_Value(COLUMNNAME_AD_Process_Para_UU); + } + + public org.compiere.model.I_AD_Reference getAD_Reference() throws RuntimeException { - return (I_AD_Reference)MTable.get(getCtx(), I_AD_Reference.Table_Name) + return (org.compiere.model.I_AD_Reference)MTable.get(getCtx(), org.compiere.model.I_AD_Reference.Table_Name) .getPO(getAD_Reference_ID(), get_TrxName()); } /** Set Reference. @@ -187,9 +203,9 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return ii.intValue(); } - public I_AD_Reference getAD_Reference_Value() throws RuntimeException + public org.compiere.model.I_AD_Reference getAD_Reference_Value() throws RuntimeException { - return (I_AD_Reference)MTable.get(getCtx(), I_AD_Reference.Table_Name) + return (org.compiere.model.I_AD_Reference)MTable.get(getCtx(), org.compiere.model.I_AD_Reference.Table_Name) .getPO(getAD_Reference_Value_ID(), get_TrxName()); } /** Set Reference Key. @@ -215,9 +231,9 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return ii.intValue(); } - public I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException + public org.compiere.model.I_AD_Val_Rule getAD_Val_Rule() throws RuntimeException { - return (I_AD_Val_Rule)MTable.get(getCtx(), I_AD_Val_Rule.Table_Name) + return (org.compiere.model.I_AD_Val_Rule)MTable.get(getCtx(), org.compiere.model.I_AD_Val_Rule.Table_Name) .getPO(getAD_Val_Rule_ID(), get_TrxName()); } /** Set Dynamic Validation. @@ -409,6 +425,30 @@ public class X_AD_Process_Para extends PO implements I_AD_Process_Para, I_Persis return false; } + /** Set Encrypted. + @param IsEncrypted + Display or Storage is encrypted + */ + public void setIsEncrypted (boolean IsEncrypted) + { + set_Value (COLUMNNAME_IsEncrypted, Boolean.valueOf(IsEncrypted)); + } + + /** Get Encrypted. + @return Display or Storage is encrypted + */ + public boolean isEncrypted () + { + Object oo = get_Value(COLUMNNAME_IsEncrypted); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + /** Set Mandatory. @param IsMandatory Data entry is required in this column diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java index 1901a9d1ec..d980f71237 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java @@ -197,7 +197,7 @@ public class ProcessParameterPanel extends CPanel implements VetoableChangeListe + "p.AD_Reference_ID, p.AD_Process_Para_ID, " + "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, " + "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, " - + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, p.ReadOnlyLogic, p.DisplayLogic " + + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted " + "FROM AD_Process_Para p" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) " + "WHERE p.AD_Process_ID=?" // 1 @@ -208,7 +208,7 @@ public class ProcessParameterPanel extends CPanel implements VetoableChangeListe + "p.AD_Reference_ID, p.AD_Process_Para_ID, " + "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, " + "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, " - + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, p.ReadOnlyLogic, p.DisplayLogic " + + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted " + "FROM AD_Process_Para p" + " INNER JOIN AD_Process_Para_Trl t ON (p.AD_Process_Para_ID=t.AD_Process_Para_ID)" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) " diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java index 5a3349ea0a..9ffed1e6c0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java @@ -195,7 +195,7 @@ public class ProcessParameterPanel extends Panel implements + "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, " + "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, " + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, " - + "p.ReadOnlyLogic, p.DisplayLogic " + + "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted " + "FROM AD_Process_Para p" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) " + "WHERE p.AD_Process_ID=?" // 1 @@ -206,7 +206,7 @@ public class ProcessParameterPanel extends Panel implements + "p.FieldLength, p.IsMandatory, p.IsRange, p.ColumnName, " + "p.DefaultValue, p.DefaultValue2, p.VFormat, p.ValueMin, p.ValueMax, " + "p.SeqNo, p.AD_Reference_Value_ID, vr.Code AS ValidationCode, " - + "p.ReadOnlyLogic, p.DisplayLogic " + + "p.ReadOnlyLogic, p.DisplayLogic, p.IsEncrypted " + "FROM AD_Process_Para p" + " INNER JOIN AD_Process_Para_Trl t ON (p.AD_Process_Para_ID=t.AD_Process_Para_ID)" + " LEFT OUTER JOIN AD_Val_Rule vr ON (p.AD_Val_Rule_ID=vr.AD_Val_Rule_ID) "