FR [ 1892819 ] Field Phone Format
This commit is contained in:
parent
3603a3969c
commit
44980e848b
|
@ -0,0 +1,85 @@
|
|||
/******************************************************************************
|
||||
* Product: Adempiere ERP & CRM Smart Business Solution *
|
||||
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
* For the text or an alternative of this public license, you may reach us *
|
||||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*****************************************************************************/
|
||||
package org.adempiere.model;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import org.compiere.model.CalloutEngine;
|
||||
import org.compiere.model.GridField;
|
||||
import org.compiere.model.GridTab;
|
||||
import org.compiere.model.MBPartnerLocation;
|
||||
import org.compiere.model.MColumn;
|
||||
import org.compiere.util.DB;
|
||||
import org.compiere.util.Env;
|
||||
|
||||
/**
|
||||
* BPartnerLocation Callouts.
|
||||
*
|
||||
* @author Jesus Garcia / Carlos Ruiz - globalqss
|
||||
*/
|
||||
public class CalloutBPartnerLocation extends CalloutEngine
|
||||
{
|
||||
|
||||
/**
|
||||
* Format Phone No based on Country.
|
||||
* Called from C_BPartnerLocation.C_Location_ID
|
||||
*
|
||||
* @param ctx Context
|
||||
* @param WindowNo current Window No
|
||||
* @param mTab Model Tab
|
||||
* @param mField Model Field
|
||||
* @param value The new value
|
||||
* @param oldvalue The old value
|
||||
* @return Error message or ""
|
||||
*/
|
||||
public String formatPhone (Properties ctx, int WindowNo,
|
||||
GridTab mTab, GridField mField, Object value, Object oldValue)
|
||||
{
|
||||
log.info("");
|
||||
// Called from C_Location_ID field
|
||||
Integer location_int = (Integer) mField.getValue();
|
||||
|
||||
String phone_frm = null;
|
||||
if (location_int != null)
|
||||
// take the phone format from country
|
||||
phone_frm = DB.getSQLValueString(null, "SELECT ExpressionPhone FROM C_Country c, C_Location l WHERE c.C_Country_ID = l.C_Country_ID AND l.C_location_ID = ?", location_int);
|
||||
|
||||
GridField fPhone = mTab.getField(MBPartnerLocation.COLUMNNAME_Phone);
|
||||
MColumn colPhone = null;
|
||||
if (fPhone != null)
|
||||
colPhone = MColumn.get(Env.getCtx(), fPhone.getAD_Column_ID());
|
||||
GridField fPhone2 = mTab.getField(MBPartnerLocation.COLUMNNAME_Phone2);
|
||||
MColumn colPhone2 = null;
|
||||
if (fPhone2 != null)
|
||||
colPhone2 = MColumn.get(Env.getCtx(), fPhone2.getAD_Column_ID());
|
||||
GridField fFax = mTab.getField(MBPartnerLocation.COLUMNNAME_Fax);
|
||||
MColumn colFax = null;
|
||||
if (fFax != null)
|
||||
colFax = MColumn.get(Env.getCtx(), fFax.getAD_Column_ID());
|
||||
|
||||
// Apply the country format if the column doesn't have format
|
||||
if (colPhone != null && (colPhone.getVFormat() == null || colPhone.getVFormat().length() == 0))
|
||||
fPhone.setVFormat(phone_frm);
|
||||
if (colPhone2 != null && (colPhone2.getVFormat() == null || colPhone2.getVFormat().length() == 0))
|
||||
fPhone2.setVFormat(phone_frm);
|
||||
if (colFax != null && (colFax.getVFormat() == null || colFax.getVFormat().length() == 0))
|
||||
fFax.setVFormat(phone_frm);
|
||||
|
||||
return "";
|
||||
} // formatPhone
|
||||
|
||||
} // CalloutBPartnerLocation
|
|
@ -1740,8 +1740,37 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
|
|||
DB.close(rs, pstmt);
|
||||
rs = null; pstmt = null;
|
||||
}
|
||||
|
||||
} // loadOrderInfo
|
||||
|
||||
// Set the Phone Format on BPartnerLocation based on Country
|
||||
if (m_vo.TableName.equals("C_BPartner_Location"))
|
||||
{
|
||||
Integer location_int = (Integer) getValue(X_C_BPartner_Location.COLUMNNAME_C_Location_ID);
|
||||
String phone_frm = null;
|
||||
if (location_int != null)
|
||||
// take the phone format from country
|
||||
phone_frm = DB.getSQLValueString(null, "SELECT ExpressionPhone FROM C_Country c, C_Location l WHERE c.C_Country_ID = l.C_Country_ID AND l.C_location_ID = ?", location_int);
|
||||
GridField fPhone = getField(X_C_BPartner_Location.COLUMNNAME_Phone);
|
||||
MColumn colPhone = null;
|
||||
if (fPhone != null)
|
||||
colPhone = MColumn.get(Env.getCtx(), fPhone.getAD_Column_ID());
|
||||
GridField fPhone2 = getField(X_C_BPartner_Location.COLUMNNAME_Phone2);
|
||||
MColumn colPhone2 = null;
|
||||
if (fPhone2 != null)
|
||||
colPhone2 = MColumn.get(Env.getCtx(), fPhone2.getAD_Column_ID());
|
||||
GridField fFax = getField(X_C_BPartner_Location.COLUMNNAME_Fax);
|
||||
MColumn colFax = null;
|
||||
if (fFax != null)
|
||||
colFax = MColumn.get(Env.getCtx(), fFax.getAD_Column_ID());
|
||||
// Apply the country format if the column doesn't have format
|
||||
if (colPhone != null && (colPhone.getVFormat() == null || colPhone.getVFormat().length() == 0))
|
||||
fPhone.setVFormat(phone_frm);
|
||||
if (colPhone2 != null && (colPhone2.getVFormat() == null || colPhone2.getVFormat().length() == 0))
|
||||
fPhone2.setVFormat(phone_frm);
|
||||
if (colFax != null && (colFax.getVFormat() == null || colFax.getVFormat().length() == 0))
|
||||
fFax.setVFormat(phone_frm);
|
||||
}
|
||||
|
||||
} // loadDependentInfo
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
-- Review optional scripts at the end
|
||||
|
||||
-- Feb 13, 2008 10:31:57 AM COT
|
||||
-- 1892819 - Field Phone Format
|
||||
UPDATE AD_Column SET Callout='org.adempiere.model.CalloutBPartnerLocation.formatPhone',Updated=TO_DATE('2008-02-13 10:31:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2959
|
||||
;
|
||||
|
||||
-- Please uncomment following lines if you prefer to preserve old functionality - this is: not formatting phones
|
||||
|
||||
/*
|
||||
|
||||
UPDATE C_Country SET ExpressionPhone=NULL,Updated=TO_DATE('2008-02-13 10:32:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=100
|
||||
;
|
||||
|
||||
UPDATE C_Country SET ExpressionPhone=NULL,Updated=TO_DATE('2008-02-13 10:33:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=122
|
||||
;
|
||||
|
||||
*/
|
|
@ -0,0 +1,18 @@
|
|||
-- Review optional scripts at the end
|
||||
|
||||
-- Feb 13, 2008 10:31:57 AM COT
|
||||
-- 1892819 - Field Phone Format
|
||||
UPDATE AD_Column SET Callout='org.adempiere.model.CalloutBPartnerLocation.formatPhone',Updated=TO_TIMESTAMP('2008-02-13 10:31:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2959
|
||||
;
|
||||
|
||||
-- Please uncomment following lines if you prefer to preserve old functionality - this is: not formatting phones
|
||||
|
||||
/*
|
||||
|
||||
UPDATE C_Country SET ExpressionPhone=NULL,Updated=TO_TIMESTAMP('2008-02-13 10:32:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=100
|
||||
;
|
||||
|
||||
UPDATE C_Country SET ExpressionPhone=NULL,Updated=TO_TIMESTAMP('2008-02-13 10:33:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE C_Country_ID=122
|
||||
;
|
||||
|
||||
*/
|
Loading…
Reference in New Issue