From 975e7d7c87018eb4fed55541e10555801a860c62 Mon Sep 17 00:00:00 2001 From: Nicolas Micoud Date: Tue, 10 Jul 2018 09:40:57 +0200 Subject: [PATCH] IDEMPIERE-3713 When updating a location, the related tab needs save --- .../src/org/adempiere/webui/editor/WLocationEditor.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WLocationEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WLocationEditor.java index e9a116ecb3..59688e6031 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WLocationEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WLocationEditor.java @@ -174,6 +174,7 @@ public class WLocationEditor extends WEditor implements EventListener, Pr { if (log.isLoggable(Level.CONFIG)) log.config( "actionPerformed - " + m_value); final WLocationDialog ld = new WLocationDialog(Msg.getMsg(Env.getCtx(), "Location"), m_value, gridField); + final int oldValue = m_value == null ? 0 : m_value.getC_Location_ID(); ld.addEventListener(DialogEvents.ON_WINDOW_CLOSE, new EventListener() { @Override @@ -189,10 +190,8 @@ public class WLocationEditor extends WEditor implements EventListener, Pr if (m_value != null) C_Location_ID = m_value.getC_Location_ID(); Integer ii = new Integer(C_Location_ID); - // force Change - user does not realize that embedded object is already saved. - ValueChangeEvent valuechange = new ValueChangeEvent(WLocationEditor.this,getColumnName(),null,null); - fireValueChange(valuechange); // resets m_mLocation - if (C_Location_ID != 0) + + if (C_Location_ID != 0 && oldValue == 0) { ValueChangeEvent vc = new ValueChangeEvent(WLocationEditor.this,getColumnName(),null,ii); fireValueChange(vc);