IDEMPIERE-3578 BPartner Location name : Preserve custom name
This commit is contained in:
parent
6d2700ac72
commit
82178fa0fd
|
@ -0,0 +1,34 @@
|
|||
SET SQLBLANKLINES ON
|
||||
SET DEFINE OFF
|
||||
|
||||
-- IDEMPIERE-3578 - BPartner Location name : Preserve custom name
|
||||
-- Dec 11, 2017 9:21:24 AM CET
|
||||
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203147,0,0,'Y',TO_DATE('2017-12-11 09:21:23','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-12-11 09:21:23','YYYY-MM-DD HH24:MI:SS'),0,'IsPreserveCustomName','Preserve custom name','Preserve custom name','D','1f44e2a6-8a98-4a7f-9943-b206a882e20e')
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:24 AM CET
|
||||
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (213303,0,'Preserve custom name',293,'IsPreserveCustomName','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_DATE('2017-12-11 09:22:23','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-12-11 09:22:23','YYYY-MM-DD HH24:MI:SS'),0,203147,'Y','N','D','N','N','N','Y','67391508-06ed-431b-9496-e24d0018b799','N',0,'N','N')
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:27 AM CET
|
||||
ALTER TABLE C_BPartner_Location ADD IsPreserveCustomName CHAR(1) DEFAULT 'N' CHECK (IsPreserveCustomName IN ('Y','N')) NOT NULL
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:52 AM CET
|
||||
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (205277,'Preserve custom name',222,213303,'Y',1,170,'N','N','N','N',0,0,'Y',TO_DATE('2017-12-11 09:22:51','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-12-11 09:22:51','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','5e9824ca-04a4-44a5-a1c9-24582e84336c','Y',170,2,2)
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=205277
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=2186
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=200619
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201712110930_IDEMPIERE-3578.sql') FROM dual
|
||||
;
|
|
@ -0,0 +1,31 @@
|
|||
-- IDEMPIERE-3578 - BPartner Location name : Preserve custom name
|
||||
-- Dec 11, 2017 9:21:24 AM CET
|
||||
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (203147,0,0,'Y',TO_TIMESTAMP('2017-12-11 09:21:23','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-12-11 09:21:23','YYYY-MM-DD HH24:MI:SS'),0,'IsPreserveCustomName','Preserve custom name','Preserve custom name','D','1f44e2a6-8a98-4a7f-9943-b206a882e20e')
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:24 AM CET
|
||||
INSERT INTO AD_Column (AD_Column_ID,Version,Name,AD_Table_ID,ColumnName,DefaultValue,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (213303,0,'Preserve custom name',293,'IsPreserveCustomName','N',1,'N','N','Y','N','N',0,'N',20,0,0,'Y',TO_TIMESTAMP('2017-12-11 09:22:23','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-12-11 09:22:23','YYYY-MM-DD HH24:MI:SS'),0,203147,'Y','N','D','N','N','N','Y','67391508-06ed-431b-9496-e24d0018b799','N',0,'N','N')
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:27 AM CET
|
||||
ALTER TABLE C_BPartner_Location ADD COLUMN IsPreserveCustomName CHAR(1) DEFAULT 'N' CHECK (IsPreserveCustomName IN ('Y','N')) NOT NULL
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:22:52 AM CET
|
||||
INSERT INTO AD_Field (AD_Field_ID,Name,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan) VALUES (205277,'Preserve custom name',222,213303,'Y',1,170,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-12-11 09:22:51','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-12-11 09:22:51','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','5e9824ca-04a4-44a5-a1c9-24582e84336c','Y',170,2,2)
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=205277
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=2186
|
||||
;
|
||||
|
||||
-- Dec 11, 2017 9:23:06 AM CET
|
||||
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=200619
|
||||
;
|
||||
|
||||
SELECT register_migration_script('201712110930_IDEMPIERE-3578.sql') FROM dual
|
||||
;
|
|
@ -219,6 +219,15 @@ public interface I_C_BPartner_Location
|
|||
*/
|
||||
public boolean isPayFrom();
|
||||
|
||||
/** Column name IsPreserveCustomName */
|
||||
public static final String COLUMNNAME_IsPreserveCustomName = "IsPreserveCustomName";
|
||||
|
||||
/** Set Preserve custom name */
|
||||
public void setIsPreserveCustomName (boolean IsPreserveCustomName);
|
||||
|
||||
/** Get Preserve custom name */
|
||||
public boolean isPreserveCustomName();
|
||||
|
||||
/** Column name IsRemitTo */
|
||||
public static final String COLUMNNAME_IsRemitTo = "IsRemitTo";
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ public class MBPartnerLocation extends X_C_BPartner_Location {
|
|||
return false;
|
||||
|
||||
// Set New Name
|
||||
if (".".equals(getName())) {
|
||||
if (".".equals(getName()) && !isPreserveCustomName()) {
|
||||
MLocation address = getLocation(true);
|
||||
setName(getBPLocName(address));
|
||||
}
|
||||
|
@ -224,6 +224,10 @@ public class MBPartnerLocation extends X_C_BPartner_Location {
|
|||
} // makeUnique
|
||||
|
||||
public String getBPLocName(MLocation address) {
|
||||
|
||||
if (isPreserveCustomName())
|
||||
return getName();
|
||||
|
||||
m_uniqueName = getName();
|
||||
m_unique = MSysConfig.getIntValue(MSysConfig.START_VALUE_BPLOCATION_NAME, 0,
|
||||
getAD_Client_ID(), getAD_Org_ID());
|
||||
|
|
|
@ -50,8 +50,7 @@ public class MLocation extends X_C_Location implements Comparator<Object>
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -8462972029898383163L;
|
||||
|
||||
private static final long serialVersionUID = -4100591609253985073L;
|
||||
// http://jira.idempiere.com/browse/IDEMPIERE-147
|
||||
public static String LOCATION_MAPS_URL_PREFIX = MSysConfig.getValue(MSysConfig.LOCATION_MAPS_URL_PREFIX);
|
||||
public static String LOCATION_MAPS_ROUTE_PREFIX = MSysConfig.getValue(MSysConfig.LOCATION_MAPS_ROUTE_PREFIX);
|
||||
|
@ -675,7 +674,9 @@ public class MLocation extends X_C_Location implements Comparator<Object>
|
|||
}
|
||||
return true;
|
||||
} // beforeSave
|
||||
|
||||
|
||||
public final static String updateBPLocName = "SELECT C_BPartner_Location_ID FROM C_BPartner_Location WHERE C_Location_ID = ? AND IsPreserveCustomName = 'N'";
|
||||
|
||||
/**
|
||||
* After Save
|
||||
* @param newRecord new
|
||||
|
@ -700,7 +701,7 @@ public class MLocation extends X_C_Location implements Comparator<Object>
|
|||
|
||||
//Update BP_Location name IDEMPIERE 417
|
||||
if (get_TrxName().startsWith(PO.LOCAL_TRX_PREFIX)) { // saved without trx
|
||||
int bplID = DB.getSQLValueEx(get_TrxName(), "SELECT C_BPartner_Location_ID FROM C_BPartner_Location WHERE C_Location_ID = " + getC_Location_ID());
|
||||
int bplID = DB.getSQLValueEx(get_TrxName(), updateBPLocName, getC_Location_ID());
|
||||
if (bplID>0)
|
||||
{
|
||||
// just trigger BPLocation name change when the location change affects the name:
|
||||
|
|
|
@ -30,7 +30,7 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location,
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 20171031L;
|
||||
private static final long serialVersionUID = 20171211L;
|
||||
|
||||
/** Standard Constructor */
|
||||
public X_C_BPartner_Location (Properties ctx, int C_BPartner_Location_ID, String trxName)
|
||||
|
@ -45,6 +45,8 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location,
|
|||
// Y
|
||||
setIsPayFrom (true);
|
||||
// Y
|
||||
setIsPreserveCustomName (false);
|
||||
// N
|
||||
setIsRemitTo (true);
|
||||
// Y
|
||||
setIsShipTo (true);
|
||||
|
@ -299,6 +301,27 @@ public class X_C_BPartner_Location extends PO implements I_C_BPartner_Location,
|
|||
return false;
|
||||
}
|
||||
|
||||
/** Set Preserve custom name.
|
||||
@param IsPreserveCustomName Preserve custom name */
|
||||
public void setIsPreserveCustomName (boolean IsPreserveCustomName)
|
||||
{
|
||||
set_Value (COLUMNNAME_IsPreserveCustomName, Boolean.valueOf(IsPreserveCustomName));
|
||||
}
|
||||
|
||||
/** Get Preserve custom name.
|
||||
@return Preserve custom name */
|
||||
public boolean isPreserveCustomName ()
|
||||
{
|
||||
Object oo = get_Value(COLUMNNAME_IsPreserveCustomName);
|
||||
if (oo != null)
|
||||
{
|
||||
if (oo instanceof Boolean)
|
||||
return ((Boolean)oo).booleanValue();
|
||||
return "Y".equals(oo);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/** Set Remit-To Address.
|
||||
@param IsRemitTo
|
||||
Business Partner payment address
|
||||
|
|
|
@ -92,7 +92,7 @@ public class VLocationDialog extends CDialog
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 8870275797513554720L;
|
||||
private static final long serialVersionUID = -8325818864115049548L;
|
||||
|
||||
/** Lookup result header */
|
||||
private Object[] header = null;
|
||||
|
@ -787,13 +787,14 @@ public class VLocationDialog extends CDialog
|
|||
{
|
||||
// IDEMPIERE-417 Force Update BPLocation.Name
|
||||
if (m_GridField != null && m_GridField.getGridTab() != null
|
||||
&& "C_BPartner_Location".equals(m_GridField.getGridTab().getTableName()))
|
||||
&& "C_BPartner_Location".equals(m_GridField.getGridTab().getTableName())
|
||||
&& !m_GridField.getGridTab().getValueAsBoolean("IsPreserveCustomName"))
|
||||
{
|
||||
m_GridField.getGridTab().setValue("Name", ".");
|
||||
success = true;
|
||||
} else {
|
||||
//Update BP_Location name IDEMPIERE 417
|
||||
int bplID = DB.getSQLValueEx(trx.getTrxName(), "SELECT C_BPartner_Location_ID FROM C_BPartner_Location WHERE C_Location_ID = " + m_location.getC_Location_ID());
|
||||
int bplID = DB.getSQLValueEx(trx.getTrxName(), MLocation.updateBPLocName, m_location.getC_Location_ID());
|
||||
if (bplID>0)
|
||||
{
|
||||
MBPartnerLocation bpl = new MBPartnerLocation(Env.getCtx(), bplID, trx.getTrxName());
|
||||
|
|
|
@ -92,8 +92,7 @@ public class WLocationDialog extends Window implements EventListener<Event>
|
|||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 5368065537791919302L;
|
||||
|
||||
private static final long serialVersionUID = -490669500974096990L;
|
||||
private static final String LABEL_STYLE = "white-space: nowrap;";
|
||||
/** Logger */
|
||||
private static CLogger log = CLogger.getCLogger(WLocationDialog.class);
|
||||
|
@ -1034,12 +1033,13 @@ public class WLocationDialog extends Window implements EventListener<Event>
|
|||
|| (bplocname >= 3 && changedRegion)
|
||||
) {
|
||||
if ( m_GridField != null && m_GridField.getGridTab() != null
|
||||
&& "C_BPartner_Location".equals(m_GridField.getGridTab().getTableName()))
|
||||
&& "C_BPartner_Location".equals(m_GridField.getGridTab().getTableName())
|
||||
&& !m_GridField.getGridTab().getValueAsBoolean("IsPreserveCustomName"))
|
||||
{
|
||||
m_GridField.getGridTab().setValue("Name", ".");
|
||||
} else {
|
||||
//Update BP_Location name IDEMPIERE 417
|
||||
int bplID = DB.getSQLValueEx(trx.getTrxName(), "SELECT C_BPartner_Location_ID FROM C_BPartner_Location WHERE C_Location_ID = " + m_location.getC_Location_ID());
|
||||
int bplID = DB.getSQLValueEx(trx.getTrxName(), MLocation.updateBPLocName, m_location.getC_Location_ID());
|
||||
if (bplID>0)
|
||||
{
|
||||
MBPartnerLocation bpl = new MBPartnerLocation(Env.getCtx(), bplID, trx.getTrxName());
|
||||
|
|
Loading…
Reference in New Issue