svn commit: r791510 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/payment/ servicedef/ webapp/ar/WEB-INF/ webapp/ar/WEB-INF/actions/ webapp/ar/payment/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r791510 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/payment/ servicedef/ webapp/ar/WEB-INF/ webapp/ar/WEB-INF/actions/ webapp/ar/payment/

ashish-18
Author: ashish
Date: Mon Jul  6 15:16:40 2009
New Revision: 791510

URL: http://svn.apache.org/viewvc?rev=791510&view=rev
Log:
Applied patch from jira issue OFBIZ-2699 - Create Payment Batches for Ar Payment
Following thing is covered in this patch:
– Written a service to create a batch for selected payments from list of payment.

Thanks Awdesh & Rishi for your contribution.

Modified:
    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
    ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml
    ofbiz/trunk/applications/accounting/servicedef/services_payment.xml
    ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy
    ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=791510&r1=791509&r2=791510&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Mon Jul  6 15:16:40 2009
@@ -1826,6 +1826,9 @@
         <value xml:lang="th">สร้างสัญญา</value>
         <value xml:lang="zh">新建指定</value>
     </property>
+    <property key="AccountingCreateBatch">
+        <value xml:lang="en">Create Batch</value>
+    </property>
     <property key="AccountingCreateBillingAccount">
         <value xml:lang="ar">استحداث حساب فوترة</value>
         <value xml:lang="de">Rechnungskonto erstellen</value>
@@ -5988,6 +5991,9 @@
         <value xml:lang="th">ข้อมูลการชำระเงิน</value>
         <value xml:lang="zh">支付信息</value>
     </property>
+    <property key="AccountingPaymentIsAlreadyBatched">
+        <value xml:lang="en">PaymentId ${paymentId} Is Already Batched</value>
+    </property>
     <property key="AccountingPaymentLessRequested">
         <value xml:lang="en">Payment [${paymentId}] has  ${paymentApplyAvailable?currency(${isoCode})} to apply but ${amountApplied?currency(${isoCode})} is requested</value>
         <value xml:lang="es">Pago [${paymentId}] tiene ${paymentApplyAvailable?currency(${isoCode})} para aplicar pero ${amountApplied?currency(${isoCode})} es requerido</value>

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=791510&r1=791509&r2=791510&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 Mon Jul  6 15:16:40 2009
@@ -428,4 +428,31 @@
         </iterate>
     </simple-method>
 
+    <simple-method method-name="createPaymentBatch" short-description="create a batch of payments">
+        <now-timestamp field="nowTimestamp"/>
+        <set field="paymentId" from-field="parameters.paymentId"/>
+        <entity-and entity-name="PaymentGroupMember" list="paymentGroupMembers">
+            <field-map field-name="paymentId"/>
+        </entity-and>
+        <if-not-empty field="paymentGroupMembers">
+            <add-error><fail-property resource="AccountingUiLabels" property="AccountingPaymentIsAlreadyBatched"/></add-error>
+            <check-errors/>
+        </if-not-empty>
+        <set field="paymentGroupId" from-field="parameters.paymentGroupId"/>
+        <set field="paymentGroupName" from-field="parameters.paymentGroupName"/>
+        <if-empty field="paymentGroupId">
+            <if-not-empty field="paymentGroupName">
+                <set field="createPaymentGroupCtx.paymentGroupName" from-field="paymentGroupName"/>
+                <set field="createPaymentGroupCtx.paymentGroupTypeId" value="BATCH_PAYMENT"/>
+                <call-service service-name="createPaymentGroup" in-map-name="createPaymentGroupCtx">
+                    <result-to-field result-name="paymentGroupId"/>
+                </call-service>
+            </if-not-empty>
+        </if-empty>
+        <set field="createPaymentGroupMemberCtx.paymentId" from-field="paymentId"/>
+        <set field="createPaymentGroupMemberCtx.paymentGroupId" from-field="paymentGroupId"/>
+        <set field="createPaymentGroupMemberCtx.fromDate" from-field="nowTimestamp"/>
+        <call-service service-name="createPaymentGroupMember" in-map-name="createPaymentGroupMemberCtx"/>
+        <field-to-result field="paymentGroupId"/>
+    </simple-method>
 </simple-methods>

Modified: ofbiz/trunk/applications/accounting/servicedef/services_payment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_payment.xml?rev=791510&r1=791509&r2=791510&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_payment.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_payment.xml Mon Jul  6 15:16:40 2009
@@ -148,4 +148,11 @@
             INVOICE_READY if status is INVOICE_PAID, and reverses related AcctgTrans by calling copyAcctgTransAndEntries service</description>
         <attribute name="paymentId" mode="IN" optional="false" type="String"/>
     </service>
+    <service name="createPaymentBatch" engine="simple"
+            location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" invoke="createPaymentBatch" auth="true">
+        <description>Create a batch for payment</description>
+        <attribute name="paymentId" type="String" mode="IN" optional="false"/>
+        <attribute name="paymentGroupName" type="String" mode="IN" optional="false"/>
+        <attribute name="paymentGroupId" type="String" mode="INOUT" optional="true"/>
+    </service>
 </services>

Modified: ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy?rev=791510&r1=791509&r2=791510&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy (original)
+++ ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy Mon Jul  6 15:16:40 2009
@@ -17,7 +17,9 @@
  * under the License.
  */
 
-import org.ofbiz.entity.condition.*;
+import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.entity.condition.EntityCondition;
+import org.ofbiz.entity.condition.EntityOperator;
 
 List paymentCond = [];
 if (paymentMethodTypeId) {
@@ -39,14 +41,11 @@
             paymentGroupMember = delegator.findList("PaymentGroupMember", EntityCondition.makeCondition([paymentId : payment.paymentId]), null, null, null, false);
             if (!paymentGroupMember) {
                 if (cardType && payment.paymentMethodId) {
-                    
-                        creditCard = delegator.findOne("CreditCard", [paymentMethodId : payment.paymentMethodId], false);
-                        if (creditCard.cardType == cardType) {
-                            paymentListWithCreditCard.add(payment);
-                        }
-                
-                }
-                else {
+                    creditCard = delegator.findOne("CreditCard", [paymentMethodId : payment.paymentMethodId], false);
+                    if (creditCard.cardType == cardType) {
+                        paymentListWithCreditCard.add(payment);
+                    }
+                } else if (UtilValidate.isEmpty(cardType)) {
                     paymentListWithoutCreditCard.add(payment);
                 }
             }

Modified: ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml?rev=791510&r1=791509&r2=791510&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml Mon Jul  6 15:16:40 2009
@@ -45,6 +45,12 @@
         <security auth="true" https="true"/>
         <response name="success" type="view" value="LookupCustomerName"/>
     </request-map>
+    <request-map uri="createPaymentBatch">
+        <security https="true" auth="true"/>
+        <event type="service-multi" invoke="createPaymentBatch"/>
+        <response name="success" type="view" value="BatchPayments"/>
+        <response name="error" type="view" value="BatchPayments"/>
+    </request-map>
     <!-- end of request mappings -->
 
     <!-- View Mappings -->

Modified: ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl?rev=791510&r1=791509&r2=791510&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl (original)
+++ ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl Mon Jul  6 15:16:40 2009
@@ -18,16 +18,27 @@
 -->
 <div class="screenlet">
     <div class="screenlet-body">
-        <form name='batchPaymentForm'>
-            <table class="basic-table">
-                <tr class="header-row">
-                    <td>${uiLabelMap.FormFieldTitle_paymentId}</td>
-                    <td>${uiLabelMap.Party}</td>
-                    <td>${uiLabelMap.CommonAmount}</td>
-                    <td>${uiLabelMap.CommonDate}</td>
-                </tr>
-                <#if paymentList?has_content>
+        <form method="post" action="<@ofbizUrl>createPaymentBatch</@ofbizUrl>" name='paymentBatchForm'>
+            <input type="hidden" name="_useRowSubmit" value="Y">
+            <#if paymentList?has_content>
+                <div>
+                    <span class="label">${uiLabelMap.AccountingPayment} ${uiLabelMap.PartyPartyGroupName}</span>
+                    <input type="text" size='25' name='paymentGroupName'>
+                    <input type="hidden" name='organizationPartyId' value="${organizationPartyId?if_exists}">
+                </div>
+                <table class="basic-table">
+                    <tr class="header-row">
+                        <td>${uiLabelMap.FormFieldTitle_paymentId}</td>
+                        <td>${uiLabelMap.Party}</td>
+                        <td>${uiLabelMap.CommonAmount}</td>
+                        <td>${uiLabelMap.CommonDate}</td>
+                        <td align="right">
+                            ${uiLabelMap.ProductSelectAll}&nbsp;
+                            <input id="selectAll" type="checkbox" name="selectAll" value="Y" onclick="javascript:toggleAll(this, 'paymentBatchForm');"/>
+                        </td>
+                    </tr>
                     <#list paymentList as payment>
+                        <input type="hidden" name="paymentId_o_${payment_index}" value="${payment.paymentId}"/>
                         <tr>
                             <td><a href="<@ofbizUrl>paymentOverview?paymentId=${payment.paymentId}</@ofbizUrl>">${payment.paymentId}</a></td>
                             <td>
@@ -38,12 +49,20 @@
                                     ${(partyName.groupName)!}
                                 </#if>
                             </td>
-                            <td>${payment.amount?if_exists}</td>
+                            <td><@ofbizCurrency amount=payment.amount isoCode=payment.currencyUomId/></td>
                             <td>${payment.effectiveDate?if_exists}</td>
+                            <td align="right">
+                                <input type="checkbox" name="_rowSubmit_o_${payment_index}" value="Y" onclick="javascript:checkToggle(this, 'paymentBatchForm');">
+                            </td>
                         </tr>
                     </#list>
-                </#if>
-            </table>
+                    <tr>
+                        <td align="right">
+                            <a href="javascript:document.paymentBatchForm.submit();" class="buttontext">${uiLabelMap.AccountingCreateBatch}</a>
+                        </td>
+                    </tr>
+                </table>
+            </#if>
         </form>
     </div>
 </div>
\ No newline at end of file