Author: sichen
Date: Wed Dec 12 17:01:46 2007
New Revision: 603794

URL: http://svn.apache.org/viewvc?rev=603794&view=rev
Log:
Cosmetic fix for OrderPaymentPreference:  When captures are deeclined, set the 
status to PAYMENT_DECLINED.  This makes more sense when looking at the results 
on orderview.  Previously, it wasn't even checking if the capture was declined 
or not and always setting them to Settled or Received, which is erroneous.

Modified:
    
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java

Modified: 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java?rev=603794&r1=603793&r2=603794&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
 (original)
+++ 
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java
 Wed Dec 12 17:01:46 2007
@@ -1989,7 +1989,8 @@
         Double amount = (Double) context.get("captureAmount");
         String serviceType = (String) context.get("serviceTypeEnum");
         String currencyUomId = (String) context.get("currencyUomId");
-        
+        boolean captureSuccessful = ((Boolean) 
context.get("captureResult")).booleanValue();
+
         String paymentMethodTypeId = 
paymentPreference.getString("paymentMethodTypeId");
 
         if (UtilValidate.isEmpty(serviceType)) {
@@ -2005,7 +2006,13 @@
         }
 
         // update the status and maxAmount
-        paymentPreference.set("statusId", 
("EXT_BILLACT".equals(paymentMethodTypeId)? "PAYMENT_RECEIVED": 
"PAYMENT_SETTLED"));
+        String prefStatusId;
+        if (captureSuccessful) {
+            prefStatusId = "EXT_BILLACT".equals(paymentMethodTypeId) ? 
"PAYMENT_RECEIVED": "PAYMENT_SETTLED";
+        } else {
+            prefStatusId = "PAYMENT_DECLINED";
+        }
+        paymentPreference.set("statusId", prefStatusId);
         paymentPreference.set("maxAmount", amount);
         try {
             paymentPreference.store();


Reply via email to