svn commit: r887520 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/payment/ servicedef/ webapp/accounting/WEB-INF/ webapp/ap/WEB-INF/ webapp/ar/WEB-INF/ widget/

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

svn commit: r887520 - in /ofbiz/trunk/applications/accounting: config/ script/org/ofbiz/accounting/payment/ servicedef/ webapp/accounting/WEB-INF/ webapp/ap/WEB-INF/ webapp/ar/WEB-INF/ widget/

ashish-18
Author: ashish
Date: Sat Dec  5 09:04:53 2009
New Revision: 887520

URL: http://svn.apache.org/viewvc?rev=887520&view=rev
Log:
Applied patch from jira issue OFBIZ-3310  - Cancel Pyament Group issue - Can't cancel reconciled payment batch and issued payment check.

Steps to reproduce -
Issue : -1
1.Create few payments in AR .
2.Create a batch payment for newly created payments from screen https://localhost:28443/ar/control/batchPayments (where finAccountId=SC_CHECKING).
3.Go to Financial Account screen and click on transaction tab https://localhost:28443/accounting/control/FindFinAccountTrans?finAccountId=SC_CHECKING.
4.Select GlReconciliationId as "Not Assigned" and click on serach button.
5.Select newly created FinAccountTrans from checkbox.Then select GlReconciliationName from selectbox and click on button "Assign TO reconciliation".
6.This process will associate fin account transaction with reconciliation.
7.Now click on Reconciliation tab and select the FinAccountTransaction.
8.Reconcile the transaction by clicking on Reconcile button.
9.Now the status of reconciliation will be "Reconciled".
10.Status of transaction will be "Approved".
11.Now go to Payment Group or Deposit slip tab, the created payment group will appear with Cancel button in list form.

    * This is not correct.
    * User can not cancel reconciled deposit slip.
      Similiar changes will reflect on following screens : -
      1) https://localhost:8443/ar/control/FindArPaymentGroups
      2) https://localhost:8443/accounting/control/FindPaymentGroup
      3) https://localhost:28443/accounting/control/FindDepositSlips?finAccountId=SC_CHECKING&organizationPartyId=Company

Issue : -2
1) Now go to PurchaseInvoices screen https://localhost:28443/ap/control/FindPurchaseInvoices.
2) Click on search button and select Invoices using checkbox.
3) Select "Issue Check" from select box.
4)Click on Run button.
5)Performing this action fin account transaction will be created in Apporved status .
5) Now go to to https://localhost:28443/ap/control/FindApPaymentGroups screen the created payment group will appear with Cancel button in list form.

    * This is not correct.
    * User can not cancel issued check .

Similiar changes will reflect on following screens : -
1) https://localhost:28443/ap/control/FindApPaymentGroups
2) https://localhost:8443/accounting/control/FindPaymentGroup

Thanks Awdesh & Sumit for the 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/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/webapp/ap/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml
    ofbiz/trunk/applications/accounting/widget/FinAccountForms.xml
    ofbiz/trunk/applications/accounting/widget/PaymentGroupForms.xml

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Sat Dec  5 09:04:53 2009
@@ -1843,6 +1843,10 @@
         <value xml:lang="th">ตรวจสอบจำนวน</value>
         <value xml:lang="zh">支票金额</value>
     </property>
+    <property key="AccountingCheckIsAlreadyIssued">
+        <value xml:lang="en">Check Is Already Issued</value>
+        <value xml:lang="hi_IN">जांच पहले से ही निर्गत किया जाता है</value>
+    </property>
     <property key="AccountingCheckNumber">
         <value xml:lang="en">Check Number</value>
         <value xml:lang="hi_IN">चेक/हुंडी नम्बर</value>
@@ -8896,6 +8900,10 @@
         <value xml:lang="en">Total Quantity On Hand</value>
         <value xml:lang="hi_IN">कुल मात्रा हाथ पर</value>
     </property>
+    <property key="AccountingTransactionIsAlreadyReconciled">
+        <value xml:lang="en">Transaction Is already Reconciled</value>
+        <value xml:lang="hi_IN">गतिविधि पहले से ही समझौता है</value>
+    </property>
     <property key="AccountingTransactionHasBeenAlreadyPosted">
         <value xml:lang="en">Transaction has been already posted</value>
         <value xml:lang="fr">Transaction déjà effectuée</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=887520&r1=887519&r2=887520&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 Sat Dec  5 09:04:53 2009
@@ -473,38 +473,30 @@
     </simple-method>
 
     <simple-method method-name="cancelPaymentBatch" short-description="cancel payment batch">
-        <set field="paymentGroupId" from-field="parameters.paymentGroupId"/>
-        <entity-and entity-name="PaymentGroupMember" list="paymentGroupMembers">
-            <field-map field-name="paymentGroupId"/>
+        <entity-and entity-name="PmtGrpMembrPaymentAndFinAcctTrans" list="paymentGroupMemberAndTransList">
+            <field-map field-name="paymentGroupId" from-field="parameters.paymentGroupId"/>
         </entity-and>
-        <set field="isGlReconciliationId" value="${parameters.glReconciliationId == 'null'}" type="Boolean"/>
-        <if-compare field="isGlReconciliationId" operator="equals" value="true" type="Boolean">
-            <set-service-fields service-name="getPaymentGroupReconciliationId" map="parameters" to-map="getPaymentGroupReconciliationIdMap"/>
-            <set field="getPaymentGroupReconciliationIdMap.paymentGroupId"  from-field="paymentGroupId"/>
-            <call-service service-name="getPaymentGroupReconciliationId" in-map-name="getPaymentGroupReconciliationIdMap">
-                <result-to-field result-name="glReconciliationId"/>
-            </call-service>
-        <else>
-            <set field="glReconciliationId" from-field="parameters.glReconciliationId"/>    
-        </else>
-        </if-compare>
-        <if-empty field="glReconciliationId">
-            <iterate list="paymentGroupMembers" entry="paymentGroupMember">
-                <set-service-fields service-name="expirePaymentGroupMember" map="paymentGroupMember" to-map="expirePaymentGroupMemberMap"/>
+        <if-not-empty field="paymentGroupMemberAndTransList">
+            <first-from-list list="paymentGroupMemberAndTransList" entry="paymentGroupMemberAndTrans"/>
+            <if-compare field="paymentGroupMemberAndTrans.finAccountTransStatusId" operator="equals" value="FINACT_TRNS_APPROVED">
+                <add-error>
+                    <fail-property resource="AccountingUiLabels" property="AccountingTransactionIsAlreadyReconciled"/>
+                </add-error>
+                <check-errors/>
+            </if-compare>      
+            <iterate list="paymentGroupMemberAndTransList" entry="paymentGroupMemberAndTrans">
+                <set-service-fields service-name="expirePaymentGroupMember" map="paymentGroupMemberAndTrans" to-map="expirePaymentGroupMemberMap"/>
                 <call-service service-name="expirePaymentGroupMember" in-map-name="expirePaymentGroupMemberMap"/>
-                <get-related-one relation-name="Payment" value-field="paymentGroupMember" to-value-field="payment"/>
-                <get-related-one relation-name="FinAccountTrans" value-field="payment" to-value-field="finAccountTrans"/>
+                <entity-one entity-name="FinAccountTrans" value-field="finAccountTrans">
+                    <field-map field-name="finAccountTransId" from-field="paymentGroupMemberAndTrans.finAccountTransId"/>
+                </entity-one>
                 <if-not-empty field="finAccountTrans">
                     <set-service-fields service-name="setFinAccountTransStatus" map="finAccountTrans" to-map="setFinAccountTransStatusMap"/>
                     <set field="setFinAccountTransStatusMap.statusId" value="FINACT_TRNS_CANCELED"/>
                     <call-service service-name="setFinAccountTransStatus" in-map-name="setFinAccountTransStatusMap"/>
                 </if-not-empty>
             </iterate>
-        <else>
-            <add-error><fail-property resource="AccountingUiLabels" property="AccountingCancelBatchPaymentsError"/></add-error>
-            <check-errors/>
-        </else>
-        </if-empty>
+        </if-not-empty>
     </simple-method>
     
     <simple-method method-name="createPaymentAndPaymentGroupForInvoices" short-description="Creates Payments, PaymentApplications and PaymentGroup for the same">
@@ -641,16 +633,29 @@
     </simple-method>
     
     <simple-method method-name="cancelCheckRunPayments" short-description="Cancel all payments for payment group">
-        <entity-condition entity-name="PaymentGroupMember" list="paymentGroupMembers">
-            <condition-expr field-name="paymentGroupId" from-field="parameters.paymentGroupId"/>
-        </entity-condition>
-        <iterate list="paymentGroupMembers" entry="paymentGroupMember">
-            <get-related-one relation-name="Payment" value-field="paymentGroupMember" to-value-field="payment"/>
+        <entity-and entity-name="PmtGrpMembrPaymentAndFinAcctTrans"  list="paymentGroupMemberAndTransList">
+            <field-map field-name="paymentGroupId" from-field="parameters.paymentGroupId"/>
+        </entity-and>
+        <first-from-list list="paymentGroupMemberAndTransList" entry="paymentGroupMemberAndTrans"/>
+        <if-compare field="paymentGroupMemberAndTrans.finAccountTransStatusId" operator="not-equals" value="FINACT_TRNS_APPROVED">
+        <iterate list="paymentGroupMemberAndTransList" entry="paymentGroupMemberAndTrans">
+            <entity-one entity-name="Payment" value-field="payment">
+                <field-map field-name="paymentId" from-field="paymentGroupMemberAndTrans.paymentId"/>
+            </entity-one>
             <set-service-fields service-name="voidPayment" map="payment" to-map="voidPaymentMap"/>
             <call-service service-name="voidPayment" in-map-name="voidPaymentMap"/>
-            <set-service-fields service-name="expirePaymentGroupMember" map="paymentGroupMember" to-map="expirePaymentGroupMemberMap"/>
+            <set-service-fields service-name="expirePaymentGroupMember" map="paymentGroupMemberAndTrans" to-map="expirePaymentGroupMemberMap"/>
             <call-service service-name="expirePaymentGroupMember" in-map-name="expirePaymentGroupMemberMap"/>
+            <clear-field field="voidPaymentMap"/>
+            <clear-field field="expirePaymentGroupMemberMap"/>
         </iterate>
+        <else>
+            <add-error>
+                <fail-property resource="AccountingUiLabels" property="AccountingCheckIsAlreadyIssued"/>
+            </add-error>
+            <check-errors/>
+        </else>
+        </if-compare>
     </simple-method>
     
     <simple-method method-name="getPayments" short-description="Get list of payment">

Modified: ofbiz/trunk/applications/accounting/servicedef/services_payment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/servicedef/services_payment.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/servicedef/services_payment.xml (original)
+++ ofbiz/trunk/applications/accounting/servicedef/services_payment.xml Sat Dec  5 09:04:53 2009
@@ -161,7 +161,6 @@
             location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" invoke="cancelPaymentBatch" auth="true">
         <description>cancel payment batch</description>
         <attribute name="paymentGroupId" type="String" mode="IN" optional="false"/>
-        <attribute name="glReconciliationId" type="String" mode="IN" optional="true"/>
     </service>
     <service name="createPaymentAndPaymentGroupForInvoices" engine="simple"
             location="component://accounting/script/org/ofbiz/accounting/payment/PaymentServices.xml" invoke="createPaymentAndPaymentGroupForInvoices" auth="true">

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Sat Dec  5 09:04:53 2009
@@ -440,14 +440,14 @@
         <security https="true" auth="true"/>
         <event type="service" invoke="cancelPaymentBatch"/>
         <response name="success" type="view" value="PaymentGroupOverview"/>
-        <response name="error" type="view" value="PaymentGroupOverview"/>
+        <response name="error" type="view" value="FindPaymentGroup"/>
     </request-map>
     
     <request-map uri="cancelCheckRunPayments">
         <security https="true" auth="true"/>
         <event type="service" invoke="cancelCheckRunPayments"/>
         <response name="success" type="view" value="PaymentGroupOverview"/>
-        <response name="error" type="view" value="PaymentGroupOverview"/>
+        <response name="error" type="view" value="FindPaymentGroup"/>
     </request-map>
     
     <request-map uri="DepositSlip.pdf">

Modified: ofbiz/trunk/applications/accounting/webapp/ap/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ap/WEB-INF/controller.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ap/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/ap/WEB-INF/controller.xml Sat Dec  5 09:04:53 2009
@@ -99,6 +99,12 @@
         <event type="service" invoke="massChangeInvoiceStatus"/>
         <response name="success" type="view" value="FindPurchaseInvoices"/>
     </request-map>
+    <request-map uri="cancelCheckRunPayments">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="cancelCheckRunPayments"/>
+        <response name="success" type="view" value="PaymentGroupOverview"/>
+        <response name="error" type="view" value="FindApPaymentGroups"/>
+    </request-map>
 
     <!-- ================ Vendor requests ================ -->
     <request-map uri="findVendors">

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=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/ar/WEB-INF/controller.xml Sat Dec  5 09:04:53 2009
@@ -95,6 +95,12 @@
         <response name="success" type="view" value="FindArInvoices"/>
         <response name="error" type="view" value="FindArInvoices"/>
     </request-map>
+    <request-map uri="cancelPaymentGroup">
+        <security https="true" auth="true"/>
+        <event type="service" invoke="cancelPaymentBatch"/>
+        <response name="success" type="view" value="PaymentGroupOverview"/>
+        <response name="error" type="view" value="FindArPaymentGroups"/>
+    </request-map>
     <!-- end of request mappings -->
 
     <!-- View Mappings -->

Modified: ofbiz/trunk/applications/accounting/widget/FinAccountForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/FinAccountForms.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/FinAccountForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/FinAccountForms.xml Sat Dec  5 09:04:53 2009
@@ -263,7 +263,7 @@
                 <parameter param-name="finAccountId"/>
             </hyperlink>
         </field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'BATCH_PAYMENT'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'BATCH_PAYMENT'} @and ${paymentGroupMemberAndTransList[0].finAccountTransStatusId != 'FINACT_TRNS_APPROVED'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
             <hyperlink target="deleteDepositSlip" description="${uiLabelMap.CommonCancel}" also-hidden="false">
                 <parameter param-name="paymentGroupId"/>
                 <parameter param-name="finAccountId"/>

Modified: ofbiz/trunk/applications/accounting/widget/PaymentGroupForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/PaymentGroupForms.xml?rev=887520&r1=887519&r2=887520&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/PaymentGroupForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/PaymentGroupForms.xml Sat Dec  5 09:04:53 2009
@@ -35,6 +35,9 @@
             <entity-and entity-name="PaymentGroupMember" list="paymentGroupMembers" filter-by-date="true">
                 <field-map field-name="paymentGroupId"/>
             </entity-and>
+            <entity-and entity-name="PmtGrpMembrPaymentAndFinAcctTrans" list="paymentGroupMemberAndTransList" filter-by-date="true">
+                <field-map field-name="paymentGroupId"/>
+            </entity-and>
         </row-actions>
         <field name="paymentGroupId" widget-style="buttontext">
             <hyperlink description="${paymentGroupId}" target="PaymentGroupOverview">
@@ -43,18 +46,23 @@
         </field>
         <field name="paymentGroupTypeId" title="${uiLabelMap.FormFieldTitle_paymentGroupType}"><display-entity entity-name="PaymentGroupType"/></field>
         <field name="paymentGroupName"><display description="${paymentGroupName}"/></field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'BATCH_PAYMENT'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
-            <hyperlink target="cancelPaymentGroup" description="${uiLabelMap.CommonCancel}" also-hidden="false">
+        <field name="depositSlip" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'BATCH_PAYMENT'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
+            <hyperlink target="DepositSlip.pdf" description="${uiLabelMap.AccountingInvoicePDF}" also-hidden="false">
                 <parameter param-name="paymentGroupId"/>
             </hyperlink>
         </field>
-        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'CHECK_RUN'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
-            <hyperlink target="cancelCheckRunPayments" description="${uiLabelMap.CommonCancel}" also-hidden="false">
+        <field name="printCheck" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'CHECK_RUN'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
+            <hyperlink target="printChecks.pdf" description="${uiLabelMap.AccountingInvoicePDF}" also-hidden="false">
                 <parameter param-name="paymentGroupId"/>
             </hyperlink>
         </field>
-        <field name="depositSlip" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
-            <hyperlink target="DepositSlip.pdf" description="${uiLabelMap.AccountingInvoicePDF}" also-hidden="false">
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'BATCH_PAYMENT'} @and ${paymentGroupMemberAndTransList[0].finAccountTransStatusId != 'FINACT_TRNS_APPROVED'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
+            <hyperlink target="cancelPaymentGroup" description="${uiLabelMap.CommonCancel}" also-hidden="false">
+                <parameter param-name="paymentGroupId"/>
+            </hyperlink>
+        </field>
+        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" use-when="${paymentGroupTypeId == 'CHECK_RUN'} @and ${paymentGroupMemberAndTransList[0].finAccountTransStatusId != 'FINACT_TRNS_APPROVED'} @and ${groovy:org.ofbiz.base.util.UtilValidate.isNotEmpty(paymentGroupMembers)}">
+            <hyperlink target="cancelCheckRunPayments" description="${uiLabelMap.CommonCancel}" also-hidden="false">
                 <parameter param-name="paymentGroupId"/>
             </hyperlink>
         </field>