details: /erp/devel/pi/rev/9c69b2d3bb13 changeset: 7412:9c69b2d3bb13 user: Mikel Irurita <mikel.irurita <at> openbravo.com> date: Fri May 21 15:56:56 2010 +0200 summary: Payment Method -> Financial Account callout
diffstat: src-db/database/sourcedata/AD_CALLOUT.xml | 10 + src-db/database/sourcedata/AD_COLUMN.xml | 4 + src-db/database/sourcedata/AD_MODEL_OBJECT.xml | 12 + src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml | 10 + src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod_FinAccount.java | 77 ++++++++++ 5 files changed, 113 insertions(+), 0 deletions(-) diffs (178 lines): diff -r 16ddc9180940 -r 9c69b2d3bb13 src-db/database/sourcedata/AD_CALLOUT.xml --- a/src-db/database/sourcedata/AD_CALLOUT.xml Fri May 21 10:04:20 2010 +0200 +++ b/src-db/database/sourcedata/AD_CALLOUT.xml Fri May 21 15:56:56 2010 +0200 @@ -776,6 +776,16 @@ <!--20FE1F365075451E95AE901650183CC7--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--20FE1F365075451E95AE901650183CC7--></AD_CALLOUT> +<!--3262C8E4D91F40339AD1EF086C00F1E3--><AD_CALLOUT> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <NAME><![CDATA[SE_PaymentMethod_FinAccount]]></NAME> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <DESCRIPTION><![CDATA[This callout filters the Financial Accounts for selected Payment Method.]]></DESCRIPTION> +<!--3262C8E4D91F40339AD1EF086C00F1E3--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--3262C8E4D91F40339AD1EF086C00F1E3--></AD_CALLOUT> + <!--3585710F23F244D9B179A28D18242583--><AD_CALLOUT> <!--3585710F23F244D9B179A28D18242583--> <AD_CALLOUT_ID><![CDATA[3585710F23F244D9B179A28D18242583]]></AD_CALLOUT_ID> <!--3585710F23F244D9B179A28D18242583--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 16ddc9180940 -r 9c69b2d3bb13 src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Fri May 21 10:04:20 2010 +0200 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Fri May 21 15:56:56 2010 +0200 @@ -290825,6 +290825,7 @@ <!--7DC34559B3F1B45BE040007F0100784A--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> <!--7DC34559B3F1B45BE040007F0100784A--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> <!--7DC34559B3F1B45BE040007F0100784A--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--7DC34559B3F1B45BE040007F0100784A--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> <!--7DC34559B3F1B45BE040007F0100784A--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--7DC34559B3F1B45BE040007F0100784A--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--7DC34559B3F1B45BE040007F0100784A--> <POSITION><![CDATA[15]]></POSITION> @@ -291020,6 +291021,7 @@ <!--7DC34559B410B45BE040007F0100784A--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> <!--7DC34559B410B45BE040007F0100784A--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> <!--7DC34559B410B45BE040007F0100784A--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--7DC34559B410B45BE040007F0100784A--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> <!--7DC34559B410B45BE040007F0100784A--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--7DC34559B410B45BE040007F0100784A--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--7DC34559B410B45BE040007F0100784A--> <POSITION><![CDATA[17]]></POSITION> @@ -299760,6 +299762,7 @@ <!--828EE0AE802D5FA1E040007F010067C7--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> <!--828EE0AE802D5FA1E040007F010067C7--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> <!--828EE0AE802D5FA1E040007F010067C7--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--828EE0AE802D5FA1E040007F010067C7--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> <!--828EE0AE802D5FA1E040007F010067C7--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--828EE0AE802D5FA1E040007F010067C7--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--828EE0AE802D5FA1E040007F010067C7--> <POSITION><![CDATA[78]]></POSITION> @@ -299792,6 +299795,7 @@ <!--828EE0AE802E5FA1E040007F010067C7--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> <!--828EE0AE802E5FA1E040007F010067C7--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> <!--828EE0AE802E5FA1E040007F010067C7--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--828EE0AE802E5FA1E040007F010067C7--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> <!--828EE0AE802E5FA1E040007F010067C7--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--828EE0AE802E5FA1E040007F010067C7--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> <!--828EE0AE802E5FA1E040007F010067C7--> <POSITION><![CDATA[79]]></POSITION> diff -r 16ddc9180940 -r 9c69b2d3bb13 src-db/database/sourcedata/AD_MODEL_OBJECT.xml --- a/src-db/database/sourcedata/AD_MODEL_OBJECT.xml Fri May 21 10:04:20 2010 +0200 +++ b/src-db/database/sourcedata/AD_MODEL_OBJECT.xml Fri May 21 15:56:56 2010 +0200 @@ -15587,6 +15587,18 @@ <!--3F874173A01B43C0ACEA29111CE98ECE--> <SEQNO><![CDATA[40]]></SEQNO> <!--3F874173A01B43C0ACEA29111CE98ECE--></AD_MODEL_OBJECT> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--><AD_MODEL_OBJECT> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <AD_MODEL_OBJECT_ID><![CDATA[405CB5D0FE124E4BBB9A6DC13A9F28EA]]></AD_MODEL_OBJECT_ID> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <ACTION><![CDATA[C]]></ACTION> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <CLASSNAME><![CDATA[org.openbravo.erpCommon.ad_callouts.SE_PaymentMethod_FinAccount]]></CLASSNAME> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <ISDEFAULT><![CDATA[Y]]></ISDEFAULT> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <AD_CALLOUT_ID><![CDATA[3262C8E4D91F40339AD1EF086C00F1E3]]></AD_CALLOUT_ID> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--> <OBJECT_TYPE><![CDATA[S]]></OBJECT_TYPE> +<!--405CB5D0FE124E4BBB9A6DC13A9F28EA--></AD_MODEL_OBJECT> + <!--40C9C50E51CF446C83AF1F4562D93FD3--><AD_MODEL_OBJECT> <!--40C9C50E51CF446C83AF1F4562D93FD3--> <AD_MODEL_OBJECT_ID><![CDATA[40C9C50E51CF446C83AF1F4562D93FD3]]></AD_MODEL_OBJECT_ID> <!--40C9C50E51CF446C83AF1F4562D93FD3--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 16ddc9180940 -r 9c69b2d3bb13 src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml --- a/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml Fri May 21 10:04:20 2010 +0200 +++ b/src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml Fri May 21 15:56:56 2010 +0200 @@ -26250,6 +26250,16 @@ <!--DF6BD3A8D6814A42A31B029036E3CAD0--> <ISDEFAULT><![CDATA[Y]]></ISDEFAULT> <!--DF6BD3A8D6814A42A31B029036E3CAD0--></AD_MODEL_OBJECT_MAPPING> +<!--E19F9A46454B4FCAA900720764E10CF7--><AD_MODEL_OBJECT_MAPPING> +<!--E19F9A46454B4FCAA900720764E10CF7--> <AD_MODEL_OBJECT_MAPPING_ID><![CDATA[E19F9A46454B4FCAA900720764E10CF7]]></AD_MODEL_OBJECT_MAPPING_ID> +<!--E19F9A46454B4FCAA900720764E10CF7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--E19F9A46454B4FCAA900720764E10CF7--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--E19F9A46454B4FCAA900720764E10CF7--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--E19F9A46454B4FCAA900720764E10CF7--> <AD_MODEL_OBJECT_ID><![CDATA[405CB5D0FE124E4BBB9A6DC13A9F28EA]]></AD_MODEL_OBJECT_ID> +<!--E19F9A46454B4FCAA900720764E10CF7--> <MAPPINGNAME><![CDATA[/ad_callouts/SE_PaymentMethod_FinAccount.html]]></MAPPINGNAME> +<!--E19F9A46454B4FCAA900720764E10CF7--> <ISDEFAULT><![CDATA[Y]]></ISDEFAULT> +<!--E19F9A46454B4FCAA900720764E10CF7--></AD_MODEL_OBJECT_MAPPING> + <!--E1A4739BE84F4651830C6C78A48A7757--><AD_MODEL_OBJECT_MAPPING> <!--E1A4739BE84F4651830C6C78A48A7757--> <AD_MODEL_OBJECT_MAPPING_ID><![CDATA[E1A4739BE84F4651830C6C78A48A7757]]></AD_MODEL_OBJECT_MAPPING_ID> <!--E1A4739BE84F4651830C6C78A48A7757--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> diff -r 16ddc9180940 -r 9c69b2d3bb13 src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod_FinAccount.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/openbravo/erpCommon/ad_callouts/SE_PaymentMethod_FinAccount.java Fri May 21 15:56:56 2010 +0200 @@ -0,0 +1,77 @@ +/* + ************************************************************************* + * The contents of this file are subject to the Openbravo Public License + * Version 1.0 (the "License"), being the Mozilla Public License + * Version 1.1 with a permitted attribution clause; you may not use this + * file except in compliance with the License. You may obtain a copy of + * the License at http://www.openbravo.com/legal/license.html + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * The Original Code is Openbravo ERP. + * The Initial Developer of the Original Code is Openbravo SLU + * All portions are Copyright (C) 2010 Openbravo SLU + * All Rights Reserved. + * Contributor(s): ______________________________________. + ************************************************************************ + */ +package org.openbravo.erpCommon.ad_callouts; + +import javax.servlet.ServletException; + +import org.hibernate.criterion.Expression; +import org.openbravo.base.filter.IsIDFilter; +import org.openbravo.dal.core.OBContext; +import org.openbravo.dal.service.OBCriteria; +import org.openbravo.dal.service.OBDal; +import org.openbravo.model.financialmgmt.payment.FIN_FinancialAccount; +import org.openbravo.model.financialmgmt.payment.FIN_PaymentMethod; +import org.openbravo.model.financialmgmt.payment.FinAccPaymentMethod; + +public class SE_PaymentMethod_FinAccount extends SimpleCallout { + + private static final long serialVersionUID = 1L; + + @Override + protected void execute(CalloutInfo info) throws ServletException { + + String srtPaymentMethodId = info.getStringParameter("inpfinPaymentmethodId", + IsIDFilter.instance); + String srtPOPaymentMethodId = info.getStringParameter("inppoPaymentmethodId", + IsIDFilter.instance); + + String tabId = info.getTabId(); + boolean isVendorTab = "224".equals(tabId); + String srtOrgId = info.getStringParameter("inpadOrgId", IsIDFilter.instance); + + FIN_PaymentMethod paymentMethod = OBDal.getInstance().get(FIN_PaymentMethod.class, + isVendorTab ? srtPOPaymentMethodId : srtPaymentMethodId); + + info.addSelect(isVendorTab ? "inppoFinancialAccountId" : "inpfinFinancialAccountId"); + + // No Payment Method selected + if (srtPaymentMethodId.isEmpty() && srtPOPaymentMethodId.isEmpty()) { + OBCriteria<FIN_FinancialAccount> obc = OBDal.getInstance().createCriteria( + FIN_FinancialAccount.class); + obc.add(Expression.in("organization.id", OBContext.getOBContext() + .getOrganizationStructureProvider().getNaturalTree(srtOrgId))); + obc.setFilterOnReadableOrganization(false); + for (FIN_FinancialAccount acc : obc.list()) { + info.addSelectResult(acc.getId(), acc.getIdentifier()); + } + + } else { + OBCriteria<FinAccPaymentMethod> obc = OBDal.getInstance().createCriteria( + FinAccPaymentMethod.class); + obc.add(Expression.eq(FinAccPaymentMethod.PROPERTY_PAYMENTMETHOD, paymentMethod)); + + for (FinAccPaymentMethod accPm : obc.list()) { + info.addSelectResult(accPm.getAccount().getId(), accPm.getAccount().getIdentifier()); + } + } + + info.endSelect(); + + } +} ------------------------------------------------------------------------------ _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
