You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ha...@apache.org on 2011/10/19 13:19:21 UTC
svn commit: r1186102 - in /ofbiz/trunk/applications/accounting: ./ config/
script/org/ofbiz/accounting/payment/ script/org/ofbiz/accounting/test/
servicedef/ testdef/ testdef/data/ widget/
Author: hansbak
Date: Wed Oct 19 11:19:21 2011
New Revision: 1186102
URL: http://svn.apache.org/viewvc?rev=1186102&view=rev
Log:
remove the possibility to update payment applications: is too complicated and can cause posting problems, only allow add and delete, this is at the payment side
Added:
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml (with props)
ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml (with props)
ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml (with props)
Modified:
ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
ofbiz/trunk/applications/accounting/ofbiz-component.xml
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
ofbiz/trunk/applications/accounting/servicedef/services_payment.xml
ofbiz/trunk/applications/accounting/widget/PaymentForms.xml
Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=1186102&r1=1186101&r2=1186102&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Wed Oct 19 11:19:21 2011
@@ -3085,6 +3085,9 @@
<value xml:lang="hi_IN">à¤à¤®à¤¾</value>
<value xml:lang="pt">Cr</value>
</property>
+ <property key="AccountingCurrenciesOfInvoiceAndPaymentNotCompatible">
+ <value xml:lang="en">Currencies of invoice and payment not compatible</value>
+ </property>
<property key="AccountingCurrency">
<value xml:lang="de">Währung</value>
<value xml:lang="en">Currency</value>
@@ -8408,6 +8411,9 @@
<value xml:lang="fr">Factures en attente de règlement</value>
<value xml:lang="pt">Faturas passdas em débito</value>
</property>
+ <property key="AccountingPaymentParentTypesNotCompatible">
+ <value xml:lang="en">Payment parent types not compatible for application</value>
+ </property>
<property key="AccountingPayOnlyWithBillingAccount">
<value xml:lang="de">Bezahlung nur mit Rechnungskonto</value>
<value xml:lang="en">Pay only with Billing Account</value>
Modified: ofbiz/trunk/applications/accounting/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/ofbiz-component.xml?rev=1186102&r1=1186101&r2=1186102&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/accounting/ofbiz-component.xml Wed Oct 19 11:19:21 2011
@@ -97,6 +97,7 @@ under the License.
<test-suite loader="main" location="testdef/accountingtests.xml"/>
<test-suite loader="main" location="testdef/paymenttests.xml"/>
+ <test-suite loader="main" location="testdef/paymentappltests.xml"/>
<test-suite loader="main" location="testdef/invoicetests.xml"/>
<test-suite loader="main" location="testdef/fixedassettests.xml"/>
Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml?rev=1186102&r1=1186101&r2=1186102&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml (original)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml Wed Oct 19 11:19:21 2011
@@ -149,7 +149,7 @@ under the License.
<if-empty field="parameters.invoiceId">
<if-empty field="parameters.billingAccountId">
<if-empty field="parameters.taxAuthGeoId">
- <if-empty field="parameters.overrideGlAccountId">
+ <if-empty field="parameters.toPaymentId">
<add-error>
<fail-property resource="AccountingUiLabels" property="AccountingPaymentApplicationParameterMissing"/>
</add-error>
@@ -162,25 +162,121 @@ under the License.
<make-value entity-name="PaymentApplication" value-field="paymentAppl"/>
<set-nonpk-fields map="parameters" value-field="paymentAppl"/>
- <!-- get the invoice and do some further validation against it -->
+ <entity-one entity-name="Payment" value-field="payment"/>
+ <if-empty field="payment">
+ <add-error>
+ <fail-property resource="AccountingUiLabels" property="AccountingPaymentApplicationParameterMissing"/>
+ </add-error>
+ <check-errors/>
+ </if-empty>
+
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="payment" type="GenericValue"/>
+ </call-class-method>
+
<if-not-empty field="parameters.invoiceId">
+ <!-- get the invoice and do some further validation against it -->
<entity-one entity-name="Invoice" value-field="invoice"/>
+ <!-- check the currencies if they are compatible -->
+ <property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
+ <if>
+ <condition>
+ <or>
+ <if-compare-field field="invoice.currencyUomId" operator="equals" to-field="defaultCurrencyUomId"/>
+ <and>
+ <if-compare-field field="invoice.currencyUomId" operator="not-equals" to-field="defaultCurrencyUomId"/>
+ <if-compare-field field="invoice.currencyUomId" operator="equals" to-field="payment.actualCurrencyUomId"/>
+ </and>
+ </or>
+ </condition>
+ <then><!-- if required get the payment amount in foreign currency (local we already have) -->
+ <if-compare-field field="invoice.currencyUomId" operator="not-equals" to-field="defaultCurrencyUomId">
+ <set field="actual" value="true" type="Boolean"/>
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="payment" type="GenericValue"/>
+ <field field="actual"/>
+ </call-class-method>
+ </if-compare-field>
+ </then>
+ <else>
+ <add-error>
+ <fail-property resource="AccountingUiLabels" property="AccountingCurrenciesOfInvoiceAndPaymentNotCompatible"/>
+ </add-error>
+ </else>
+ </if>
+ <check-errors/>
<!-- get the amount that has not been applied yet for the invoice (outstanding amount) -->
- <set field="notApplied" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="BigDecimal"/>
-
- <!-- if the amount to apply goes over the outstanding amount, then use the notApplied amount and log a warning -->
- <if-compare-field field="paymentAppl.amountApplied" to-field="notApplied" operator="greater" type="BigDecimal">
- <log level="warning" message="Create Payment Application: Amount to apply [${paymentAppl.amountApplied}] is greater than the outstanding amount [${notApplied}] of the invoice [${invoice.invoiceId}]. Creating Payment Application for outstanding amount [${notApplied}] instead."/>
- <set field="paymentAppl.amountApplied" from-field="notApplied"/>
- </if-compare-field>
-
+ <call-class-method method-name="getInvoiceNotApplied" class-name="org.ofbiz.accounting.invoice.InvoiceWorker" ret-field="notAppliedInvoice">
+ <field field="invoice" type="GenericValue"/>
+ </call-class-method>
+
+ <if-empty field="paymentAppl.amountApplied">
+ <if-compare-field field="notAppliedInvoice" operator="less-equals" to-field="notAppliedPayment">
+ <set field="paymentAppl.amountApplied" from-field="notAppliedInvoice"/>
+ <else>
+ <set field="paymentAppl.amountApplied" from-field="notAppliedPayment"/>
+ </else>
+ </if-compare-field>
+ </if-empty>
+
<if-not-empty field="invoice.billingAccountId">
<set field="paymentAppl.billingAccountId" from-field="invoice.billingAccountId"/>
</if-not-empty>
</if-not-empty>
+ <if-not-empty field="parameters.toPaymentId">
+ <!-- get the to payment and check the parent types are compatible -->
+ <entity-one entity-name="Payment" value-field="toPayment">
+ <field-map field-name="paymentId" from-field="parameters.toPaymentId"/>
+ </entity-one>
+ <entity-one value-field="toPaymentType" entity-name="PaymentType">
+ <field-map field-name="paymentTypeId" from-field="toPayment.paymentTypeId"/>
+ </entity-one>
+ <entity-one entity-name="Payment" value-field="payment">
+ <field-map field-name="paymentId" from-field="parameters.paymentId"/>
+ </entity-one>
+ <entity-one value-field="paymentType" entity-name="PaymentType">
+ <field-map field-name="paymentTypeId" from-field="payment.paymentTypeId"/>
+ </entity-one>
+ <if-compare-field operator="equals" field="toPayment.parentTypeId" to-field="payment.parentTypeId">
+ <add-error>
+ <fail-property resource="AccountingUiLabels" property="AccountingPaymentParentTypesNotCompatible"/>
+ </add-error>
+ </if-compare-field>
+
+ <!-- when amount not provided use the the lowest value available -->
+ <if-empty field="parameters.amountApplied">
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="payment" type="GenericValue"/>
+ </call-class-method>
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedToPayment">
+ <field field="toPayment" type="GenericValue"/>
+ </call-class-method>
+ <if-compare-field operator="less" field="notAppliedPayment" to-field="notAppliedToPayment">
+ <set field="paymentAppl.amountApplied" from-field="notAppliedPayment"/>
+ <else>
+ <set field="paymentAppl.amountApplied" from-field="notAppliedToPayment"/>
+ </else>
+ </if-compare-field>
+ </if-empty>
+ </if-not-empty>
+
+
+ <if-not-empty field="parameters.billingAccountId">
+ <if-empty field="paymentAppl.amountApplied">
+ <set field="paymentAppl.amountApplied" from-field="notAppliedPayment"/>
+ </if-empty>
+ </if-not-empty>
+
+ <if-not-empty field="parameters.taxAuthGeoId">
+ <if-empty field="paymentAppl.amountApplied">
+ <set field="paymentAppl.amountApplied" from-field="notAppliedPayment"/>
+ </if-empty>
+ </if-not-empty>
+
<sequenced-id sequence-name="PaymentApplication" field="paymentAppl.paymentApplicationId"/>
+ <field-to-result field="paymentAppl.amountApplied" result-name="amountApplied"/>
<field-to-result field="paymentAppl.paymentApplicationId" result-name="paymentApplicationId"/>
<create-value value-field="paymentAppl"/>
Added: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml?rev=1186102&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml (added)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml Wed Oct 19 11:19:21 2011
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+
+
+ <!-- most simple test both invoice and payment same amount same currency -->
+ <simple-method method-name="testInvoiceAppl" short-description="test the application of a payment against an invoice" login-required="false">
+
+ <!-- from the test data -->
+ <set field="serviceInMap.invoiceId" value="appltest10000"/>
+ <set field="serviceInMap.paymentId" value="appltest10000"/>
+
+ <entity-one entity-name="UserLogin" value-field="userLogin">
+ <field-map field-name="userLoginId" value="system"/>
+ </entity-one>
+
+ <set field="serviceInMap.userLogin" from-field="userLogin"/>
+ <call-service service-name="createPaymentApplication" in-map-name="serviceInMap" include-user-login="false">
+ <result-to-field result-name="amountApplied"/>
+ <result-to-field result-name="paymentApplicationId"/>
+ </call-service>
+ <entity-one entity-name="PaymentApplication" value-field="paymentApplication">
+ <field-map field-name="paymentApplicationId" from-field="paymentApplicationId"/>
+ </entity-one>
+ <entity-one value-field="payment" entity-name="Payment">
+ <field-map field-name="paymentId" from-field="serviceInMap.paymentId"/>
+ </entity-one>
+ <assert>
+ <not><if-empty field="paymentApplication"/></not>
+ <if-compare-field field="paymentApplication.invoiceId" operator="equals" to-field="serviceInMap.invoiceId"/>
+ <if-compare-field field="paymentApplication.paymentId" operator="equals" to-field="serviceInMap.paymentId"/>
+ <if-compare-field field="paymentApplication.amountApplied" operator="equals" to-field="payment.amount"/>
+ </assert>
+ <check-errors/>
+ <!-- both payment and invoice should be completely applied -->
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <call-class-method method-name="getInvoiceNotApplied" class-name="org.ofbiz.accounting.invoice.InvoiceWorker" ret-field="notAppliedInvoice">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.invoiceId"/>
+ </call-class-method>
+ <set field="zero" value="0" type="BigDecimal"/>
+ <assert>
+ <if-compare-field operator="equals" field="notAppliedPayment" to-field="zero"/>
+ <if-compare-field operator="equals" field="notAppliedInvoice" to-field="zero"/>
+ </assert>
+ <check-errors/>
+ <remove-value value-field="paymentApplication"/>
+ </simple-method>
+
+
+ <simple-method method-name="testBillingAppl" short-description="test the application of a payment against an billing account" login-required="false">
+ <!-- from the test data -->
+ <set field="serviceInMap.paymentId" value="appltest10000"/>
+ <set field="serviceInMap.billingAccountId" value="appltest10000"/>
+
+ <entity-one entity-name="UserLogin" value-field="userLogin">
+ <field-map field-name="userLoginId" value="system"/>
+ </entity-one>
+
+ <set field="serviceInMap.userLogin" from-field="userLogin"/>
+ <call-service service-name="createPaymentApplication" in-map-name="serviceInMap" include-user-login="false">
+ <result-to-field result-name="amountApplied"/>
+ <result-to-field result-name="paymentApplicationId"/>
+ </call-service>
+ <entity-one entity-name="PaymentApplication" value-field="paymentApplication">
+ <field-map field-name="paymentApplicationId" from-field="paymentApplicationId"/>
+ </entity-one>
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <entity-one value-field="payment" entity-name="Payment">
+ <field-map field-name="paymentId" from-field="serviceInMap.paymentId"/>
+ </entity-one>
+ <assert>
+ <not><if-empty field="paymentApplication"/></not>
+ <if-compare-field field="paymentApplication.billingAccountId" operator="equals" to-field="serviceInMap.billingAccountId"/>
+ <if-compare-field field="paymentApplication.paymentId" operator="equals" to-field="serviceInMap.paymentId"/>
+ <if-compare-field field="paymentApplication.amountApplied" operator="equals" to-field="payment.amount"/>
+ </assert>
+ <check-errors/>
+ <!-- both payment and invoice should be completely applied -->
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <call-class-method method-name="getBillingAccountBalance" class-name="org.ofbiz.accounting.payment.BillingAccountWorker" ret-field="appliedBillling">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.billingAccountId"/>
+ </call-class-method>
+ <set field="zero" value="0" type="BigDecimal"/>
+ <assert>
+ <if-compare-field operator="equals" field="notAppliedPayment" to-field="zero"/>
+ <if-compare-field operator="equals" field="appliedBilling" to-field="paymentAmount"/>
+ </assert>
+ <check-errors/>
+ <remove-value value-field="paymentApplication"/>
+ </simple-method>
+
+ <simple-method method-name="testToPayment" short-description="test the application of a payment against anotherpayment" login-required="false">
+ <!-- from the test data -->
+ <set field="serviceInMap.paymentId" value="appltest10000"/>
+ <set field="serviceInMap.toPaymentId" value="appltest10001"/>
+
+ <entity-one entity-name="UserLogin" value-field="userLogin">
+ <field-map field-name="userLoginId" value="system"/>
+ </entity-one>
+
+ <set field="serviceInMap.userLogin" from-field="userLogin"/>
+ <call-service service-name="createPaymentApplication" in-map-name="serviceInMap" include-user-login="false">
+ <result-to-field result-name="amountApplied"/>
+ <result-to-field result-name="paymentApplicationId"/>
+ </call-service>
+ <entity-one entity-name="PaymentApplication" value-field="paymentApplication">
+ <field-map field-name="paymentApplicationId" from-field="paymentApplicationId"/>
+ </entity-one>
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <entity-one value-field="payment" entity-name="Payment">
+ <field-map field-name="paymentId" from-field="serviceInMap.paymentId"/>
+ </entity-one>
+ <assert>
+ <not><if-empty field="paymentApplication"/></not>
+ <if-compare-field field="paymentApplication.toPaymentId" operator="equals" to-field="serviceInMap.toPaymentId"/>
+ <if-compare-field field="paymentApplication.paymentId" operator="equals" to-field="serviceInMap.paymentId"/>
+ <if-compare-field field="paymentApplication.amountApplied" operator="equals" to-field="payment.amount"/>
+ </assert>
+ <check-errors/>
+ <!-- both payment and invoice should be completely applied -->
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedToPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.toPaymentId"/>
+ </call-class-method>
+ <set field="zero" value="0" type="BigDecimal"/>
+ <assert>
+ <if-compare-field operator="equals" field="notAppliedPayment" to-field="zero"/>
+ <if-compare-field operator="equals" field="notAppliedToPayment" to-field="zero"/>
+ </assert>
+ <check-errors/>
+ <remove-value value-field="paymentApplication"/>
+ </simple-method>
+ <simple-method method-name="testTaxGeoId" short-description="test the application of a payment against a tax geo id" login-required="false">
+ <!-- from the test data -->
+ <set field="serviceInMap.paymentId" value="appltest10000"/>
+ <set field="serviceInMap.taxAuthGeoId" value="UT"/>
+
+ <entity-one entity-name="UserLogin" value-field="userLogin">
+ <field-map field-name="userLoginId" value="system"/>
+ </entity-one>
+
+ <set field="serviceInMap.userLogin" from-field="userLogin"/>
+ <call-service service-name="createPaymentApplication" in-map-name="serviceInMap" include-user-login="false">
+ <result-to-field result-name="amountApplied"/>
+ <result-to-field result-name="paymentApplicationId"/>
+ </call-service>
+ <entity-one entity-name="PaymentApplication" value-field="paymentApplication">
+ <field-map field-name="paymentApplicationId" from-field="paymentApplicationId"/>
+ </entity-one>
+ <entity-one value-field="payment" entity-name="Payment">
+ <field-map field-name="paymentId" from-field="serviceInMap.paymentId"/>
+ </entity-one>
+ <assert>
+ <not><if-empty field="paymentApplication"/></not>
+ <if-compare-field field="paymentApplication.taxAuthGeoId" operator="equals" to-field="serviceInMap.taxAuthGeoId"/>
+ <if-compare-field field="paymentApplication.paymentId" operator="equals" to-field="serviceInMap.paymentId"/>
+ <if-compare-field field="paymentApplication.amountApplied" operator="equals" to-field="payment.amount"/>
+ </assert>
+ <check-errors/>
+ <!-- payment should be completely applied -->
+ <call-class-method method-name="getPaymentNotApplied" class-name="org.ofbiz.accounting.payment.PaymentWorker" ret-field="notAppliedPayment">
+ <field field="delegator" type="org.ofbiz.entity.Delegator"/>
+ <field field="serviceInMap.paymentId"/>
+ </call-class-method>
+ <set field="zero" value="0" type="BigDecimal"/>
+ <assert>
+ <if-compare-field operator="equals" field="notAppliedPayment" to-field="zero"/>
+ </assert>
+ <check-errors/>
+ <remove-value value-field="paymentApplication"/>
+ </simple-method>
+
+
+</simple-methods>
Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/accounting/servicedef/services_payment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_payment.xml?rev=1186102&r1=1186101&r2=1186102&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_payment.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_payment.xml Wed Oct 19 11:19:21 2011
@@ -70,12 +70,11 @@ under the License.
location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" invoke="createPaymentApplication" auth="true">
<description>Create a payment application</description>
<attribute name="paymentId" type="String" mode="IN" optional="false"/>
+ <attribute name="toPaymentId" type="String" mode="IN" optional="true"/>
<attribute name="invoiceId" type="String" mode="IN" optional="true"/>
- <attribute name="invoiceItemSeqId" type="String" mode="IN" optional="true"/>
<attribute name="billingAccountId" type="String" mode="IN" optional="true"/>
- <attribute name="overrideGlAccountId" type="String" mode="IN" optional="true"/>
<attribute name="taxAuthGeoId" type="String" mode="IN" optional="true"/>
- <attribute name="amountApplied" type="BigDecimal" mode="IN" optional="false"/>
+ <attribute name="amountApplied" type="BigDecimal" mode="INOUT" optional="true"/>
<attribute name="paymentApplicationId" type="String" mode="OUT" optional="false"/>
<attribute name="paymentTypeId" type="String" mode="OUT" optional="false"/>
</service>
Added: ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml?rev=1186102&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml (added)
+++ ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml Wed Oct 19 11:19:21 2011
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entity-engine-xml>
+ <!-- testInvoiceAppl -->
+ <Invoice invoiceId="appltest10000" invoiceTypeId="SALES_INVOICE" partyIdFrom="Company" partyId="DemoCustomer" statusId="INVOICE_SENT" invoiceDate="2006-04-25 12:46:27.122" dueDate="2006-05-25 12:46:27.122" description="This is the first invoice number to AcctBuyer" currencyUomId="USD"/>
+ <InvoiceItem invoiceId="appltest10000" invoiceItemSeqId="00001" invoiceItemTypeId="INV_SPROD_ITEM" taxableFlag="Y" amount="20" description="this was e service for a product"/>
+ <Payment paymentId="appltest10000" paymentTypeId="CUSTOMER_PAYMENT" paymentMethodTypeId="EFT_ACCOUNT" partyIdFrom="DemoCustomer" partyIdTo="Company" statusId="PMNT_NOT_PAID" effectiveDate="2006-04-25 12:56:54.292" amount="20" currencyUomId="USD"/>
+
+ <!-- billing acount -->
+ <BillingAccount billingAccountId="appltest10000" accountLimit="10000.0" accountCurrencyUomId="USD" contactMechId="9010" fromDate="2001-05-13 00:00:00.000" description="Demo Customer Company Billing Account"/>
+ <BillingAccountRole billingAccountId="appltest10000" partyId="DemoCustomer" roleTypeId="BILL_TO_CUSTOMER" fromDate="2001-05-13 00:00:00.000"/>
+
+ <!-- other payment -->
+ <Payment paymentId="appltest10001" paymentTypeId="CUSTOMER_REFUND" paymentMethodTypeId="EFT_ACCOUNT" partyIdFrom="Company" partyIdTo="DemoCustomer" statusId="PMNT_NOT_PAID" effectiveDate="2006-04-25 12:56:54.292" amount="20" currencyUomId="USD"/>
+ <!-- Tax payment -->
+ <Payment paymentId="appltest10002" paymentTypeId="SALES_TAX_PAYMENT" paymentMethodTypeId="EFT_ACCOUNT" partyIdFrom="Company" partyIdTo="USA_IRS" statusId="PMNT_NOT_PAID" effectiveDate="2006-04-25 12:56:54.292" amount="20" currencyUomId="USD"/>
+
+ <!-- tax geoid -->
+
+</entity-engine-xml>
Propchange: ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/accounting/testdef/data/PaymentApplicationTestsData.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml?rev=1186102&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml (added)
+++ ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml Wed Oct 19 11:19:21 2011
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+<test-suite suite-name="paymentappltests"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/test-suite.xsd">
+
+ <test-case case-name="application-tests-data-load">
+ <entity-xml action="load" entity-xml-url="component://accounting/testdef/data/PaymentApplicationTestsData.xml"/>
+ </test-case>
+ <test-case case-name="application-tests">
+ <simple-method-test location="component://accounting/script/org/ofbiz/accounting/test/PaymentApplicationTests.xml"/>
+ </test-case>
+
+</test-suite>
Propchange: ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/accounting/testdef/paymentappltests.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/applications/accounting/widget/PaymentForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/PaymentForms.xml?rev=1186102&r1=1186101&r2=1186102&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/PaymentForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/PaymentForms.xml Wed Oct 19 11:19:21 2011
@@ -277,7 +277,7 @@ under the License.
<field position="1" name="updateButton" title="${uiLabelMap.CommonUpdate}" widget-style="smallSubmit"><submit button-type="button"/></field>
</form>
- <form name="editPaymentApplicationsInv" default-entity-name="PaymentApplication" list-name="paymentApplicationsInv" target="updatePaymentApplication" type="list" separate-columns="false"
+ <form name="editPaymentApplicationsInv" default-entity-name="PaymentApplication" list-name="paymentApplicationsInv" target="removePaymentApplication" type="list" separate-columns="false"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<field name="paymentApplicationId"><hidden/></field>
<field name="paymentId"><hidden/></field>
@@ -290,58 +290,32 @@ under the License.
</field>
<field name="invoiceItemSeqId"><display/></field>
<field name="amountApplied"><display/></field>
- <!-- TODO: this is commented out because updating (instead of removing and recreating) payment application can cause wrong gl postings.
- <field name="updateButton" widget-style="buttontext"><submit button-type="text-link"/></field>
- -->
- <field name="removeButton" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext">
- <hyperlink description="${uiLabelMap.CommonRemove}" target="removePaymentApplication">
- <parameter param-name="paymentApplicationId"/>
- <parameter param-name="paymentId"/>
- </hyperlink>
- </field>
+ <field name="removeButton" title="${uiLabelMap.CommonEmptyHeader}"><submit/></field>
</form>
- <form name="editPaymentApplicationsPay" default-entity-name="PaymentApplication" list-name="paymentApplicationsPay" target="updatePaymentApplication" type="list" separate-columns="false"
+ <form name="editPaymentApplicationsPay" default-entity-name="PaymentApplication" list-name="paymentApplicationsPay" target="removePaymentApplication" type="list" separate-columns="false"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<field name="paymentApplicationId"><hidden/></field>
<field name="paymentId"><hidden/></field>
- <field name="toPaymentId"><lookup target-form-name="LookupPayment"></lookup></field>
- <field name="amountApplied"><text size="15"/></field>
- <field name="updateButton" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext"><submit button-type="text-link"/></field>
- <field name="removeButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext">
- <hyperlink description="${uiLabelMap.CommonRemove}" target="removePaymentApplication">
- <parameter param-name="paymentApplicationId"/>
- <parameter param-name="paymentId"/>
- </hyperlink>
- </field>
+ <field name="toPaymentId"><display/></field>
+ <field name="amountApplied"><display/></field>
+ <field name="removeButton" title="${uiLabelMap.CommonRemove}"><submit/></field>
</form>
- <form name="editPaymentApplicationsBil" default-entity-name="PaymentApplication" list-name="paymentApplicationsBil" target="updatePaymentApplication" type="list" separate-columns="false"
+ <form name="editPaymentApplicationsBil" default-entity-name="PaymentApplication" list-name="paymentApplicationsBil" target="removePaymentApplication" type="list" separate-columns="false"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<field name="paymentApplicationId"><hidden/></field>
<field name="paymentId"><hidden/></field>
- <field name="billingAccountId"><lookup target-form-name="LookupBillingAccount"/></field>
+ <field name="billingAccountId"><display/></field>
<field name="invoiceId"><hidden/></field>
- <field name="amountApplied"><text size="15"/></field>
- <field name="updateButton" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext"><submit button-type="text-link"/></field>
- <field name="removeButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext">
- <hyperlink description="${uiLabelMap.CommonRemove}" target="removePaymentApplication">
- <parameter param-name="paymentApplicationId"/>
- <parameter param-name="paymentId"/>
- </hyperlink>
- </field>
+ <field name="amountApplied"><display/></field>
+ <field name="removeButton" title="${uiLabelMap.CommonRemove}"><submit/></field>
</form>
- <form name="editPaymentApplicationsTax" default-entity-name="PaymentApplication" list-name="paymentApplicationsTax" target="updatePaymentApplication" type="list" separate-columns="false"
+ <form name="editPaymentApplicationsTax" default-entity-name="PaymentApplication" list-name="paymentApplicationsTax" target="removePaymentApplication" type="list" separate-columns="false"
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<field name="paymentApplicationId"><hidden/></field>
<field name="paymentId"><hidden/></field>
- <field name="taxAuthGeoId"><lookup target-form-name="LookupGeo"/></field>
- <field name="amountApplied"><text size="15"/></field>
- <field name="updateButton" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext"><submit button-type="text-link"/></field>
- <field name="removeButton" title="${uiLabelMap.CommonRemove}" widget-style="buttontext">
- <hyperlink description="${uiLabelMap.CommonRemove}" target="removePaymentApplication">
- <parameter param-name="paymentApplicationId"/>
- <parameter param-name="paymentId"/>
- </hyperlink>
- </field>
+ <field name="taxAuthGeoId"><display/></field>
+ <field name="amountApplied"><display/></field>
+ <field name="removeButton" title="${uiLabelMap.CommonRemove}"><submit/></field>
</form>
<form name="listInvoicesNotApplied" type="list" list-name="invoices" target="createPaymentApplication" title=""
@@ -366,7 +340,7 @@ under the License.
<form name="listInvoicesNotAppliedOtherCurrency" extends="listInvoicesNotApplied" list-name="invoicesOtherCurrency"/>
- <form name="listPaymentsNotApplied" type="list" list-name="payments" target="updatePaymentApplication" title=""
+ <form name="listPaymentsNotApplied" type="list" list-name="payments" target="createPaymentApplication" title=""
odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
<field name="paymentId"><hidden/></field>
<field name="toPaymentId" widget-style="buttontext">
@@ -383,7 +357,7 @@ under the License.
</field>
</form>
- <form name="addPaymentApplication" type="single" target="updatePaymentApplication" title=""
+ <form name="addPaymentApplication" type="single" target="createPaymentApplication" title=""
header-row-style="header-row" default-table-style="basic-table">
<field name="paymentId"><hidden/></field>
<field name="invoiceId"><lookup target-form-name="LookupInvoice"/></field>