diff --git a/migration/i1.0a-release/oracle/101212102127_IDEMPIERE-293.sql b/migration/i1.0a-release/oracle/201212102127_IDEMPIERE-293.sql similarity index 98% rename from migration/i1.0a-release/oracle/101212102127_IDEMPIERE-293.sql rename to migration/i1.0a-release/oracle/201212102127_IDEMPIERE-293.sql index 421232e1c4..45f4fd7c16 100644 --- a/migration/i1.0a-release/oracle/101212102127_IDEMPIERE-293.sql +++ b/migration/i1.0a-release/oracle/201212102127_IDEMPIERE-293.sql @@ -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) ; -SELECT register_migration_script('101212102127_IDEMPIERE-293.sql') FROM dual +SELECT register_migration_script('201212102127_IDEMPIERE-293.sql') FROM dual ; diff --git a/migration/i1.0a-release/postgresql/101212102127_IDEMPIERE-293.sql b/migration/i1.0a-release/postgresql/201212102127_IDEMPIERE-293.sql similarity index 98% rename from migration/i1.0a-release/postgresql/101212102127_IDEMPIERE-293.sql rename to migration/i1.0a-release/postgresql/201212102127_IDEMPIERE-293.sql index 112baecab2..b5a3847656 100644 --- a/migration/i1.0a-release/postgresql/101212102127_IDEMPIERE-293.sql +++ b/migration/i1.0a-release/postgresql/201212102127_IDEMPIERE-293.sql @@ -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) ; -SELECT register_migration_script('101212102127_IDEMPIERE-293.sql') FROM dual +SELECT register_migration_script('201212102127_IDEMPIERE-293.sql') FROM dual ; diff --git a/org.adempiere.base/src/org/compiere/model/ArchiveDB.java b/org.adempiere.base/src/org/compiere/model/ArchiveDB.java index 455498d024..56b45b3234 100644 --- a/org.adempiere.base/src/org/compiere/model/ArchiveDB.java +++ b/org.adempiere.base/src/org/compiere/model/ArchiveDB.java @@ -107,4 +107,10 @@ public class ArchiveDB implements IArchiveStore { archive.setByteData(deflatedData); } + @Override + public boolean deleteArchive(MArchive archive, MStorageProvider prov) { + + return true; + } + } diff --git a/org.adempiere.base/src/org/compiere/model/ArchiveFileSystem.java b/org.adempiere.base/src/org/compiere/model/ArchiveFileSystem.java index c7b38dac9a..172a1353dc 100644 --- a/org.adempiere.base/src/org/compiere/model/ArchiveFileSystem.java +++ b/org.adempiere.base/src/org/compiere/model/ArchiveFileSystem.java @@ -163,7 +163,7 @@ public class ArchiveFileSystem implements IArchiveStore { BufferedOutputStream out = null; try { // create destination folder - StringBuilder msgfile = new StringBuilder().append(archivePathRoot).append(File.separator) + StringBuilder msgfile = new StringBuilder().append(archivePathRoot) .append(archive.getArchivePathSnippet()); final File destFolder = new File(msgfile.toString()); if (!destFolder.exists()) { @@ -226,4 +226,23 @@ public class ArchiveFileSystem implements IArchiveStore { 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; + } + } diff --git a/org.adempiere.base/src/org/compiere/model/GridTable.java b/org.adempiere.base/src/org/compiere/model/GridTable.java index 391dbe77b3..6069e08b2a 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTable.java +++ b/org.adempiere.base/src/org/compiere/model/GridTable.java @@ -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"; @@ -109,7 +109,7 @@ public class GridTable extends AbstractTableModel * @param TableName table name * @param WindowNo window 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, boolean withAccessControl) @@ -878,7 +878,6 @@ public class GridTable extends AbstractTableModel * @param col col * @param ascending ascending */ - @SuppressWarnings("unchecked") public void sort (int col, boolean ascending) { log.info("#" + col + " " + ascending); @@ -1144,7 +1143,7 @@ public class GridTable extends AbstractTableModel Collections.reverse(toremove); for(Integer row : toremove) { - m_sort.remove(row); + m_sort.remove(row.intValue()); } } } diff --git a/org.adempiere.base/src/org/compiere/model/IArchiveStore.java b/org.adempiere.base/src/org/compiere/model/IArchiveStore.java index f3a7ea92ea..7a6a598be2 100644 --- a/org.adempiere.base/src/org/compiere/model/IArchiveStore.java +++ b/org.adempiere.base/src/org/compiere/model/IArchiveStore.java @@ -19,5 +19,6 @@ public interface IArchiveStore { public void save(MArchive archive, MStorageProvider prov,byte[] inflatedData); + public boolean deleteArchive(MArchive archive, MStorageProvider prov); } diff --git a/org.adempiere.base/src/org/compiere/model/MArchive.java b/org.adempiere.base/src/org/compiere/model/MArchive.java index dd496b914e..f328e681db 100644 --- a/org.adempiere.base/src/org/compiere/model/MArchive.java +++ b/org.adempiere.base/src/org/compiere/model/MArchive.java @@ -275,5 +275,14 @@ public class MArchive extends X_AD_Archive { log.fine(toString()); return true; } // beforeSave + + protected boolean beforeDelete () + { + IArchiveStore prov = provider.getArchiveStore(); + if (prov != null) + return prov.deleteArchive(this,provider); + return true; + + } } // MArchive diff --git a/org.adempiere.base/src/org/compiere/model/MAssetChange.java b/org.adempiere.base/src/org/compiere/model/MAssetChange.java index d4e6ed2440..19cb4b6218 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetChange.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetChange.java @@ -28,8 +28,11 @@ import org.compiere.util.CLogger; */ public class MAssetChange extends X_A_Asset_Change { - private static final long serialVersionUID = 1L; - + /** + * + */ + private static final long serialVersionUID = 4083373951793617528L; + /** Static Logger */ private static CLogger s_log = CLogger.getCLogger(MAssetChange.class); @@ -67,11 +70,6 @@ public class MAssetChange extends X_A_Asset_Change return true; } // 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) { MAssetChange change = new MAssetChange (assetAdd.getCtx(), 0, assetAdd.get_TrxName()); change.setAD_Org_ID(assetAdd.getAD_Org_ID()); //@win added diff --git a/org.adempiere.base/src/org/compiere/model/MAssetType.java b/org.adempiere.base/src/org/compiere/model/MAssetType.java index 52dcb79f24..34448fd8b4 100644 --- a/org.adempiere.base/src/org/compiere/model/MAssetType.java +++ b/org.adempiere.base/src/org/compiere/model/MAssetType.java @@ -3,10 +3,6 @@ package org.compiere.model; import java.sql.ResultSet; 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.CCache; import org.compiere.util.Env; @@ -17,17 +13,14 @@ import org.compiere.util.Env; */ 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"; - - public static final int A_ASSET_TYPE_ID_MFX = 1; - public static final int A_ASSET_TYPE_ID_INV = 2; - public static final int A_ASSET_TYPE_ID_SUP = 3; - /** Obiecte tert */ - public static final int A_ASSET_TYPE_ID_OIN = 4; - + /** + * + */ + private static final long serialVersionUID = -1371478760221357780L; + + private static final String A_ASSET_TYPE_MFX = "MFX"; // HARDCODED - you must create a Asset Type with Value=MFX to indicate is Fixed Asset + 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 interface Model { /** Get Context */ @@ -98,17 +91,13 @@ public class MAssetType extends X_A_Asset_Type public static boolean isFixedAsset(int A_Asset_ID) { - final String whereClause = MAsset.COLUMNNAME_A_Asset_ID+"=?" - +" AND "+MAsset.COLUMNNAME_A_AssetType+"=?"; - - return new Query(Env.getCtx(), MAsset.Table_Name, whereClause, null) - .setParameters(new Object[]{A_Asset_ID, A_ASSET_TYPE_MFX}) - .match(); + MAsset asset = MAsset.get(Env.getCtx(), A_Asset_ID, null); + return isFixedAsset(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) @@ -150,7 +139,7 @@ public class MAssetType extends X_A_Asset_Type /** * Validate a Model * @param m model - * @thorows ContextUserException + * @throws ContextUserException */ public static void validate(Model m) { diff --git a/org.adempiere.base/src/org/compiere/model/MClientShare.java b/org.adempiere.base/src/org/compiere/model/MClientShare.java index d4089dc156..663aa1949e 100644 --- a/org.adempiere.base/src/org/compiere/model/MClientShare.java +++ b/org.adempiere.base/src/org/compiere/model/MClientShare.java @@ -117,7 +117,7 @@ public class MClientShare extends X_AD_ClientShare s_shares.put("0_0", Boolean.TRUE); } // load 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 /** Shared Info */ diff --git a/org.adempiere.base/src/org/compiere/model/MEntityType.java b/org.adempiere.base/src/org/compiere/model/MEntityType.java index 06d01664d2..1b018b02fa 100644 --- a/org.adempiere.base/src/org/compiere/model/MEntityType.java +++ b/org.adempiere.base/src/org/compiere/model/MEntityType.java @@ -51,7 +51,7 @@ public class MEntityType extends X_AD_EntityType * @param ctx context * @return entity type array */ - static public MEntityType[] getEntityTypes(Properties ctx) + static synchronized public MEntityType[] getEntityTypes(Properties ctx) { if (s_entityTypes != null) return s_entityTypes; diff --git a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java index ca75e9d1d3..4d80ac42ae 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java +++ b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java @@ -363,7 +363,7 @@ public class MLookupFactory { // Try cache - assume no language change 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) { s_log.finest("Cache: " + retValue); @@ -687,8 +687,8 @@ public class MLookupFactory //try cache StringBuilder cacheKey = new StringBuilder().append(Env.getAD_Client_ID(ctx)).append("|").append(TableName).append(".").append(KeyColumn); - if (s_cacheRefTable.containsKey(cacheKey)) - return s_cacheRefTable.get(cacheKey).cloneIt(); + if (s_cacheRefTable.containsKey(cacheKey.toString())) + return s_cacheRefTable.get(cacheKey.toString()).cloneIt(); ArrayList list = getListIdentifiers(TableName); diff --git a/org.adempiere.base/src/org/compiere/model/MMailText.java b/org.adempiere.base/src/org/compiere/model/MMailText.java index c42a938faf..27c4843d7c 100644 --- a/org.adempiere.base/src/org/compiere/model/MMailText.java +++ b/org.adempiere.base/src/org/compiere/model/MMailText.java @@ -308,7 +308,7 @@ public class MMailText extends X_R_MailText if (m_bpartner != null && m_bpartner.getAD_Language() != null) { 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) { trl = getTranslation(m_bpartner.getAD_Language()); diff --git a/org.adempiere.base/src/org/compiere/model/MProject.java b/org.adempiere.base/src/org/compiere/model/MProject.java index d2c44f745f..b649473ff6 100644 --- a/org.adempiere.base/src/org/compiere/model/MProject.java +++ b/org.adempiere.base/src/org/compiere/model/MProject.java @@ -472,9 +472,10 @@ public class MProject extends X_C_Project public MInvoice[] getMInvoices(){ StringBuilder sb = new StringBuilder(); sb.append(MInvoice.COLUMNNAME_C_Project_ID).append("=?"); - Query qry = new Query(getCtx(), MInvoice.Table_Name, sb.toString(), get_TrxName()); - qry.setParameters(getC_Project_ID()); - return (MInvoice[]) qry.list().toArray(); + List list = new Query(getCtx(), MInvoice.Table_Name, sb.toString(), get_TrxName()) + .setParameters(getC_Project_ID()) + .list(); + return list.toArray(new MInvoice[list.size()]); } } // MProject diff --git a/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java b/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java index f5ff17f00c..1ca397d1a5 100644 --- a/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java +++ b/org.adempiere.base/src/org/globalqss/process/GLJournalGenerate.java @@ -55,6 +55,8 @@ import org.compiere.process.SvrProcess; import org.compiere.report.MReportTree; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.Language; +import org.compiere.util.Msg; /** * GL Journal Generator @@ -410,6 +412,9 @@ public class GLJournalGenerate extends SvrProcess j.setAD_Org_ID(journalGenerator.getAD_Org_ID()); else 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_DocType_ID(journalGenerator.getC_DocType_ID()); j.setControlAmt(Env.ZERO); @@ -512,11 +517,14 @@ public class GLJournalGenerate extends SvrProcess if (j != null && p_DocAction != null) { // 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(); } + + 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 private BigDecimal applyMultiplierAndFactor(BigDecimal sourceAmt, BigDecimal amtMultiplier, int roundFactor) { diff --git a/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java b/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java index e33088701d..40003792ef 100644 --- a/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java +++ b/org.adempiere.server/src/main/server/org/compiere/server/AdempiereServerMgr.java @@ -49,7 +49,7 @@ public class AdempiereServerMgr * Get Adempiere Server Manager * @return mgr */ - public static AdempiereServerMgr get() + public synchronized static AdempiereServerMgr get() { if (m_serverMgr == null) { @@ -62,7 +62,7 @@ public class AdempiereServerMgr } // get /** Singleton */ - private static AdempiereServerMgr m_serverMgr = null; + private static AdempiereServerMgr m_serverMgr = null; /** Logger */ protected CLogger log = CLogger.getCLogger(getClass()); diff --git a/org.adempiere.ui.swing/src/org/compiere/minigrid/MiniTable.java b/org.adempiere.ui.swing/src/org/compiere/minigrid/MiniTable.java index 76b69d6846..fb7e4692d8 100644 --- a/org.adempiere.ui.swing/src/org/compiere/minigrid/MiniTable.java +++ b/org.adempiere.ui.swing/src/org/compiere/minigrid/MiniTable.java @@ -798,7 +798,7 @@ public class MiniTable extends CTable implements IMiniTable if(subtotal == null) subtotal = new Double(0); if(amt == null ) - subtotal = new Double(0); + amt = new Double(0); total[col] = subtotal + amt; } @@ -873,7 +873,7 @@ public class MiniTable extends CTable implements IMiniTable if(subtotal == null) subtotal = new Double(0); if(amt == null ) - subtotal = new Double(0); + amt = new Double(0); total[col] = subtotal + amt; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java index bc49c3d179..8aaed1568d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WArchiveViewer.java @@ -26,6 +26,7 @@ import java.sql.Timestamp; import java.util.Date; import java.util.logging.Level; +import org.adempiere.util.Callback; import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Checkbox; 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.IFormController; import org.adempiere.webui.session.SessionManager; +import org.adempiere.webui.window.FDialog; import org.compiere.apps.form.Archive; import org.compiere.model.MArchive; import org.compiere.model.MLookup; @@ -111,6 +113,7 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis private Textbox helpField = new Textbox(); private ConfirmPanel confirmPanel = new ConfirmPanel(true); private Button updateArchive = new Button(); + private Button deleteArchive = new Button(); private Tabbox tabbox = new Tabbox(); 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.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.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh")); bRefresh.addEventListener(Events.ON_CLICK, this); - bBack.setImage("/images/Parent24.png"); + bBack.setImage("/images/wfBack24.png"); bBack.setTooltiptext(Msg.getMsg(Env.getCtx(), "Previous")); bBack.addEventListener(Events.ON_CLICK, this); - bNext.setImage("/images/Detail24.png"); + bNext.setImage("/images/wfNext24.png"); bNext.setTooltiptext(Msg.getMsg(Env.getCtx(), "Next")); bNext.addEventListener(Events.ON_CLICK, this); @@ -405,8 +412,9 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis row.setSpans("4"); div = new Div(); div.setAlign("right"); + div.appendChild(deleteArchive); div.appendChild(bRefresh); - div.appendChild(updateArchive); + div.appendChild(updateArchive); row.appendChild(div); createdByField.setReadonly(true); @@ -449,6 +457,8 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis if (e.getTarget() == updateArchive) cmd_updateArchive(); + else if(e.getTarget() == deleteArchive) + cmd_deleteArchive(); else if (e.getTarget().getId().equals(ConfirmPanel.A_CANCEL)) SessionManager.getAppDesktop().closeActiveWindow(); 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 */ - private void updateQDisplay() { boolean reports = reportField.isChecked(); @@ -503,6 +506,23 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis bPartnerField.setVisible(!reports); } // updateQDisplay + public void cmd_deleteArchive(){ + FDialog.ask(m_WindowNo, this.form, "DeleteRecord?", new Callback() { + + @Override + public void onCallback(Boolean result) + { + if (result) + { + MArchive ar = m_archives[m_index]; + ar.delete(true); + tabbox.setSelectedIndex(0); + dynInit(); + } + } + }); + } + /** * Update View Display * @param next show next Archive @@ -526,13 +546,14 @@ public class WArchiveViewer extends Archive implements IFormController, EventLis bBack.setEnabled(m_index > 0); bNext.setEnabled(m_index < m_archives.length-1); + deleteArchive.setEnabled(m_archives.length > 0); updateArchive.setEnabled(false); log.info("Index=" + m_index + ", Length=" + m_archives.length); if (m_archives.length == 0) { - positionInfo.setValue("No Record Found"); + positionInfo.setValue(Msg.getMsg(Env.getCtx(), "NoRecordsFound")); createdByField.setText(""); createdField.setValue(null); nameField.setText(""); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java index 09908fabf6..7a1169bc7e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/CustomizeGridViewPanel.java @@ -20,6 +20,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -64,8 +65,11 @@ import org.zkoss.zul.Vbox; */ public class CustomizeGridViewPanel extends Panel { + /** + * + */ + private static final long serialVersionUID = -3190425241947591357L; - private static final long serialVersionUID = 4289328613547509587L; private Map m_columnsWidth; ArrayList tableSeqs; GridView gridPanel = null; @@ -131,9 +135,6 @@ public class CustomizeGridViewPanel extends Panel noLabel.setValue(Msg.getMsg(Env.getCtx(), "Available")); yesLabel.setValue(Msg.getMsg(Env.getCtx(), "Selected")); - - yesList.setHeight("100%"); - noList.setHeight("100%"); yesList.setVflex(true); noList.setVflex(true); @@ -157,9 +158,9 @@ public class CustomizeGridViewPanel extends Panel migrateValueAcrossLists(event); } }; - yesList.setSeltype("multiple"); - noList.setSeltype("multiple"); - + yesModel.setMultiple(true); + noModel.setMultiple(true); + bAdd.setImage("images/Next24.png"); bAdd.addEventListener(Events.ON_CLICK, actionListener); @@ -396,14 +397,19 @@ public class CustomizeGridViewPanel extends Panel } Listbox listFrom = (source == bAdd || source == noList) ? noList : yesList; Listbox listTo = (source == bAdd || source == noList) ? yesList : noList; - SimpleListModel lmFrom = (source == bAdd || source == noList) ? - noModel : yesModel; - SimpleListModel lmTo = (lmFrom == yesModel) ? noModel : yesModel; + migrateLists (listFrom,listTo); + } + + void migrateLists (Listbox listFrom , Listbox listTo) + { + int index = 0; + SimpleListModel lmFrom = (SimpleListModel) listFrom.getModel(); + SimpleListModel lmTo = (SimpleListModel) listTo.getModel(); Set selectedItems = listFrom.getSelectedItems(); List selObjects = new ArrayList(); for (Object obj : selectedItems) { ListItem listItem = (ListItem) obj; - int index = listFrom.getIndexOfItem(listItem); + index = listFrom.getIndexOfItem(listItem); ListElement selObject = (ListElement)lmFrom.getElementAt(index); selObjects.add(selObject); } @@ -415,19 +421,18 @@ public class CustomizeGridViewPanel extends Panel lmFrom.removeElement(selObject); lmTo.addElement(selObject); } - + index = 0; for (ListElement selObject : selObjects) { - int index = lmTo.indexOf(selObject); + index = lmTo.indexOf(selObject); listTo.setSelectedIndex(index); } if ( listTo.getSelectedItem() != null) { AuFocus focus = new AuFocus(listTo.getSelectedItem()); Clients.response(focus); - } - } // migrateValueAcrossLists - + } + } /** * Move within Yes List @@ -444,6 +449,7 @@ public class CustomizeGridViewPanel extends Panel return; // int[] indices = yesList.getSelectedIndices(); + Arrays.sort(indices); // boolean change = false; // @@ -665,31 +671,16 @@ public class CustomizeGridViewPanel extends Panel public void onEvent(Event event) throws Exception { if (event instanceof DropEvent) - { + { DropEvent me = (DropEvent) event; - ListItem endItem = (ListItem) me.getTarget(); - if (!(endItem.getListbox() == yesList)) - { - return; // move within noList - } - 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); - // } } } diff --git a/org.idempiere.webservices/WEB-INF/src/net/sf/compilo/report/ReportProcessor.java b/org.idempiere.webservices/WEB-INF/src/net/sf/compilo/report/ReportProcessor.java index 929b70b9fd..9dffecbefe 100644 --- a/org.idempiere.webservices/WEB-INF/src/net/sf/compilo/report/ReportProcessor.java +++ b/org.idempiere.webservices/WEB-INF/src/net/sf/compilo/report/ReportProcessor.java @@ -194,8 +194,7 @@ public class ReportProcessor } else if (para.getP_Number() != null) { - if (para.getP_Number_To() != null - && !para.getP_Number_To().equals("")) + if (para.getP_Number_To() != null) { try {