diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java b/zkwebui/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java index 678c9862fb..34685db17d 100755 --- a/zkwebui/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java +++ b/zkwebui/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java @@ -71,7 +71,7 @@ import org.zkoss.zul.Separator; * * @author Niraj Sohun * July 27, 2007 - * + * * @author Elaine Tan * @author Low Heng Sin */ @@ -79,7 +79,7 @@ import org.zkoss.zul.Separator; public class WAcctViewer extends Window implements EventListener { /** - * + * */ private static final long serialVersionUID = -223185724918504685L; @@ -96,7 +96,7 @@ public class WAcctViewer extends Window implements EventListener private Listbox sortBy2 = new Listbox(); private Listbox sortBy3 = new Listbox(); private Listbox sortBy4 = new Listbox(); - + private Button selRecord = new Button(); private Button selAcct = new Button(); private Button bQuery = new Button(); @@ -120,7 +120,7 @@ public class WAcctViewer extends Window implements EventListener private Label lsel6 = new Label(); private Label lsel7 = new Label(); private Label lsel8 = new Label(); - + private Label lacctSchema = new Label(); private Label lpostingType = new Label(); private Label lOrg = new Label(); @@ -128,10 +128,10 @@ public class WAcctViewer extends Window implements EventListener private Label lDate = new Label(); private Label lSort = new Label(); private Label lGroup = new Label(); - + private Datebox selDateFrom = new Datebox(); private Datebox selDateTo = new Datebox(); - + private Checkbox selDocument = new Checkbox(); private Checkbox displayQty = new Checkbox(); private Checkbox displaySourceAmt = new Checkbox(); @@ -141,7 +141,7 @@ public class WAcctViewer extends Window implements EventListener private Checkbox group3 = new Checkbox(); private Checkbox group4 = new Checkbox(); private Checkbox forcePost = new Checkbox(); - + private Tabbox tabbedPane = new Tabbox(); private Listbox table = new Listbox(); @@ -166,14 +166,14 @@ public class WAcctViewer extends Window implements EventListener private South pagingPanel; private Borderlayout resultPanel; - + /** Logger */ private static CLogger log = CLogger.getCLogger(WAcctViewer.class); /** * Default constructor */ - + public WAcctViewer() { this (0, 0, 0); @@ -186,13 +186,13 @@ public class WAcctViewer extends Window implements EventListener * @param AD_Table_ID Table * @param Record_ID Record */ - + public WAcctViewer(int AD_Client_ID, int AD_Table_ID, int Record_ID) { super (); - + log.info("AD_Table_ID=" + AD_Table_ID + ", Record_ID=" + Record_ID); - + //setDefaultCloseOperation(DISPOSE_ON_CLOSE); m_windowNo = SessionManager.getAppDesktop().registerWindow(this); m_data = new WAcctViewerData (Env.getCtx(), m_windowNo, AD_Client_ID, AD_Table_ID); @@ -209,7 +209,7 @@ public class WAcctViewer extends Window implements EventListener //dispose(); } } // AcctViewer - + /** * Static Init. *
@@ -221,120 +221,120 @@ public class WAcctViewer extends Window implements EventListener ** @throws Exception */ - + private void init() throws Exception - { + { // Selection Panel - + // Accounting Schema - + Hbox boxAcctSchema = new Hbox(); boxAcctSchema.setWidth("100%"); boxAcctSchema.setWidths("30%, 70%"); - + lacctSchema.setValue(Msg.translate(Env.getCtx(), "C_AcctSchema_ID")); selAcctSchema.setMold("select"); selAcctSchema.setRows(1); - + boxAcctSchema.appendChild(lacctSchema); boxAcctSchema.appendChild(selAcctSchema); - + Hbox boxSelDoc = new Hbox(); boxSelDoc.setWidth("100%"); boxSelDoc.setWidths("30%, 50%, 20%"); - + selDocument.setLabel(Msg.getMsg(Env.getCtx(), "SelectDocument")); selDocument.addEventListener(Events.ON_CHECK, this); selTable.setMold("select"); selTable.setRows(1); - + boxSelDoc.appendChild(selDocument); boxSelDoc.appendChild(selTable); boxSelDoc.appendChild(selRecord); - + // Posting Type - + Hbox boxPostingType = new Hbox(); boxPostingType.setWidth("100%"); boxPostingType.setWidths("30%, 70%"); - - lpostingType.setValue(Msg.translate(Env.getCtx(), "PostingType")); + + lpostingType.setValue(Msg.translate(Env.getCtx(), "PostingType")); selPostingType.setMold("select"); selPostingType.setRows(1); selPostingType.addEventListener(Events.ON_CLICK, this); - + boxPostingType.appendChild(lpostingType); boxPostingType.appendChild(selPostingType); // Date - + Hbox boxDate = new Hbox(); boxDate.setWidth("100%"); boxDate.setWidths("30%, 35%, 35%"); - + lDate.setValue(Msg.translate(Env.getCtx(), "DateAcct")); - + boxDate.appendChild(lDate); boxDate.appendChild(selDateFrom); boxDate.appendChild(selDateTo); - + // Organization Hbox boxOrg = new Hbox(); boxOrg.setWidth("100%"); boxOrg.setWidths("30%, 70%"); - + lOrg.setValue(Msg.translate(Env.getCtx(), "AD_Org_ID")); selOrg.setMold("select"); selOrg.setRows(1); selOrg.addEventListener(Events.ON_SELECT, this); - + boxOrg.appendChild(lOrg); boxOrg.appendChild(selOrg); - + // Account - + Hbox boxAcct = new Hbox(); boxAcct.setWidth("100%"); boxAcct.setWidths("30%, 70%"); - + lAcct.setValue(Msg.translate(Env.getCtx(), "Account_ID")); - + boxAcct.appendChild(lAcct); boxAcct.appendChild(selAcct); - + Hbox boxSel1 = new Hbox(); boxSel1.setWidth("100%"); boxSel1.setWidths("30%, 70%"); - + boxSel1.appendChild(lsel1); boxSel1.appendChild(sel1); - + Hbox boxSel2 = new Hbox(); boxSel2.setWidth("100%"); boxSel2.setWidths("30%, 70%"); - + boxSel2.appendChild(lsel2); boxSel2.appendChild(sel2); Hbox boxSel3 = new Hbox(); boxSel3.setWidth("100%"); boxSel3.setWidths("30%, 70%"); - + boxSel3.appendChild(lsel3); boxSel3.appendChild(sel3); Hbox boxSel4 = new Hbox(); boxSel4.setWidth("100%"); boxSel4.setWidths("30%, 70%"); - + boxSel4.appendChild(lsel4); boxSel4.appendChild(sel4); Hbox boxSel5 = new Hbox(); boxSel5.setWidth("100%"); boxSel5.setWidths("30%, 70%"); - + boxSel5.appendChild(lsel5); boxSel5.appendChild(sel5); @@ -358,7 +358,7 @@ public class WAcctViewer extends Window implements EventListener boxSel8.appendChild(lsel8); boxSel8.appendChild(sel8); - + selectionPanel.setWidth("100%"); selectionPanel.appendChild(boxAcctSchema); selectionPanel.appendChild(boxSelDoc); @@ -374,74 +374,74 @@ public class WAcctViewer extends Window implements EventListener selectionPanel.appendChild(boxSel6); selectionPanel.appendChild(boxSel7); selectionPanel.appendChild(boxSel8); - + //Display Panel - + // Display Document Info - + displayDocumentInfo.setLabel(Msg.getMsg(Env.getCtx(), "DisplayDocumentInfo")); displayDocumentInfo.addEventListener(Events.ON_CLICK, this); - + // Display Source Info - + displaySourceAmt.setLabel(Msg.getMsg(Env.getCtx(), "DisplaySourceInfo")); displaySourceAmt.addEventListener(Events.ON_CHECK, this); - + // Display Quantity - + displayQty.setLabel(Msg.getMsg(Env.getCtx(), "DisplayQty")); displayQty.addEventListener(Events.ON_CHECK, this); - + Hbox boxSortDisplay = new Hbox(); boxSortDisplay.setWidth("100%"); boxSortDisplay.setWidths("70%, 30%"); - + lSort.setValue(Msg.getMsg(Env.getCtx(), "SortBy")); lGroup.setValue(Msg.getMsg(Env.getCtx(), "GroupBy")); - + boxSortDisplay.appendChild(lSort); boxSortDisplay.appendChild(lGroup); - + Hbox boxSort1 = new Hbox(); boxSort1.setWidth("100%"); boxSort1.setWidths("70%, 30%"); - + sortBy1.setMold("select"); sortBy1.setRows(1); - + boxSort1.appendChild(sortBy1); boxSort1.appendChild(group1); - + Hbox boxSort2 = new Hbox(); boxSort2.setWidth("100%"); boxSort2.setWidths("70%, 30%"); - + sortBy2.setMold("select"); sortBy2.setRows(1); - + boxSort2.appendChild(sortBy2); boxSort2.appendChild(group2); - + Hbox boxSort3 = new Hbox(); boxSort3.setWidth("100%"); boxSort3.setWidths("70%, 30%"); - + sortBy3.setMold("select"); sortBy3.setRows(1); - + boxSort3.appendChild(sortBy3); boxSort3.appendChild(group3); - + Hbox boxSort4 = new Hbox(); boxSort4.setWidth("100%"); boxSort4.setWidths("70%, 30%"); - + sortBy4.setMold("select"); sortBy4.setRows(1); - + boxSort4.appendChild(sortBy4); boxSort4.appendChild(group4); - + displayPanel.setWidth("100%"); displayPanel.appendChild(displayDocumentInfo); displayPanel.appendChild(displaySourceAmt); @@ -451,21 +451,21 @@ public class WAcctViewer extends Window implements EventListener displayPanel.appendChild(boxSort2); displayPanel.appendChild(boxSort3); displayPanel.appendChild(boxSort4); - + //"images/InfoAccount16.png" Groupbox groupDisplay = new Groupbox(); Caption capDisplay = new Caption("Display"); groupDisplay.appendChild(capDisplay); groupDisplay.appendChild(displayPanel); - + Groupbox groupSelection = new Groupbox(); Caption capSelection = new Caption("Selection"); groupSelection.appendChild(capSelection); groupSelection.appendChild(selectionPanel); - + Hbox boxQueryPanel = new Hbox(); - + boxQueryPanel.setWidth("98%"); boxQueryPanel.setWidths("63%,1%,36%"); @@ -476,24 +476,24 @@ public class WAcctViewer extends Window implements EventListener boxQueryPanel.appendChild(groupDisplay); // South Panel - + bRePost.setLabel(Msg.getMsg(Env.getCtx(), "RePost")); bRePost.setTooltiptext(Msg.getMsg(Env.getCtx(), "RePostInfo")); bRePost.addEventListener(Events.ON_CLICK, this); bRePost.setVisible(false); - + forcePost.setLabel(Msg.getMsg(Env.getCtx(), "Force")); forcePost.setTooltiptext(Msg.getMsg(Env.getCtx(), "ForceInfo")); forcePost.setVisible(false); - + bQuery.setImage("/images/Refresh16.png"); bQuery.setTooltiptext(Msg.getMsg(Env.getCtx(), "Refresh")); bQuery.addEventListener(Events.ON_CLICK, this); - + bPrint.setImage("/images/Print16.png"); bPrint.setTooltiptext(Msg.getMsg(Env.getCtx(), "Print")); bPrint.addEventListener(Events.ON_CLICK, this); - + southPanel.setWidth("100%"); southPanel.setWidths("2%, 12%, 82%, 2%, 2%"); southPanel.appendChild(bRePost); @@ -501,15 +501,15 @@ public class WAcctViewer extends Window implements EventListener southPanel.appendChild(statusLine); southPanel.appendChild(bPrint); southPanel.appendChild(bQuery); - + // Result Tab - + resultPanel = new Borderlayout(); resultPanel.setStyle("position: absolute"); resultPanel.setWidth("97%"); resultPanel.setHeight("96%"); result.appendChild(resultPanel); - + Center resultCenter = new Center(); resultCenter.setFlex(true); resultPanel.appendChild(resultCenter); @@ -518,62 +518,62 @@ public class WAcctViewer extends Window implements EventListener table.setHeight("99%"); table.setStyle("position: absolute;"); resultCenter.appendChild(table); - + pagingPanel = new South(); resultPanel.appendChild(pagingPanel); pagingPanel.appendChild(paging); - + result.setWidth("100%"); result.setHeight("100%"); result.setStyle("position: relative"); - + paging.addEventListener("onPaging", this); paging.setAutohide(true); paging.setDetailed(true); - + // Query Tab - + query.setWidth("100%"); query.appendChild(boxQueryPanel); // Tabbox - + tabQuery.addEventListener(Events.ON_SELECT, this); tabQuery.setLabel(Msg.getMsg(Env.getCtx(), "ViewerQuery").replaceAll("[&]", "")); - + tabResult.addEventListener(Events.ON_SELECT, this); tabResult.setLabel(Msg.getMsg(Env.getCtx(), "ViewerResult").replaceAll("[&]", "")); - + tabs.appendChild(tabQuery); tabs.appendChild(tabResult); - + tabpanels.setWidth("100%"); tabpanels.appendChild(query); tabpanels.appendChild(result); - + tabbedPane.setWidth("100%"); tabbedPane.setHeight("100%"); tabbedPane.appendChild(tabs); tabbedPane.appendChild(tabpanels); - + Borderlayout layout = new Borderlayout(); layout.setParent(this); layout.setHeight("100%"); layout.setWidth("100%"); layout.setStyle("background-color: transparent"); - + Center center = new Center(); center.setParent(layout); center.setFlex(true); center.setStyle("background-color: transparent"); tabbedPane.setParent(center); - + South south = new South(); south.setParent(layout); south.setFlex(true); south.setStyle("background-color: transparent"); southPanel.setParent(south); - + this.setAttribute("mode", "modal"); this.setTitle("Posting"); this.setBorder("normal"); @@ -581,52 +581,53 @@ public class WAcctViewer extends Window implements EventListener this.setWidth("800px"); this.setHeight("500px"); this.setSizable(true); - + this.setMaximizable(true); + //tabbedPane.addEventListener(Events.ON_SELECT, this); } - + /** * Dynamic Init * * @param AD_Table_ID table * @param Record_ID record */ - + private void dynInit (int AD_Table_ID, int Record_ID) { m_data.fillAcctSchema(selAcctSchema ); selAcctSchema.addEventListener(Events.ON_SELECT, this); - + selAcctSchema.setSelectedIndex(0); actionAcctSchema(); m_data.fillTable(selTable); selTable.addEventListener(Events.ON_SELECT, this); - + selRecord.setImage("/images/Find16.png"); selRecord.addEventListener(Events.ON_CLICK, this); selRecord.setLabel(""); m_data.fillPostingType(selPostingType); selPostingType.setSelectedIndex(0); - + // Mandatory Elements - + m_data.fillOrg(selOrg); selAcct.setName("Account_ID"); selAcct.addEventListener(Events.ON_CLICK, this); selAcct.setLabel(""); selAcct.setImage("/images/Find16.png"); - + statusLine.setValue(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions")); - // Initial Query + // Initial Query selOrg.setSelectedIndex(0); sortBy1.setSelectedIndex(0); sortBy2.setSelectedIndex(0); sortBy3.setSelectedIndex(0); sortBy4.setSelectedIndex(0); - + // Document Select boolean haveDoc = (AD_Table_ID != 0 && Record_ID != 0); selDocument.setChecked(haveDoc); @@ -649,15 +650,15 @@ public class WAcctViewer extends Window implements EventListener selDocument.setChecked(haveDoc); actionDocument(); selTable.setSelectedIndex(0); - actionTable(); + actionTable(); } - } - + } + if (tabResult.isSelected()) stateChanged(); } // dynInit - - private boolean setSelectedTable(int AD_Table_ID, int Record_ID) + + private boolean setSelectedTable(int AD_Table_ID, int Record_ID) { int cnt = selTable.getItemCount(); ValueNamePair vp = null; @@ -670,40 +671,40 @@ public class WAcctViewer extends Window implements EventListener { selTable.setSelectedIndex(i); m_data.AD_Table_ID = AD_Table_ID; - + // Reset Record m_data.Record_ID = Record_ID; selRecord.setLabel(""); selRecord.setName(vp.getValue() + "_ID"); return true; } - } + } return false; } /** * Dispose */ - + public void dispose() { m_data.dispose(); m_data = null; this.detach(); } // dispose; - + /************************************************************************** * Tab Changed * @param e ChangeEvent */ - + public void stateChanged() { // log.info( "AcctViewer.stateChanged"); boolean visible = m_data.documentQuery && tabResult.isSelected(); - + bRePost.setVisible(visible); - + if (Ini.isPropertyBool(Ini.P_SHOW_ADVANCED)) forcePost.setVisible(visible); } // stateChanged @@ -712,13 +713,13 @@ public class WAcctViewer extends Window implements EventListener * Event Performed (Event Listener) * @param e Event */ - - public void onEvent(Event e) throws Exception + + public void onEvent(Event e) throws Exception { // log.info(e.getActionCommand()); - + Object source = e.getTarget(); - + if (source == tabResult) stateChanged(); else if (source == tabQuery) @@ -754,31 +755,31 @@ public class WAcctViewer extends Window implements EventListener /** * New Acct Schema */ - + private void actionAcctSchema() { Listitem listitem = selAcctSchema.getSelectedItem(); - + KeyNamePair kp = null; - + if (listitem != null) kp = (KeyNamePair)listitem.getValue(); - + if (kp == null) return; - + m_data.C_AcctSchema_ID = kp.getKey(); m_data.ASchema = MAcctSchema.get(Env.getCtx(), m_data.C_AcctSchema_ID); - + log.info(m_data.ASchema.toString()); // Sort Options - + sortBy1.getChildren().clear(); sortBy2.getChildren().clear(); sortBy3.getChildren().clear(); sortBy4.getChildren().clear(); - + sortAddItem(new ValueNamePair("","")); sortAddItem(new ValueNamePair("DateAcct", Msg.translate(Env.getCtx(), "DateAcct"))); sortAddItem(new ValueNamePair("DateTrx", Msg.translate(Env.getCtx(), "DateTrx"))); @@ -786,24 +787,24 @@ public class WAcctViewer extends Window implements EventListener Label[] labels = new Label[] {lsel1, lsel2, lsel3, lsel4, lsel5, lsel6, lsel7, lsel8}; Button[] buttons = new Button[] {sel1 , sel2, sel3, sel4, sel5, sel6, sel7, sel8}; - + int selectionIndex = 0; - + MAcctSchemaElement[] elements = m_data.ASchema.getAcctSchemaElements(); - + for (int i = 0; i < elements.length && selectionIndex < labels.length; i++) { MAcctSchemaElement ase = elements[i]; String columnName = ase.getColumnName(); String displayColumnName = ase.getDisplayColumnName(); - + // Add Sort Option - + sortAddItem(new ValueNamePair(columnName, Msg.translate(Env.getCtx(), displayColumnName))); - + // Additional Elements - - if (!ase.isElementType(X_C_AcctSchema_Element.ELEMENTTYPE_Organization) + + if (!ase.isElementType(X_C_AcctSchema_Element.ELEMENTTYPE_Organization) && !ase.isElementType(X_C_AcctSchema_Element.ELEMENTTYPE_Account)) { labels[selectionIndex].setValue(Msg.translate(Env.getCtx(), displayColumnName)); @@ -816,21 +817,21 @@ public class WAcctViewer extends Window implements EventListener selectionIndex++; } } - + // don't show remaining - + while (selectionIndex < labels.length) { labels[selectionIndex].setVisible(false); buttons[selectionIndex++].setVisible(false); } } // actionAcctSchema - + /** * Add to Sort * @param vn name pair */ - + private void sortAddItem(ValueNamePair vn) { sortBy1.appendItem(vn.getName(), vn); @@ -842,39 +843,39 @@ public class WAcctViewer extends Window implements EventListener /** * Query */ - + private void actionQuery() { // Parameter Info - + StringBuffer para = new StringBuffer(); - + // Reset Selection Data - + m_data.C_AcctSchema_ID = 0; m_data.AD_Org_ID = 0; // Save Selection Choices - + Listitem listitem = selAcctSchema.getSelectedItem(); - + KeyNamePair kp = null; - + if (listitem != null) kp = (KeyNamePair)listitem.getValue(); - + if (kp != null) m_data.C_AcctSchema_ID = kp.getKey(); - + para.append("C_AcctSchema_ID=").append(m_data.C_AcctSchema_ID); listitem = selPostingType.getSelectedItem(); - + ValueNamePair vp = null; - + if (listitem != null) vp = (ValueNamePair)listitem.getValue(); - else + else return; m_data.PostingType = vp.getValue(); @@ -884,31 +885,31 @@ public class WAcctViewer extends Window implements EventListener m_data.documentQuery = selDocument.isChecked(); para.append(", DocumentQuery=").append(m_data.documentQuery); - + if (selDocument.isChecked()) { if (m_data.AD_Table_ID == 0 || m_data.Record_ID == 0) return; - + para.append(", AD_Table_ID=").append(m_data.AD_Table_ID) .append(", Record_ID=").append(m_data.Record_ID); } else { - m_data.DateFrom = selDateFrom.getValue() != null + m_data.DateFrom = selDateFrom.getValue() != null ? new Timestamp(selDateFrom.getValue().getTime()) : null; para.append(", DateFrom=").append(m_data.DateFrom); m_data.DateTo = selDateTo.getValue() != null ? new Timestamp(selDateTo.getValue().getTime()) : null; para.append(", DateTo=").append(m_data.DateTo); - + listitem = selOrg.getSelectedItem(); - + if (listitem != null) kp = (KeyNamePair)listitem.getValue(); else kp = null; - + if (kp != null) m_data.AD_Org_ID = kp.getKey(); para.append(", AD_Org_ID=").append(m_data.AD_Org_ID); @@ -919,7 +920,7 @@ public class WAcctViewer extends Window implements EventListener } // Save Display Choices - + m_data.displayQty = displayQty.isChecked(); para.append(" - Display Qty=").append(m_data.displayQty); m_data.displaySourceAmt = displaySourceAmt.isChecked(); @@ -929,7 +930,7 @@ public class WAcctViewer extends Window implements EventListener listitem = sortBy1.getSelectedItem(); vp = null; - + if (listitem != null) { vp = (ValueNamePair)listitem.getValue(); @@ -940,10 +941,10 @@ public class WAcctViewer extends Window implements EventListener para.append(" - Sorting: ").append(m_data.sortBy1).append("/").append(m_data.group1); } } - + listitem = sortBy2.getSelectedItem(); vp = null; - + if (listitem != null) { vp = (ValueNamePair)listitem.getValue(); @@ -954,10 +955,10 @@ public class WAcctViewer extends Window implements EventListener para.append(", ").append(m_data.sortBy2).append("/").append(m_data.group2); } } - + listitem = sortBy3.getSelectedItem(); vp = null; - + if (listitem != null) { vp = (ValueNamePair)listitem.getValue(); @@ -968,10 +969,10 @@ public class WAcctViewer extends Window implements EventListener para.append(", ").append(m_data.sortBy3).append("/").append(m_data.group3); } } - + listitem = sortBy4.getSelectedItem(); vp = null; - + if (listitem != null) { vp = (ValueNamePair)listitem.getValue(); @@ -989,16 +990,16 @@ public class WAcctViewer extends Window implements EventListener log.config(para.toString()); // Switch to Result pane - + tabbedPane.setSelectedIndex(1); // Set TableModel with Query - + RModel rmodel = m_data.query(); m_queryData = rmodel.getRows(); List