Author: ashish
Date: Tue Jul 7 15:57:44 2009 New Revision: 791883 URL: http://svn.apache.org/viewvc?rev=791883&view=rev Log: Applied patch from jira issue OFBIZ-2699 - Create Payment Batches for Ar Payment Following things are covered in this section: – Added running total functionality . – Improvement in existing code and service logic Thanks Awdesh, Rishi, Sumit & Anil 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/controller.xml ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl ofbiz/trunk/applications/accounting/widget/ar/ArMenus.xml ofbiz/trunk/applications/accounting/widget/ar/CommonScreens.xml Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original) +++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Tue Jul 7 15:57:44 2009 @@ -5997,9 +5997,6 @@ <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> @@ -6772,6 +6769,9 @@ <value xml:lang="th">หมายà¹à¸¥à¸ Routing</value> <value xml:lang="zh">è·¯ç±å·ç </value> </property> + <property key="AccountingRunningTotal"> + <value xml:lang="en">Running Total</value> + </property> <property key="AccountingSalesInvoiceToRevenue"> <value xml:lang="en">Sales Invoice type to Revenue GL Account Number assignment list</value> <value xml:lang="es">Lista de asignación tipo de factura de venta a número de cuenta de LM</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=791883&r1=791882&r2=791883&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 Tue Jul 7 15:57:44 2009 @@ -430,29 +430,33 @@ <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"/> + <set field="createPaymentGroupCtx.paymentGroupName" from-field="parameters.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> + <set field="paymentIds" from-field="parameters.paymentIds"/> + <iterate list="paymentIds" entry="paymentId"> + <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"/> + </iterate> <field-to-result field="paymentGroupId"/> </simple-method> + <simple-method method-name="getPaymentRunningTotal" short-description="calculate running total for payments"> + <set field="paymentIds" from-field="parameters.paymentIds"/> + <set field="paymentRunningTotal" type="BigDecimal" value="0"/> + <iterate list="paymentIds" entry="paymentId"> + <entity-one entity-name="Payment" value-field="payment"> + <field-map field-name="paymentId" from-field="paymentId"/> + </entity-one> + <calculate field="paymentRunningTotal"> + <calcop operator="add" field="paymentRunningTotal"> + <calcop operator="get" field="payment.amount"/> + </calcop> + </calculate> + </iterate> + <field-to-result field="paymentRunningTotal"/> + </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=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/servicedef/services_payment.xml (original) +++ ofbiz/trunk/applications/accounting/servicedef/services_payment.xml Tue Jul 7 15:57:44 2009 @@ -150,9 +150,15 @@ </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"/> + <description>create batch for payments</description> + <attribute name="paymentIds" type="List" mode="IN" optional="false"/> <attribute name="paymentGroupName" type="String" mode="IN" optional="false"/> - <attribute name="paymentGroupId" type="String" mode="INOUT" optional="true"/> + <attribute name="paymentGroupId" type="String" mode="OUT" optional="false"/> + </service> + <service name="getPaymentRunningTotal" engine="simple" + location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" invoke="getPaymentRunningTotal" auth="true"> + <description>calculate running total for payments</description> + <attribute name="paymentIds" type="List" mode="IN" optional="false"/> + <attribute name="paymentRunningTotal" type="BigDecimal" mode="OUT" optional="false"/> </service> </services> 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=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml Tue Jul 7 15:57:44 2009 @@ -47,10 +47,15 @@ </request-map> <request-map uri="createPaymentBatch"> <security https="true" auth="true"/> - <event type="service-multi" invoke="createPaymentBatch"/> - <response name="success" type="view" value="BatchPayments"/> + <event type="service" invoke="createPaymentBatch"/> + <response name="success" type="view" value="EditPaymentGroup"/> <response name="error" type="view" value="BatchPayments"/> </request-map> + <request-map uri="getPaymentRunningTotal"> + <event type="jsonservice" invoke="getPaymentRunningTotal"/> + <response name="success" type="none"/> + <response name="error" type="none"/> + </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=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl (original) +++ ofbiz/trunk/applications/accounting/webapp/ar/payment/batchPayments.ftl Tue Jul 7 15:57:44 2009 @@ -16,16 +16,49 @@ specific language governing permissions and limitations under the License. --> + +<script language="JavaScript" type="text/javascript"> +<!-- // + +function togglePaymentId(master) { + var form = document.paymentBatchForm; + var payments = form.elements.length; + for (var i = 0; i < payments; i++) { + var element = form.elements[i]; + if (element.name == "paymentIds") { + element.checked = master.checked; + } + } + getPaymentRunningTotal(master); +} +function getPaymentRunningTotal(e) { + if (!($(e).checked)) { + $('checkAllPayments').checked = false; + } + new Ajax.Request('getPaymentRunningTotal', { + asynchronous: false, + onSuccess: function(transport) { + var data = transport.responseText.evalJSON(true); + $('showPaymentRunningTotal').update(data.paymentRunningTotal); + }, parameters: $('paymentBatchForm').serialize(), requestHeaders: {Accept: 'application/json'} + }); +} +// --> + +</script> <div class="screenlet"> <div class="screenlet-body"> - <form method="post" action="<@ofbizUrl>createPaymentBatch</@ofbizUrl>" name='paymentBatchForm'> - <input type="hidden" name="_useRowSubmit" value="Y"> + <form id="paymentBatchForm" name="paymentBatchForm" method="post" action="<@ofbizUrl>createPaymentBatch</@ofbizUrl>"> <#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> + <div> + <span class="label">${uiLabelMap.AccountingRunningTotal} :</span> + <span class="label" id="showPaymentRunningTotal"></span> + </div> <table class="basic-table"> <tr class="header-row"> <td>${uiLabelMap.FormFieldTitle_paymentId}</td> @@ -34,11 +67,10 @@ <td>${uiLabelMap.CommonDate}</td> <td align="right"> ${uiLabelMap.ProductSelectAll} - <input id="selectAll" type="checkbox" name="selectAll" value="Y" onclick="javascript:toggleAll(this, 'paymentBatchForm');"/> + <input type="checkbox" id="checkAllPayments" name="checkAllPayments" onchange="javascript:togglePaymentId(this);"/> </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> @@ -52,7 +84,7 @@ <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');"> + <input type="checkbox" id="paymentId_${payment_index}" name="paymentIds" value="${payment.paymentId}" onclick="javascript:getPaymentRunningTotal('paymentId_${payment_index}');"/> </td> </tr> </#list> Modified: ofbiz/trunk/applications/accounting/widget/ar/ArMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ar/ArMenus.xml?rev=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/ar/ArMenus.xml (original) +++ ofbiz/trunk/applications/accounting/widget/ar/ArMenus.xml Tue Jul 7 15:57:44 2009 @@ -23,6 +23,7 @@ <menu-item name="agreements" title="${uiLabelMap.AccountingAgreements}"><link target="FindAgreement"/></menu-item> <menu-item name="invoices" title="${uiLabelMap.AccountingInvoicesMenu}"><link target="findInvoices"/></menu-item> <menu-item name="payments" title="${uiLabelMap.AccountingPaymentsMenu}"><link target="findPayments"/></menu-item> + <menu-item name="PaymentGroup" title="${uiLabelMap.AccountingPaymentGroup}"><link target="FindPaymentGroup"/></menu-item> <menu-item name="reports" title="${uiLabelMap.AccountingReports}"><link target="ListReports"/></menu-item> </menu> <menu name="ArPaymentTabBar" extends="CommonTabBarMenu" extends-resource="component://common/widget/CommonMenus.xml"> Modified: ofbiz/trunk/applications/accounting/widget/ar/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ar/CommonScreens.xml?rev=791883&r1=791882&r2=791883&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/widget/ar/CommonScreens.xml (original) +++ ofbiz/trunk/applications/accounting/widget/ar/CommonScreens.xml Tue Jul 7 15:57:44 2009 @@ -117,4 +117,45 @@ </widgets> </section> </screen> + <screen name="CommonPaymentGroupDecorator"> + <section> + <actions> + <set field="headerItem" value="PaymentGroup"/> + <set field="paymentGroupId" from-field="parameters.paymentGroupId"/> + <entity-one entity-name="PaymentGroup" value-field="paymentGroup"/> + </actions> + <widgets> + <decorator-screen name="main-decorator"> + <decorator-section name="pre-body"> + <section> + <widgets> + <include-menu name="PaymentGroupTabBar" location="component://accounting/widget/Menus.xml"/> + </widgets> + </section> + </decorator-section> + <decorator-section name="body"> + <section> + <widgets> + <section> + <condition> + <not><if-empty field="paymentGroup"/></not> + </condition> + <widgets> + <container style="h1"><label>${uiLabelMap[titleProperty]} ${uiLabelMap.CommonFor} ${paymenGroup.paymentGroupName} [${paymentGroupId}]</label></container> + <container style="button-bar"> + <link target="EditPaymentGroup" text="${uiLabelMap.AccountingCreateNewPaymentGroup}" style="buttontext"/> + </container> + </widgets> + <fail-widgets> + <container style="h1"><label>${uiLabelMap.AccountingNewPaymentGroup}</label></container> + </fail-widgets> + </section> + <decorator-section-include name="body"/> + </widgets> + </section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> </screens> \ No newline at end of file |
Free forum by Nabble | Edit this page |