IDEMPIERE-249 implement encrypt en ad_processparameter same as in ad_field

Developed by Juliana Corredor - Peer reviewed and integrated by Carlos Ruiz
This commit is contained in:
Carlos Ruiz 2012-05-15 21:50:43 -05:00
parent 1287e7b102
commit bbe5e8387e
7 changed files with 154 additions and 21 deletions

View File

@ -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.<br>
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.<br>
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
;

View File

@ -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.<br>
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.<br>
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
;

View File

@ -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)

View File

@ -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";

View File

@ -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

View File

@ -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) "

View File

@ -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) "