diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java index 8d92e36c1f..3aea72b4f0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java @@ -609,7 +609,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener public void enableSave(boolean enabled) { this.btnSave.setDisabled(!enabled); - this.btnSaveAndCreate.setDisabled(!enabled); + this.btnSaveAndCreate.setDisabled(!(isNewEnabled() || isSaveEnable())); } public boolean isSaveEnable() { @@ -643,6 +643,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener public void enableNew(boolean enabled) { this.btnNew.setDisabled(!enabled); + this.btnSaveAndCreate.setDisabled(!(isNewEnabled() || isSaveEnable())); } public void enableCopy(boolean enabled) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 95b5012e64..bdb63ae9b0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -2598,6 +2598,10 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements if (!retValue) { + if (CLogger.peekError() == null && ! wasChanged && callback != null) { + callback.onCallback(true); + return; + } showLastError(); if (callback != null) callback.onCallback(false);