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> list = null; paging.setPageSize(PAGE_SIZE); - if (m_queryData.size() > PAGE_SIZE) + if (m_queryData.size() > PAGE_SIZE) { list = m_queryData.subList(0, PAGE_SIZE); paging.setTotalSize(m_queryData.size()); @@ -1011,47 +1012,47 @@ public class WAcctViewer extends Window implements EventListener pagingPanel.setVisible(false); } paging.setActivePage(0); - + ListModelTable listmodeltable = new ListModelTable(list); - + if (table.getListhead() == null) { Listhead listhead = new Listhead(); listhead.setSizable(true); - + for (int i = 0; i < rmodel.getColumnCount(); i++) { Listheader listheader = new Listheader(rmodel.getColumnName(i)); listheader.setTooltiptext(rmodel.getColumnName(i)); listhead.appendChild(listheader); } - + table.appendChild(listhead); } // Elaine 2008/07/28 else { Listhead listhead = table.getListhead(); - + // remove existing column header listhead.getChildren().clear(); - + // add in new column header for (int i = 0; i < rmodel.getColumnCount(); i++) { Listheader listheader = new Listheader(rmodel.getColumnName(i)); listhead.appendChild(listheader); - } + } } // table.getItems().clear(); - + table.setItemRenderer(new WListItemRenderer()); - table.setModel(listmodeltable); - + table.setModel(listmodeltable); + resultPanel.invalidate(); - + bQuery.setEnabled(true); statusLine.setValue(" " + Msg.getMsg(Env.getCtx(), "ViewerOptions")); } // actionQuery @@ -1059,7 +1060,7 @@ public class WAcctViewer extends Window implements EventListener /** * Document selection */ - + private void actionDocument() { boolean doc = selDocument.isChecked(); @@ -1083,22 +1084,22 @@ public class WAcctViewer extends Window implements EventListener /** * Save Table selection (reset Record selection) */ - + private void actionTable() { Listitem listitem = selTable.getSelectedItem(); ValueNamePair vp = null; - + if (listitem != null) vp = (ValueNamePair)listitem.getValue(); else return; - + m_data.AD_Table_ID = ((Integer)m_data.tableInfo.get(vp.getValue())).intValue(); log.config(vp.getValue() + " = " + m_data.AD_Table_ID); - + // Reset Record - + m_data.Record_ID = 0; selRecord.setLabel(""); selRecord.setName(vp.getValue() + "_ID"); @@ -1109,16 +1110,16 @@ public class WAcctViewer extends Window implements EventListener * * @param button pressed button * @return ID - * @throws Exception + * @throws Exception */ - + private int actionButton(Button button) throws Exception { String keyColumn = button.getName(); log.info(keyColumn); String whereClause = ""; // Elaine 2008/07/28 String lookupColumn = keyColumn; - + if ("Account_ID".equals(keyColumn)) { lookupColumn = "C_ElementValue_ID"; @@ -1133,7 +1134,7 @@ public class WAcctViewer extends Window implements EventListener lookupColumn = "C_ElementValue_ID"; MAcctSchemaElement ase = m_data.ASchema .getAcctSchemaElement(X_C_AcctSchema_Element.ELEMENTTYPE_UserList1); - + if (ase != null) whereClause += " AND C_Element_ID=" + ase.getC_Element_ID(); } @@ -1142,18 +1143,18 @@ public class WAcctViewer extends Window implements EventListener lookupColumn = "C_ElementValue_ID"; MAcctSchemaElement ase = m_data.ASchema .getAcctSchemaElement(X_C_AcctSchema_Element.ELEMENTTYPE_UserList2); - + if (ase != null) whereClause += " AND C_Element_ID=" + ase.getC_Element_ID(); } else if (selDocument.isChecked()) whereClause = ""; - + String tableName = lookupColumn.substring(0, lookupColumn.length()-3); whereClause = tableName + ".IsSummary='N'" + whereClause; // Elaine 2008/07/28 - + InfoPanel info = InfoPanel.create(m_data.WindowNo, tableName, lookupColumn, "", false, whereClause); - + if (!info.loadedOK()) { //info.dispose(); @@ -1165,11 +1166,11 @@ public class WAcctViewer extends Window implements EventListener info.setVisible(true); AEnv.showWindow(info); - + String selectSQL = info.getSelectedSQL(); // C_Project_ID=100 or "" Integer key = (Integer)info.getSelectedKey(); info = null; - + if (selectSQL == null || selectSQL.length() == 0 || key == null) { button.setLabel(""); @@ -1178,7 +1179,7 @@ public class WAcctViewer extends Window implements EventListener } // Save for query - + log.config(keyColumn + " - " + key); if (button == selRecord) // Record_ID m_data.Record_ID = key.intValue(); @@ -1194,10 +1195,10 @@ public class WAcctViewer extends Window implements EventListener /** * RePost Record */ - + private void actionRePost() { - if (m_data.documentQuery + if (m_data.documentQuery && m_data.AD_Table_ID != 0 && m_data.Record_ID != 0 && FDialog.ask(m_data.WindowNo, this, "PostImmediate?")) { @@ -1208,7 +1209,7 @@ public class WAcctViewer extends Window implements EventListener //setCursor(Cursor.getDefaultCursor()); if (error != null) FDialog.error(0, this, "PostingError-N", error); - + actionQuery(); } } // actionRePost diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java index 8955252851..5c9c826375 100644 --- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java +++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java @@ -1775,13 +1775,23 @@ public abstract class AbstractADWindowPanel extends AbstractUIPart implements To } } + // try to get table and record id from context data (eg for unposted view) + // otherwise use current table/record + int tableId = Env.getContextAsInt(ctx, curWindowNo, "AD_Table_ID", true); + int recordId = Env.getContextAsInt(ctx, curWindowNo, "Record_ID", true); + if ( tableId == 0 || recordId == 0 ) + { + tableId = curTab.getAD_Table_ID(); + recordId = curTab.getRecord_ID(); + } + // Check Post Status Object ps = curTab.getValue("Posted"); if (ps != null && ps.equals("Y")) { new org.adempiere.webui.acct.WAcctViewer(Env.getContextAsInt (ctx, curWindowNo, "AD_Client_ID"), - curTab.getAD_Table_ID(), curTab.getRecord_ID()); + tableId, recordId); } else { @@ -1790,12 +1800,12 @@ public abstract class AbstractADWindowPanel extends AbstractUIPart implements To boolean force = ps != null && !ps.equals ("N"); // force when problems String error = AEnv.postImmediate (curWindowNo, Env.getAD_Client_ID(ctx), - curTab.getAD_Table_ID(), curTab.getRecord_ID(), force); - - curTab.dataRefresh(); + tableId, recordId, force); if (error != null) FDialog.error(curWindowNo, null, "PostingError-N", error); + + onRefresh(); } } return;