From 2eb2c0ef2c58782668b2d60a1d4fbcf9011e306b Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 5 Aug 2013 16:06:05 -0500 Subject: [PATCH] IDEMPIERE-1225 QuickEntry informs that no location has been introduced when in fact it has been --- .../src/org/adempiere/webui/grid/WQuickEntry.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java index f04875a62a..b4b0e348f0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java @@ -23,6 +23,7 @@ import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Window; import org.adempiere.webui.editor.WEditor; +import org.adempiere.webui.editor.WLocationEditor; import org.adempiere.webui.editor.WebEditorFactory; import org.adempiere.webui.event.ValueChangeEvent; import org.adempiere.webui.event.ValueChangeListener; @@ -466,11 +467,18 @@ public class WQuickEntry extends Window implements EventListener, ValueCh int idx = quickEditors.indexOf(evt.getSource()); if (idx >= 0) { GridField field = quickFields.get(idx); + WEditor editor = quickEditors.get(idx); GridTab gridTab = field.getGridTab(); String columnName = field.getColumnName(); // process dependencies and callouts for the changed field - field.getGridTab().setValue(field, evt.getNewValue()); - gridTab.processFieldChange(field); + if (evt.getSource() instanceof WLocationEditor && evt.getNewValue() == null && editor.getValue() != null) { + // ignore first call of WLocationEditor valuechange set to null + // it will be called later with correct value + // see WLocationEditor firing twice ValueChangeEvent (first with null and then with value) + } else { + field.setValue(evt.getNewValue(), field.getGridTab().getTableModel().isInserting()); + gridTab.processFieldChange(field); + } // Refresh the list on dependant fields ArrayList dependants = gridTab.getDependantFields(columnName); for (GridField dependentField : dependants)