From 98d73702f3e8e9869ce5be84ca05ac2137b34f4f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 17 Feb 2017 21:15:45 +0100 Subject: [PATCH] IDEMPIERE-1200 Check consistency of IBAN / peer review --- migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql | 6 +++--- migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql | 6 +++--- .../src/org/compiere/model/MBPBankAccount.java | 7 +++---- .../src/org/compiere/model/MBankAccount.java | 5 ++--- org.adempiere.base/src/org/compiere/model/MPayment.java | 3 +-- .../src/org/compiere/model/MPaymentTransaction.java | 3 +-- org.adempiere.base/src/org/compiere/model/MSysConfig.java | 2 +- org.adempiere.base/src/org/compiere/util/IBAN.java | 3 +++ 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql index 13cd5a6e95..eeafcbaa01 100644 --- a/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql +++ b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql @@ -3,8 +3,8 @@ SET DEFINE OFF -- IBAN validation IDEMPIERE-1200 -- Jan 19, 2017 10:54:38 AM CET -INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','C','1b324142-ae32-4cff-9ea9-792df3e4d142') ; -SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual -; \ No newline at end of file +SELECT register_migration_script('201701191158_IDEMPIERE-1200.sql') FROM dual +; diff --git a/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql index 85bcdb0f1d..2d1d9064f3 100644 --- a/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql +++ b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql @@ -1,7 +1,7 @@ -- IBAN validation IDEMPIERE-1200 -- Jan 19, 2017 10:54:38 AM CET -INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','C','1b324142-ae32-4cff-9ea9-792df3e4d142') ; -SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual -; \ No newline at end of file +SELECT register_migration_script('201701191158_IDEMPIERE-1200.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java index 424c557537..28fb46e405 100644 --- a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java @@ -37,7 +37,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount /** * */ - private static final long serialVersionUID = 2580706419593695062L; + private static final long serialVersionUID = 6826961806519015878L; /** * Get Accounts Of BPartner @@ -210,8 +210,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount setCreditCardVV(encrpytedCvv); } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { @@ -220,7 +219,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount } } } - + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBankAccount.java index fc7522f0ed..8f4c076123 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBankAccount.java @@ -36,7 +36,7 @@ public class MBankAccount extends X_C_BankAccount /** * */ - private static final long serialVersionUID = 2392818253347168347L; + private static final long serialVersionUID = -110709935374907275L; /** * Get BankAccount from Cache @@ -132,8 +132,7 @@ public class MBankAccount extends X_C_BankAccount protected boolean beforeSave(boolean newRecord) { - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MPayment.java b/org.adempiere.base/src/org/compiere/model/MPayment.java index 5ef79f52e3..1399cb8bd2 100644 --- a/org.adempiere.base/src/org/compiere/model/MPayment.java +++ b/org.adempiere.base/src/org/compiere/model/MPayment.java @@ -798,8 +798,7 @@ public class MPayment extends X_C_Payment } } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java index c6738d6c5d..2bbbb56fa5 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java @@ -83,8 +83,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce setCreditCardVV(encrpytedCvv); } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MSysConfig.java b/org.adempiere.base/src/org/compiere/model/MSysConfig.java index 6be031d1ab..092d1b9236 100644 --- a/org.adempiere.base/src/org/compiere/model/MSysConfig.java +++ b/org.adempiere.base/src/org/compiere/model/MSysConfig.java @@ -42,7 +42,7 @@ public class MSysConfig extends X_AD_SysConfig /** * */ - private static final long serialVersionUID = 6862004813052785789L; + private static final long serialVersionUID = -3599797130058840418L; public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION"; public static final String ALERT_SEND_ATTACHMENT_AS_XLS = "ALERT_SEND_ATTACHMENT_AS_XLS"; diff --git a/org.adempiere.base/src/org/compiere/util/IBAN.java b/org.adempiere.base/src/org/compiere/util/IBAN.java index 46a1a8e85c..30b2d62fee 100644 --- a/org.adempiere.base/src/org/compiere/util/IBAN.java +++ b/org.adempiere.base/src/org/compiere/util/IBAN.java @@ -1,3 +1,6 @@ +// adapted from http://how-blogz.blogspot.de/2007/08/java-iban-check-digit-validation.html +// soastation.banking.IBAN + package org.compiere.util; import java.math.BigInteger;