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> |
Free forum by Nabble | Edit this page |