From 10d5df21b7b1087ff21a37e5f23c7f0de784e2b0 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 30 Aug 2019 14:36:59 +0200 Subject: [PATCH] IDEMPIERE-4041 Implement some callouts for Bank Transfer process parameters --- .../banktransferparameterslistener.xml | 9 +++ .../BankTransferParameterListener.java | 57 +++++++++++++++++++ org.adempiere.ui.zk/build.properties | 1 + 3 files changed, 67 insertions(+) create mode 100644 org.adempiere.ui.zk/OSGI-INF/banktransferparameterslistener.xml create mode 100644 org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/BankTransferParameterListener.java diff --git a/org.adempiere.ui.zk/OSGI-INF/banktransferparameterslistener.xml b/org.adempiere.ui.zk/OSGI-INF/banktransferparameterslistener.xml new file mode 100644 index 0000000000..ac17855207 --- /dev/null +++ b/org.adempiere.ui.zk/OSGI-INF/banktransferparameterslistener.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/BankTransferParameterListener.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/BankTransferParameterListener.java new file mode 100644 index 0000000000..da89dc2634 --- /dev/null +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/process/BankTransferParameterListener.java @@ -0,0 +1,57 @@ +/********************************************************************** +* This file is part of iDempiere ERP Open Source * +* http://www.idempiere.org * +* * +* Copyright (C) Contributors * +* * +* This program is free software; you can redistribute it and/or * +* modify it under the terms of the GNU General Public License * +* as published by the Free Software Foundation; either version 2 * +* of the License, or (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the Free Software * +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * +* MA 02110-1301, USA. * +* * +* Contributors: * +* - Carlos Ruiz * +**********************************************************************/ + +package org.adempiere.webui.process; + +import org.adempiere.webui.apps.IProcessParameterListener; +import org.adempiere.webui.apps.ProcessParameterPanel; +import org.adempiere.webui.editor.WEditor; +import org.compiere.util.Env; +import org.compiere.util.Msg; +import org.zkoss.zk.ui.WrongValueException; + +public class BankTransferParameterListener implements IProcessParameterListener { + + @Override + public void onChange(ProcessParameterPanel parameterPanel, String columnName, WEditor editor) { + if (editor.getValue() != null) { + if ("StatementDate".equals(editor.getColumnName())) { + // set Accounting Date when StatementDate changes + WEditor dateAcctEditor = parameterPanel.getEditor("DateAcct"); + dateAcctEditor.setValue(editor.getValue()); + } else if ( "From_C_BankAccount_ID".equals(editor.getColumnName()) + || "To_C_BankAccount_ID".equals(editor.getColumnName())) { + WEditor toBankEditor = parameterPanel.getEditor("To_C_BankAccount_ID"); + WEditor fromBankEditor = parameterPanel.getEditor("From_C_BankAccount_ID"); + if ( toBankEditor.getValue() != null && fromBankEditor.getValue() != null + && fromBankEditor.getValue().equals(toBankEditor.getValue())) { + editor.setValue(null); + throw new WrongValueException(editor.getComponent(), Msg.getMsg(Env.getCtx(), "BankFromToMustDiffer")); + } + } + } + } + +} diff --git a/org.adempiere.ui.zk/build.properties b/org.adempiere.ui.zk/build.properties index aba88e9ea0..34421382b4 100644 --- a/org.adempiere.ui.zk/build.properties +++ b/org.adempiere.ui.zk/build.properties @@ -27,6 +27,7 @@ bin.includes = META-INF/,\ OSGI-INF/defaultcreatefromfactory.xml,\ OSGI-INF/defaultformfactory.xml,\ OSGI-INF/feedbackservice.xml,\ + OSGI-INF/banktransferparameterslistener.xml,\ sessiontimeout.zul,\ *.jsp,\ labelapplet.jar,\