Merge 8ec4eb9e7161
This commit is contained in:
commit
a5adac4806
|
@ -30,5 +30,5 @@ INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,V
|
||||||
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200122 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200122 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
;
|
;
|
||||||
|
|
||||||
SELECT register_migration_script('101212102127_IDEMPIERE-293.sql') FROM dual
|
SELECT register_migration_script('201212102127_IDEMPIERE-293.sql') FROM dual
|
||||||
;
|
;
|
|
@ -30,5 +30,5 @@ INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,V
|
||||||
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200122 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200122 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
|
||||||
;
|
;
|
||||||
|
|
||||||
SELECT register_migration_script('101212102127_IDEMPIERE-293.sql') FROM dual
|
SELECT register_migration_script('201212102127_IDEMPIERE-293.sql') FROM dual
|
||||||
;
|
;
|
|
@ -107,4 +107,10 @@ public class ArchiveDB implements IArchiveStore {
|
||||||
archive.setByteData(deflatedData);
|
archive.setByteData(deflatedData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteArchive(MArchive archive, MStorageProvider prov) {
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -163,7 +163,7 @@ public class ArchiveFileSystem implements IArchiveStore {
|
||||||
BufferedOutputStream out = null;
|
BufferedOutputStream out = null;
|
||||||
try {
|
try {
|
||||||
// create destination folder
|
// create destination folder
|
||||||
StringBuilder msgfile = new StringBuilder().append(archivePathRoot).append(File.separator)
|
StringBuilder msgfile = new StringBuilder().append(archivePathRoot)
|
||||||
.append(archive.getArchivePathSnippet());
|
.append(archive.getArchivePathSnippet());
|
||||||
final File destFolder = new File(msgfile.toString());
|
final File destFolder = new File(msgfile.toString());
|
||||||
if (!destFolder.exists()) {
|
if (!destFolder.exists()) {
|
||||||
|
@ -226,4 +226,23 @@ public class ArchiveFileSystem implements IArchiveStore {
|
||||||
return archivePathRoot;
|
return archivePathRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteArchive(MArchive archive, MStorageProvider prov) {
|
||||||
|
String archivePathRoot = getArchivePathRoot(prov);
|
||||||
|
if ("".equals(archivePathRoot)) {
|
||||||
|
throw new IllegalArgumentException("no attachmentPath defined");
|
||||||
|
}
|
||||||
|
StringBuilder msgfile = new StringBuilder().append(archivePathRoot)
|
||||||
|
.append(archive.getArchivePathSnippet()).append(archive.get_ID()).append(".pdf");
|
||||||
|
|
||||||
|
File file=new File(msgfile.toString());
|
||||||
|
if (file !=null && file.exists()) {
|
||||||
|
if (!file.delete()) {
|
||||||
|
log.warning("unable to delete " + file.getAbsolutePath());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class GridTable extends AbstractTableModel
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 2328810326636468776L;
|
private static final long serialVersionUID = -3181940154166340664L;
|
||||||
|
|
||||||
public static final String DATA_REFRESH_MESSAGE = "Refreshed";
|
public static final String DATA_REFRESH_MESSAGE = "Refreshed";
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ public class GridTable extends AbstractTableModel
|
||||||
* @param TableName table name
|
* @param TableName table name
|
||||||
* @param WindowNo window no
|
* @param WindowNo window no
|
||||||
* @param TabNo tab no
|
* @param TabNo tab no
|
||||||
* @param withAccessControl if true adds AD_Client/Org restrictuins
|
* @param withAccessControl if true adds AD_Client/Org restrictions
|
||||||
*/
|
*/
|
||||||
public GridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo,
|
public GridTable(Properties ctx, int AD_Table_ID, String TableName, int WindowNo, int TabNo,
|
||||||
boolean withAccessControl)
|
boolean withAccessControl)
|
||||||
|
@ -878,7 +878,6 @@ public class GridTable extends AbstractTableModel
|
||||||
* @param col col
|
* @param col col
|
||||||
* @param ascending ascending
|
* @param ascending ascending
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public void sort (int col, boolean ascending)
|
public void sort (int col, boolean ascending)
|
||||||
{
|
{
|
||||||
log.info("#" + col + " " + ascending);
|
log.info("#" + col + " " + ascending);
|
||||||
|
@ -1144,7 +1143,7 @@ public class GridTable extends AbstractTableModel
|
||||||
Collections.reverse(toremove);
|
Collections.reverse(toremove);
|
||||||
for(Integer row : toremove)
|
for(Integer row : toremove)
|
||||||
{
|
{
|
||||||
m_sort.remove(row);
|
m_sort.remove(row.intValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,5 +19,6 @@ public interface IArchiveStore {
|
||||||
|
|
||||||
public void save(MArchive archive, MStorageProvider prov,byte[] inflatedData);
|
public void save(MArchive archive, MStorageProvider prov,byte[] inflatedData);
|
||||||
|
|
||||||
|
public boolean deleteArchive(MArchive archive, MStorageProvider prov);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -275,5 +275,14 @@ public class MArchive extends X_AD_Archive {
|
||||||
log.fine(toString());
|
log.fine(toString());
|
||||||
return true;
|
return true;
|
||||||
} // beforeSave
|
} // beforeSave
|
||||||
|
|
||||||
|
protected boolean beforeDelete ()
|
||||||
|
{
|
||||||
|
IArchiveStore prov = provider.getArchiveStore();
|
||||||
|
if (prov != null)
|
||||||
|
return prov.deleteArchive(this,provider);
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} // MArchive
|
} // MArchive
|
||||||
|
|
|
@ -28,8 +28,11 @@ import org.compiere.util.CLogger;
|
||||||
*/
|
*/
|
||||||
public class MAssetChange extends X_A_Asset_Change
|
public class MAssetChange extends X_A_Asset_Change
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 4083373951793617528L;
|
||||||
|
|
||||||
/** Static Logger */
|
/** Static Logger */
|
||||||
private static CLogger s_log = CLogger.getCLogger(MAssetChange.class);
|
private static CLogger s_log = CLogger.getCLogger(MAssetChange.class);
|
||||||
|
|
||||||
|
@ -67,11 +70,6 @@ public class MAssetChange extends X_A_Asset_Change
|
||||||
return true;
|
return true;
|
||||||
} // beforeSave
|
} // beforeSave
|
||||||
|
|
||||||
/** ARHIPAC: TEO: BEGIN ------------------------------------------------------------------ */
|
|
||||||
public void setSerno(String value) { setSerNo(value); }
|
|
||||||
public void setVersionno(String value) { setVersionNo(value); }
|
|
||||||
public void setAd_User_ID(int value) { setAD_User_ID(value); }
|
|
||||||
|
|
||||||
public static MAssetChange createAddition(MAssetAddition assetAdd, MDepreciationWorkfile assetwk) {
|
public static MAssetChange createAddition(MAssetAddition assetAdd, MDepreciationWorkfile assetwk) {
|
||||||
MAssetChange change = new MAssetChange (assetAdd.getCtx(), 0, assetAdd.get_TrxName());
|
MAssetChange change = new MAssetChange (assetAdd.getCtx(), 0, assetAdd.get_TrxName());
|
||||||
change.setAD_Org_ID(assetAdd.getAD_Org_ID()); //@win added
|
change.setAD_Org_ID(assetAdd.getAD_Org_ID()); //@win added
|
||||||
|
|
|
@ -3,10 +3,6 @@ package org.compiere.model;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.compiere.model.CalloutEngine;
|
|
||||||
import org.compiere.model.GridField;
|
|
||||||
import org.compiere.model.GridTab;
|
|
||||||
import org.compiere.model.Query;
|
|
||||||
import org.compiere.util.ArhRuntimeException;
|
import org.compiere.util.ArhRuntimeException;
|
||||||
import org.compiere.util.CCache;
|
import org.compiere.util.CCache;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
@ -17,17 +13,14 @@ import org.compiere.util.Env;
|
||||||
*/
|
*/
|
||||||
public class MAssetType extends X_A_Asset_Type
|
public class MAssetType extends X_A_Asset_Type
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
/**
|
||||||
|
*
|
||||||
public static final String A_ASSET_TYPE_MFX = "MFX";
|
*/
|
||||||
public static final String A_ASSET_TYPE_INV = "INV";
|
private static final long serialVersionUID = -1371478760221357780L;
|
||||||
|
|
||||||
public static final int A_ASSET_TYPE_ID_MFX = 1;
|
private static final String A_ASSET_TYPE_MFX = "MFX"; // HARDCODED - you must create a Asset Type with Value=MFX to indicate is Fixed Asset
|
||||||
public static final int A_ASSET_TYPE_ID_INV = 2;
|
private static final String A_ASSET_TYPE_INV = "INV"; // HARDCODED - you must create a Asset Type with Value=MFX to indicate is Inventory Object
|
||||||
public static final int A_ASSET_TYPE_ID_SUP = 3;
|
|
||||||
/** Obiecte tert */
|
|
||||||
public static final int A_ASSET_TYPE_ID_OIN = 4;
|
|
||||||
|
|
||||||
public static interface Model
|
public static interface Model
|
||||||
{
|
{
|
||||||
/** Get Context */
|
/** Get Context */
|
||||||
|
@ -98,17 +91,13 @@ public class MAssetType extends X_A_Asset_Type
|
||||||
|
|
||||||
public static boolean isFixedAsset(int A_Asset_ID)
|
public static boolean isFixedAsset(int A_Asset_ID)
|
||||||
{
|
{
|
||||||
final String whereClause = MAsset.COLUMNNAME_A_Asset_ID+"=?"
|
MAsset asset = MAsset.get(Env.getCtx(), A_Asset_ID, null);
|
||||||
+" AND "+MAsset.COLUMNNAME_A_AssetType+"=?";
|
return isFixedAsset(asset);
|
||||||
|
|
||||||
return new Query(Env.getCtx(), MAsset.Table_Name, whereClause, null)
|
|
||||||
.setParameters(new Object[]{A_Asset_ID, A_ASSET_TYPE_MFX})
|
|
||||||
.match();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isFixedAsset(MAsset asset)
|
public static boolean isFixedAsset(MAsset asset)
|
||||||
{
|
{
|
||||||
return asset != null && A_ASSET_TYPE_MFX.equals(asset.getA_Asset_Type());
|
return asset != null && A_ASSET_TYPE_MFX.equals(asset.getA_Asset_Type().getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isFixedAssetGroup(Properties ctx, int A_Asset_Group_ID)
|
public static boolean isFixedAssetGroup(Properties ctx, int A_Asset_Group_ID)
|
||||||
|
@ -150,7 +139,7 @@ public class MAssetType extends X_A_Asset_Type
|
||||||
/**
|
/**
|
||||||
* Validate a Model
|
* Validate a Model
|
||||||
* @param m model
|
* @param m model
|
||||||
* @thorows ContextUserException
|
* @throws ContextUserException
|
||||||
*/
|
*/
|
||||||
public static void validate(Model m)
|
public static void validate(Model m)
|
||||||
{
|
{
|
||||||
|
|
|
@ -117,7 +117,7 @@ public class MClientShare extends X_AD_ClientShare
|
||||||
s_shares.put("0_0", Boolean.TRUE);
|
s_shares.put("0_0", Boolean.TRUE);
|
||||||
} // load
|
} // load
|
||||||
StringBuilder key = new StringBuilder().append(AD_Client_ID).append("_").append(AD_Table_ID);
|
StringBuilder key = new StringBuilder().append(AD_Client_ID).append("_").append(AD_Table_ID);
|
||||||
return s_shares.get(key);
|
return s_shares.get(key.toString());
|
||||||
} // load
|
} // load
|
||||||
|
|
||||||
/** Shared Info */
|
/** Shared Info */
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class MEntityType extends X_AD_EntityType
|
||||||
* @param ctx context
|
* @param ctx context
|
||||||
* @return entity type array
|
* @return entity type array
|
||||||
*/
|
*/
|
||||||
static public MEntityType[] getEntityTypes(Properties ctx)
|
static synchronized public MEntityType[] getEntityTypes(Properties ctx)
|
||||||
{
|
{
|
||||||
if (s_entityTypes != null)
|
if (s_entityTypes != null)
|
||||||
return s_entityTypes;
|
return s_entityTypes;
|
||||||
|
|
|
@ -363,7 +363,7 @@ public class MLookupFactory
|
||||||
{
|
{
|
||||||
// Try cache - assume no language change
|
// Try cache - assume no language change
|
||||||
StringBuilder key = new StringBuilder().append(Env.getAD_Client_ID(ctx)).append("|").append(String.valueOf(AD_Reference_Value_ID));
|
StringBuilder key = new StringBuilder().append(Env.getAD_Client_ID(ctx)).append("|").append(String.valueOf(AD_Reference_Value_ID));
|
||||||
MLookupInfo retValue = (MLookupInfo)s_cacheRefTable.get(key);
|
MLookupInfo retValue = (MLookupInfo)s_cacheRefTable.get(key.toString());
|
||||||
if (retValue != null)
|
if (retValue != null)
|
||||||
{
|
{
|
||||||
s_log.finest("Cache: " + retValue);
|
s_log.finest("Cache: " + retValue);
|
||||||
|
@ -687,8 +687,8 @@ public class MLookupFactory
|
||||||
|
|
||||||
//try cache
|
//try cache
|
||||||
StringBuilder cacheKey = new StringBuilder().append(Env.getAD_Client_ID(ctx)).append("|").append(TableName).append(".").append(KeyColumn);
|
StringBuilder cacheKey = new StringBuilder().append(Env.getAD_Client_ID(ctx)).append("|").append(TableName).append(".").append(KeyColumn);
|
||||||
if (s_cacheRefTable.containsKey(cacheKey))
|
if (s_cacheRefTable.containsKey(cacheKey.toString()))
|
||||||
return s_cacheRefTable.get(cacheKey).cloneIt();
|
return s_cacheRefTable.get(cacheKey.toString()).cloneIt();
|
||||||
|
|
||||||
ArrayList<LookupDisplayColumn> list = getListIdentifiers(TableName);
|
ArrayList<LookupDisplayColumn> list = getListIdentifiers(TableName);
|
||||||
|
|
||||||
|
|
|
@ -308,7 +308,7 @@ public class MMailText extends X_R_MailText
|
||||||
if (m_bpartner != null && m_bpartner.getAD_Language() != null)
|
if (m_bpartner != null && m_bpartner.getAD_Language() != null)
|
||||||
{
|
{
|
||||||
StringBuilder key = new StringBuilder().append(m_bpartner.getAD_Language()).append(get_ID());
|
StringBuilder key = new StringBuilder().append(m_bpartner.getAD_Language()).append(get_ID());
|
||||||
MMailTextTrl trl = s_cacheTrl.get(key);
|
MMailTextTrl trl = s_cacheTrl.get(key.toString());
|
||||||
if (trl == null)
|
if (trl == null)
|
||||||
{
|
{
|
||||||
trl = getTranslation(m_bpartner.getAD_Language());
|
trl = getTranslation(m_bpartner.getAD_Language());
|
||||||
|
|
|
@ -472,9 +472,10 @@ public class MProject extends X_C_Project
|
||||||
public MInvoice[] getMInvoices(){
|
public MInvoice[] getMInvoices(){
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append(MInvoice.COLUMNNAME_C_Project_ID).append("=?");
|
sb.append(MInvoice.COLUMNNAME_C_Project_ID).append("=?");
|
||||||
Query qry = new Query(getCtx(), MInvoice.Table_Name, sb.toString(), get_TrxName());
|
List<MInvoice> list = new Query(getCtx(), MInvoice.Table_Name, sb.toString(), get_TrxName())
|
||||||
qry.setParameters(getC_Project_ID());
|
.setParameters(getC_Project_ID())
|
||||||
return (MInvoice[]) qry.list().toArray();
|
.list();
|
||||||
|
return list.toArray(new MInvoice[list.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // MProject
|
} // MProject
|
||||||
|
|
|
@ -55,6 +55,8 @@ import org.compiere.process.SvrProcess;
|
||||||
import org.compiere.report.MReportTree;
|
import org.compiere.report.MReportTree;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
import org.compiere.util.Language;
|
||||||
|
import org.compiere.util.Msg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GL Journal Generator
|
* GL Journal Generator
|
||||||
|
@ -410,6 +412,9 @@ public class GLJournalGenerate extends SvrProcess
|
||||||
j.setAD_Org_ID(journalGenerator.getAD_Org_ID());
|
j.setAD_Org_ID(journalGenerator.getAD_Org_ID());
|
||||||
else
|
else
|
||||||
j.setAD_Org_ID(Env.getAD_Org_ID(getCtx()));
|
j.setAD_Org_ID(Env.getAD_Org_ID(getCtx()));
|
||||||
|
if (j.getAD_Org_ID() == 0) {
|
||||||
|
throw new AdempiereException(Msg.getMsg(Language.getBaseAD_Language(), "Org0NotAllowed"));
|
||||||
|
}
|
||||||
j.setC_Currency_ID(as.getC_Currency_ID());
|
j.setC_Currency_ID(as.getC_Currency_ID());
|
||||||
j.setC_DocType_ID(journalGenerator.getC_DocType_ID());
|
j.setC_DocType_ID(journalGenerator.getC_DocType_ID());
|
||||||
j.setControlAmt(Env.ZERO);
|
j.setControlAmt(Env.ZERO);
|
||||||
|
@ -512,11 +517,14 @@ public class GLJournalGenerate extends SvrProcess
|
||||||
if (j != null && p_DocAction != null) {
|
if (j != null && p_DocAction != null) {
|
||||||
// DocAction
|
// DocAction
|
||||||
if (!j.processIt(p_DocAction))
|
if (!j.processIt(p_DocAction))
|
||||||
throw new AdempiereException("Could not " + p_DocAction + " journal");
|
throw new AdempiereException("Couldn't set docAction: " + p_DocAction + ((org.compiere.process.DocAction) j).getProcessMsg()+ " journal");
|
||||||
j.saveEx();
|
j.saveEx();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StringBuilder msg = new StringBuilder(Msg.parseTranslation(getCtx(), "@Created@ @GL_Journal_ID@=")).append(j.getDocumentNo());
|
||||||
|
addLog(j.get_ID(), null, null, msg.toString(), MJournal.Table_ID, j.get_ID());
|
||||||
|
|
||||||
return "@OK@" + (j != null ? " @Created@ @GL_Journal_ID@=" + j.getDocumentNo() : "");
|
return "@OK@";
|
||||||
} // doIt
|
} // doIt
|
||||||
|
|
||||||
private BigDecimal applyMultiplierAndFactor(BigDecimal sourceAmt, BigDecimal amtMultiplier, int roundFactor) {
|
private BigDecimal applyMultiplierAndFactor(BigDecimal sourceAmt, BigDecimal amtMultiplier, int roundFactor) {
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class AdempiereServerMgr
|
||||||
* Get Adempiere Server Manager
|
* Get Adempiere Server Manager
|
||||||
* @return mgr
|
* @return mgr
|
||||||
*/
|
*/
|
||||||
public static AdempiereServerMgr get()
|
public synchronized static AdempiereServerMgr get()
|
||||||
{
|
{
|
||||||
if (m_serverMgr == null)
|
if (m_serverMgr == null)
|
||||||
{
|
{
|
||||||
|
@ -62,7 +62,7 @@ public class AdempiereServerMgr
|
||||||
} // get
|
} // get
|
||||||
|
|
||||||
/** Singleton */
|
/** Singleton */
|
||||||
private static AdempiereServerMgr m_serverMgr = null;
|
private static AdempiereServerMgr m_serverMgr = null;
|
||||||
/** Logger */
|
/** Logger */
|
||||||
protected CLogger log = CLogger.getCLogger(getClass());
|
protected CLogger log = CLogger.getCLogger(getClass());
|
||||||
|
|
||||||
|
|
|
@ -798,7 +798,7 @@ public class MiniTable extends CTable implements IMiniTable
|
||||||
if(subtotal == null)
|
if(subtotal == null)
|
||||||
subtotal = new Double(0);
|
subtotal = new Double(0);
|
||||||
if(amt == null )
|
if(amt == null )
|
||||||
subtotal = new Double(0);
|
amt = new Double(0);
|
||||||
total[col] = subtotal + amt;
|
total[col] = subtotal + amt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -873,7 +873,7 @@ public class MiniTable extends CTable implements IMiniTable
|
||||||
if(subtotal == null)
|
if(subtotal == null)
|
||||||
subtotal = new Double(0);
|
subtotal = new Double(0);
|
||||||
if(amt == null )
|
if(amt == null )
|
||||||
subtotal = new Double(0);
|
amt = new Double(0);
|
||||||
total[col] = subtotal + amt;
|
total[col] = subtotal + amt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import java.sql.Timestamp;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.adempiere.util.Callback;
|
||||||
import org.adempiere.webui.component.Button;
|
import org.adempiere.webui.component.Button;
|
||||||
import org.adempiere.webui.component.Checkbox;
|
import org.adempiere.webui.component.Checkbox;
|
||||||
import org.adempiere.webui.component.ConfirmPanel;
|
import org.adempiere.webui.component.ConfirmPanel;
|
||||||
|
@ -48,6 +49,7 @@ import org.adempiere.webui.panel.ADForm;
|
||||||
import org.adempiere.webui.panel.CustomForm;
|
import org.adempiere.webui.panel.CustomForm;
|
||||||
import org.adempiere.webui.panel.IFormController;
|
import org.adempiere.webui.panel.IFormController;
|
||||||
import org.adempiere.webui.session.SessionManager;
|
import org.adempiere.webui.session.SessionManager;
|
||||||
|
import org.adempiere.webui.window.FDialog;
|
||||||
import org.compiere.apps.form.Archive;
|
import org.compiere.apps.form.Archive;
|
||||||
import org.compiere.model.MArchive;
|
import org.compiere.model.MArchive;
|
||||||
import org.compiere.model.MLookup;
|
import org.compiere.model.MLookup;
|
||||||
|
@ -111,6 +113,7 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
private Textbox helpField = new Textbox();
|
private Textbox helpField = new Textbox();
|
||||||
private ConfirmPanel confirmPanel = new ConfirmPanel(true);
|
private ConfirmPanel confirmPanel = new ConfirmPanel(true);
|
||||||
private Button updateArchive = new Button();
|
private Button updateArchive = new Button();
|
||||||
|
private Button deleteArchive = new Button();
|
||||||
|
|
||||||
private Tabbox tabbox = new Tabbox();
|
private Tabbox tabbox = new Tabbox();
|
||||||
private Tabs tabs = new Tabs();
|
private Tabs tabs = new Tabs();
|
||||||
|
@ -194,15 +197,19 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
updateArchive.setTooltiptext(Msg.getMsg(Env.getCtx(), "Update"));
|
updateArchive.setTooltiptext(Msg.getMsg(Env.getCtx(), "Update"));
|
||||||
updateArchive.addEventListener(Events.ON_CLICK, this);
|
updateArchive.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
|
deleteArchive.setImage("/images/Delete24.png");
|
||||||
|
deleteArchive.setTooltiptext(Msg.getMsg(Env.getCtx(), "Delete"));
|
||||||
|
deleteArchive.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bRefresh.setImage("/images/Refresh24.png");
|
bRefresh.setImage("/images/Refresh24.png");
|
||||||
bRefresh.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh"));
|
bRefresh.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh"));
|
||||||
bRefresh.addEventListener(Events.ON_CLICK, this);
|
bRefresh.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bBack.setImage("/images/Parent24.png");
|
bBack.setImage("/images/wfBack24.png");
|
||||||
bBack.setTooltiptext(Msg.getMsg(Env.getCtx(), "Previous"));
|
bBack.setTooltiptext(Msg.getMsg(Env.getCtx(), "Previous"));
|
||||||
bBack.addEventListener(Events.ON_CLICK, this);
|
bBack.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
bNext.setImage("/images/Detail24.png");
|
bNext.setImage("/images/wfNext24.png");
|
||||||
bNext.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next"));
|
bNext.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next"));
|
||||||
bNext.addEventListener(Events.ON_CLICK, this);
|
bNext.addEventListener(Events.ON_CLICK, this);
|
||||||
|
|
||||||
|
@ -405,8 +412,9 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
row.setSpans("4");
|
row.setSpans("4");
|
||||||
div = new Div();
|
div = new Div();
|
||||||
div.setAlign("right");
|
div.setAlign("right");
|
||||||
|
div.appendChild(deleteArchive);
|
||||||
div.appendChild(bRefresh);
|
div.appendChild(bRefresh);
|
||||||
div.appendChild(updateArchive);
|
div.appendChild(updateArchive);
|
||||||
row.appendChild(div);
|
row.appendChild(div);
|
||||||
|
|
||||||
createdByField.setReadonly(true);
|
createdByField.setReadonly(true);
|
||||||
|
@ -449,6 +457,8 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
|
|
||||||
if (e.getTarget() == updateArchive)
|
if (e.getTarget() == updateArchive)
|
||||||
cmd_updateArchive();
|
cmd_updateArchive();
|
||||||
|
else if(e.getTarget() == deleteArchive)
|
||||||
|
cmd_deleteArchive();
|
||||||
else if (e.getTarget().getId().equals(ConfirmPanel.A_CANCEL))
|
else if (e.getTarget().getId().equals(ConfirmPanel.A_CANCEL))
|
||||||
SessionManager.getAppDesktop().closeActiveWindow();
|
SessionManager.getAppDesktop().closeActiveWindow();
|
||||||
else if (e.getTarget().getId().equals(ConfirmPanel.A_OK))
|
else if (e.getTarget().getId().equals(ConfirmPanel.A_OK))
|
||||||
|
@ -479,16 +489,9 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* public void valueChange(ValueChangeEvent evt)
|
|
||||||
{
|
|
||||||
if (m_archives.length > 0)
|
|
||||||
updateArchive.setEnabled(true);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/**
|
/**
|
||||||
* Update Query Display
|
* Update Query Display
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private void updateQDisplay()
|
private void updateQDisplay()
|
||||||
{
|
{
|
||||||
boolean reports = reportField.isChecked();
|
boolean reports = reportField.isChecked();
|
||||||
|
@ -503,6 +506,23 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
bPartnerField.setVisible(!reports);
|
bPartnerField.setVisible(!reports);
|
||||||
} // updateQDisplay
|
} // updateQDisplay
|
||||||
|
|
||||||
|
public void cmd_deleteArchive(){
|
||||||
|
FDialog.ask(m_WindowNo, this.form, "DeleteRecord?", new Callback<Boolean>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCallback(Boolean result)
|
||||||
|
{
|
||||||
|
if (result)
|
||||||
|
{
|
||||||
|
MArchive ar = m_archives[m_index];
|
||||||
|
ar.delete(true);
|
||||||
|
tabbox.setSelectedIndex(0);
|
||||||
|
dynInit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update View Display
|
* Update View Display
|
||||||
* @param next show next Archive
|
* @param next show next Archive
|
||||||
|
@ -526,13 +546,14 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis
|
||||||
|
|
||||||
bBack.setEnabled(m_index > 0);
|
bBack.setEnabled(m_index > 0);
|
||||||
bNext.setEnabled(m_index < m_archives.length-1);
|
bNext.setEnabled(m_index < m_archives.length-1);
|
||||||
|
deleteArchive.setEnabled(m_archives.length > 0);
|
||||||
updateArchive.setEnabled(false);
|
updateArchive.setEnabled(false);
|
||||||
|
|
||||||
log.info("Index=" + m_index + ", Length=" + m_archives.length);
|
log.info("Index=" + m_index + ", Length=" + m_archives.length);
|
||||||
|
|
||||||
if (m_archives.length == 0)
|
if (m_archives.length == 0)
|
||||||
{
|
{
|
||||||
positionInfo.setValue("No Record Found");
|
positionInfo.setValue(Msg.getMsg(Env.getCtx(), "NoRecordsFound"));
|
||||||
createdByField.setText("");
|
createdByField.setText("");
|
||||||
createdField.setValue(null);
|
createdField.setValue(null);
|
||||||
nameField.setText("");
|
nameField.setText("");
|
||||||
|
|
|
@ -20,6 +20,7 @@ import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -64,8 +65,11 @@ import org.zkoss.zul.Vbox;
|
||||||
*/
|
*/
|
||||||
public class CustomizeGridViewPanel extends Panel
|
public class CustomizeGridViewPanel extends Panel
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -3190425241947591357L;
|
||||||
|
|
||||||
private static final long serialVersionUID = 4289328613547509587L;
|
|
||||||
private Map<Integer, String> m_columnsWidth;
|
private Map<Integer, String> m_columnsWidth;
|
||||||
ArrayList<Integer> tableSeqs;
|
ArrayList<Integer> tableSeqs;
|
||||||
GridView gridPanel = null;
|
GridView gridPanel = null;
|
||||||
|
@ -131,9 +135,6 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
noLabel.setValue(Msg.getMsg(Env.getCtx(), "Available"));
|
noLabel.setValue(Msg.getMsg(Env.getCtx(), "Available"));
|
||||||
yesLabel.setValue(Msg.getMsg(Env.getCtx(), "Selected"));
|
yesLabel.setValue(Msg.getMsg(Env.getCtx(), "Selected"));
|
||||||
|
|
||||||
|
|
||||||
yesList.setHeight("100%");
|
|
||||||
noList.setHeight("100%");
|
|
||||||
yesList.setVflex(true);
|
yesList.setVflex(true);
|
||||||
noList.setVflex(true);
|
noList.setVflex(true);
|
||||||
|
|
||||||
|
@ -157,9 +158,9 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
migrateValueAcrossLists(event);
|
migrateValueAcrossLists(event);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
yesList.setSeltype("multiple");
|
yesModel.setMultiple(true);
|
||||||
noList.setSeltype("multiple");
|
noModel.setMultiple(true);
|
||||||
|
|
||||||
bAdd.setImage("images/Next24.png");
|
bAdd.setImage("images/Next24.png");
|
||||||
bAdd.addEventListener(Events.ON_CLICK, actionListener);
|
bAdd.addEventListener(Events.ON_CLICK, actionListener);
|
||||||
|
|
||||||
|
@ -396,14 +397,19 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
}
|
}
|
||||||
Listbox listFrom = (source == bAdd || source == noList) ? noList : yesList;
|
Listbox listFrom = (source == bAdd || source == noList) ? noList : yesList;
|
||||||
Listbox listTo = (source == bAdd || source == noList) ? yesList : noList;
|
Listbox listTo = (source == bAdd || source == noList) ? yesList : noList;
|
||||||
SimpleListModel lmFrom = (source == bAdd || source == noList) ?
|
migrateLists (listFrom,listTo);
|
||||||
noModel : yesModel;
|
}
|
||||||
SimpleListModel lmTo = (lmFrom == yesModel) ? noModel : yesModel;
|
|
||||||
|
void migrateLists (Listbox listFrom , Listbox listTo)
|
||||||
|
{
|
||||||
|
int index = 0;
|
||||||
|
SimpleListModel lmFrom = (SimpleListModel) listFrom.getModel();
|
||||||
|
SimpleListModel lmTo = (SimpleListModel) listTo.getModel();
|
||||||
Set<?> selectedItems = listFrom.getSelectedItems();
|
Set<?> selectedItems = listFrom.getSelectedItems();
|
||||||
List<ListElement> selObjects = new ArrayList<ListElement>();
|
List<ListElement> selObjects = new ArrayList<ListElement>();
|
||||||
for (Object obj : selectedItems) {
|
for (Object obj : selectedItems) {
|
||||||
ListItem listItem = (ListItem) obj;
|
ListItem listItem = (ListItem) obj;
|
||||||
int index = listFrom.getIndexOfItem(listItem);
|
index = listFrom.getIndexOfItem(listItem);
|
||||||
ListElement selObject = (ListElement)lmFrom.getElementAt(index);
|
ListElement selObject = (ListElement)lmFrom.getElementAt(index);
|
||||||
selObjects.add(selObject);
|
selObjects.add(selObject);
|
||||||
}
|
}
|
||||||
|
@ -415,19 +421,18 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
lmFrom.removeElement(selObject);
|
lmFrom.removeElement(selObject);
|
||||||
lmTo.addElement(selObject);
|
lmTo.addElement(selObject);
|
||||||
}
|
}
|
||||||
|
index = 0;
|
||||||
for (ListElement selObject : selObjects)
|
for (ListElement selObject : selObjects)
|
||||||
{
|
{
|
||||||
int index = lmTo.indexOf(selObject);
|
index = lmTo.indexOf(selObject);
|
||||||
listTo.setSelectedIndex(index);
|
listTo.setSelectedIndex(index);
|
||||||
}
|
}
|
||||||
if ( listTo.getSelectedItem() != null)
|
if ( listTo.getSelectedItem() != null)
|
||||||
{
|
{
|
||||||
AuFocus focus = new AuFocus(listTo.getSelectedItem());
|
AuFocus focus = new AuFocus(listTo.getSelectedItem());
|
||||||
Clients.response(focus);
|
Clients.response(focus);
|
||||||
}
|
}
|
||||||
} // migrateValueAcrossLists
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Move within Yes List
|
* Move within Yes List
|
||||||
|
@ -444,6 +449,7 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
return;
|
return;
|
||||||
//
|
//
|
||||||
int[] indices = yesList.getSelectedIndices();
|
int[] indices = yesList.getSelectedIndices();
|
||||||
|
Arrays.sort(indices);
|
||||||
//
|
//
|
||||||
boolean change = false;
|
boolean change = false;
|
||||||
//
|
//
|
||||||
|
@ -665,31 +671,16 @@ public class CustomizeGridViewPanel extends Panel
|
||||||
|
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
if (event instanceof DropEvent)
|
if (event instanceof DropEvent)
|
||||||
{
|
{
|
||||||
DropEvent me = (DropEvent) event;
|
DropEvent me = (DropEvent) event;
|
||||||
|
|
||||||
ListItem endItem = (ListItem) me.getTarget();
|
ListItem endItem = (ListItem) me.getTarget();
|
||||||
if (!(endItem.getListbox() == yesList))
|
|
||||||
{
|
|
||||||
return; // move within noList
|
|
||||||
}
|
|
||||||
|
|
||||||
ListItem startItem = (ListItem) me.getDragged();
|
ListItem startItem = (ListItem) me.getDragged();
|
||||||
if (startItem.getListbox() == endItem.getListbox())
|
if (!(startItem.getListbox() == endItem.getListbox()))
|
||||||
{
|
{
|
||||||
return; //move within same list
|
Listbox listFrom = (Listbox)startItem.getListbox();
|
||||||
|
Listbox listTo = (Listbox)endItem.getListbox();
|
||||||
|
migrateLists (listFrom,listTo);
|
||||||
}
|
}
|
||||||
int startIndex = noList.getIndexOfItem(startItem);
|
|
||||||
Object element = noModel.getElementAt(startIndex);
|
|
||||||
noModel.removeElement(element);
|
|
||||||
int endIndex = yesList.getIndexOfItem(endItem);
|
|
||||||
yesModel.add(endIndex, element);
|
|
||||||
//
|
|
||||||
noList.clearSelection();
|
|
||||||
yesList.clearSelection();
|
|
||||||
|
|
||||||
yesList.setSelectedIndex(endIndex);
|
|
||||||
//
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,8 +194,7 @@ public class ReportProcessor
|
||||||
}
|
}
|
||||||
else if (para.getP_Number() != null)
|
else if (para.getP_Number() != null)
|
||||||
{
|
{
|
||||||
if (para.getP_Number_To() != null
|
if (para.getP_Number_To() != null)
|
||||||
&& !para.getP_Number_To().equals(""))
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue