diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoBPartnerWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoBPartnerWindow.java index 1d2cce7b24..2876c5e797 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoBPartnerWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoBPartnerWindow.java @@ -78,9 +78,12 @@ public class InfoBPartnerWindow extends InfoWindow { ih = null; } // showHistory + /** + * {@inheritDoc} + * set value of checkbox IsVendor and IsCustomer by IsSOTrx flag + */ @Override - protected void createParameterPanel() { - super.createParameterPanel(); + protected void initParameters() { String isSOTrx = Env.getContext(Env.getCtx(), p_WindowNo, "IsSOTrx"); if (!isLookup() && Util.isEmpty(isSOTrx)) { isSOTrx = "Y"; @@ -88,6 +91,7 @@ public class InfoBPartnerWindow extends InfoWindow { if (!Util.isEmpty(isSOTrx)) { if ("Y".equals(isSOTrx)) { + // set value of IsCustomer checkbox for (WEditor editor : editors) { if (editor.getGridField() != null && editor.getGridField().getColumnName().equals("IsCustomer")) { editor.setValue("Y"); @@ -95,6 +99,7 @@ public class InfoBPartnerWindow extends InfoWindow { } } } else if ("N".equals(isSOTrx)) { + // set value of IsVendor checkbox for (WEditor editor : editors) { if (editor.getGridField() != null && editor.getGridField().getColumnName().equals("IsVendor")) { editor.setValue("Y"); @@ -103,7 +108,6 @@ public class InfoBPartnerWindow extends InfoWindow { } } } - dynamicDisplay(null); } @Override diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInOutWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInOutWindow.java index 8636d9ac4b..d9a8b7f942 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInOutWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInOutWindow.java @@ -51,14 +51,18 @@ public class InfoInOutWindow extends InfoWindow { whereClause, AD_InfoWindow_ID, lookup); } + /** + * {@inheritDoc} + * set value of checkbox isSoTrx + */ @Override - protected void createParameterPanel() { - super.createParameterPanel(); + protected void initParameters() { String isSOTrx = Env.getContext(Env.getCtx(), p_WindowNo, "IsSOTrx"); if (!isLookup() && Util.isEmpty(isSOTrx)) { isSOTrx = "Y"; } + // set value of isSoTrx checkbox by env if (!Util.isEmpty(isSOTrx)) { for (WEditor editor : editors) { if (editor.getGridField() != null && editor.getGridField().getColumnName().equals("IsSOTrx")) { @@ -67,6 +71,6 @@ public class InfoInOutWindow extends InfoWindow { } } } - dynamicDisplay(null); } + } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInvoiceWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInvoiceWindow.java index 6a11dd6add..b2b3e484a6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInvoiceWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoInvoiceWindow.java @@ -50,9 +50,11 @@ public class InfoInvoiceWindow extends InfoWindow { whereClause, AD_InfoWindow_ID, lookup); } + /** + * {@inheritDoc} + */ @Override - protected void createParameterPanel() { - super.createParameterPanel(); + protected void initParameters() { String isSOTrx = Env.getContext(Env.getCtx(), p_WindowNo, "IsSOTrx"); if (!isLookup() && Util.isEmpty(isSOTrx)) { isSOTrx = "Y"; @@ -77,7 +79,6 @@ public class InfoInvoiceWindow extends InfoWindow { } } } - dynamicDisplay(null); } @Override diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoOrderWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoOrderWindow.java index e54f176f81..e079d48fd3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoOrderWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoOrderWindow.java @@ -51,9 +51,11 @@ public class InfoOrderWindow extends InfoWindow { whereClause, AD_InfoWindow_ID, lookup); } + /** + * {@inheritDoc} + */ @Override - protected void createParameterPanel() { - super.createParameterPanel(); + protected void initParameters() { String isSOTrx = Env.getContext(Env.getCtx(), p_WindowNo, "IsSOTrx"); if (!isLookup() && Util.isEmpty(isSOTrx)) { isSOTrx = "Y"; @@ -78,6 +80,5 @@ public class InfoOrderWindow extends InfoWindow { } } } - dynamicDisplay(null); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeInstanceWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeInstanceWindow.java index 60669c6869..6b0ef55890 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeInstanceWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeInstanceWindow.java @@ -46,7 +46,7 @@ public class InfoPAttributeInstanceWindow extends InfoWindow { String whereClause, int AD_InfoWindow_ID, boolean lookup) { super(WindowNo, tableName, keyColumn, queryValue, multipleSelection, whereClause, AD_InfoWindow_ID, lookup); - // TODO Auto-generated constructor stub + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeWindow.java index 4f671fc942..2221ce2fa3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPAttributeWindow.java @@ -28,7 +28,7 @@ public class InfoPAttributeWindow extends InfoWindow { String whereClause, int AD_InfoWindow_ID) { super(WindowNo, tableName, keyColumn, queryValue, multipleSelection, whereClause, AD_InfoWindow_ID); - // TODO Auto-generated constructor stub + } /** @@ -46,7 +46,7 @@ public class InfoPAttributeWindow extends InfoWindow { String whereClause, int AD_InfoWindow_ID, boolean lookup) { super(WindowNo, tableName, keyColumn, queryValue, multipleSelection, whereClause, AD_InfoWindow_ID, lookup); - // TODO Auto-generated constructor stub + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPaymentWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPaymentWindow.java index 1e44708fa7..22d4b727a9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPaymentWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoPaymentWindow.java @@ -51,9 +51,11 @@ public class InfoPaymentWindow extends InfoWindow { whereClause, AD_InfoWindow_ID, lookup); } + /** + * {@inheritDoc} + */ @Override - protected void createParameterPanel() { - super.createParameterPanel(); + protected void initParameters() { String isSOTrx = Env.getContext(Env.getCtx(), p_WindowNo, "IsSOTrx"); if (!isLookup() && Util.isEmpty(isSOTrx)) { isSOTrx = "Y"; @@ -67,6 +69,5 @@ public class InfoPaymentWindow extends InfoWindow { } } } - dynamicDisplay(null); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java index 075705c862..85ec8f21df 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoProductWindow.java @@ -136,15 +136,6 @@ public class InfoProductWindow extends InfoWindow { return prevWhereClause; } - @Override - protected void createParameterPanel() { - super.createParameterPanel(); - initParameters(); - dynamicDisplay(null); - // update display of mandatory field - validateParameters(); - } - @Override protected void renderWindow() { super.renderWindow(); @@ -445,7 +436,11 @@ public class InfoProductWindow extends InfoWindow { return 0; } - private void initParameters() { + /** + * {@inheritDoc} + */ + @Override + protected void initParameters() { int M_Warehouse_ID = Env.getContextAsInt(Env.getCtx(), p_WindowNo, "M_Warehouse_ID"); int M_PriceList_ID = Env.getContextAsInt(Env.getCtx(), p_WindowNo, "M_PriceList_ID"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index d20f83a99b..682fe39d58 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -1096,6 +1096,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } evalDisplayLogic(); + initParameters(); + dynamicDisplay(null); } private void evalDisplayLogic() { @@ -1362,6 +1364,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL { if (otherEditor == editor) continue; + + // reset value of WInfoPAttributeEditor to null when change M_AttributeSet_ID if (asiChanged && otherEditor instanceof WInfoPAttributeEditor) ((WInfoPAttributeEditor)otherEditor).clearWhereClause(); @@ -1404,6 +1408,38 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } + /** + * {@inheritDoc-} + */ + @Override + protected void resetParameters() { + // reset value of parameter to null, just reset display parameter + for (WEditor editor : editors) { + GridField gField = editor.getGridField(); + if (gField == null || !gField.isDisplayed()) { + continue; + } + + // just reset to default Field set explicit DefaultValue + Object resetValue = null; + if (! Util.isEmpty(gField.getVO().DefaultValue, true)) { + resetValue = gField.getDefault(); + } + Object oldValue = gField.getValue(); + gField.setValue(resetValue, true); + + // call valueChange to update env + ValueChangeEvent changeEvent = new ValueChangeEvent (editor, "", oldValue, resetValue); + valueChange (changeEvent); + } + + // init again parameter + initParameters(); + + // filter dynamic value + dynamicDisplay(null); + } + @Override public void onPageAttached(Page newpage, Page oldpage) { super.onPageAttached(newpage, oldpage); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index 2fb2642637..64d6ff18da 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -226,7 +226,7 @@ public abstract class InfoPanel extends Window implements EventListener, setStyle("position: absolute"); } - confirmPanel = new ConfirmPanel(true, true, false, true, true, true); // Elaine 2008/12/16 + confirmPanel = new ConfirmPanel(true, true, true, true, true, true); // Elaine 2008/12/16 confirmPanel.addActionListener(Events.ON_CLICK, this); confirmPanel.setHflex("1"); @@ -1142,6 +1142,9 @@ public abstract class InfoPanel extends Window implements EventListener, m_cancel = true; dispose(false); } + else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_RESET))) { + resetParameters (); + } // Elaine 2008/12/16 else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_HISTORY))) { @@ -1256,6 +1259,23 @@ public abstract class InfoPanel extends Window implements EventListener, return true; } + /** + * Call after load parameter panel to set init value can call when reset + * parameter implement this method at inheritance class + * with each parameter, remember call Env.setContext to set new value to env + */ + protected void initParameters() { + + } + + /** + * Reset parameter to default value or to empty value? implement at + * inheritance class when reset parameter maybe need init again parameter, + * reset again default value + */ + protected void resetParameters() { + } + void preRunProcess (Integer processId){ // disable all control button when run process enableButtons(false);