Author: ashish
Date: Fri Nov 27 16:21:26 2009
New Revision: 884903
URL:
http://svn.apache.org/viewvc?rev=884903&view=revLog:
Order confirmation email gives following content when any party doesn't have userlogin associated with it.
Order Confirmation Notice
NOTE: This is a DEMO store-front. Orders placed here will NOT be billed, and will NOT be fulfilled.
Order not found with ID [WSCO10040], or not allowed to view.
Thanks Akash for the contribution - Good find.
Modified:
ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/order/OrderStatus.groovy
Modified: ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/order/OrderStatus.groovy
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/order/OrderStatus.groovy?rev=884903&r1=884902&r2=884903&view=diff==============================================================================
--- ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/order/OrderStatus.groovy (original)
+++ ofbiz/trunk/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/order/OrderStatus.groovy Fri Nov 27 16:21:26 2009
@@ -39,10 +39,18 @@
if (orderId) {
orderHeader = delegator.findOne("OrderHeader", [orderId : orderId], false);
orderStatuses = orderHeader.getRelated("OrderStatus");
- orderStatuses.each { orderStatus ->
- if ("ORDER_COMPLETED".equals(orderStatus.statusId)) {
- statusUserLogin = orderStatus.statusUserLogin;
- userLogin = delegator.findOne("UserLogin", [userLoginId :statusUserLogin], false);
+ filteredOrderStatusList = EntityUtil.filterByCondition(orderStatuses, EntityCondition.makeCondition("statusId", EntityOperator.IN, ["ORDER_COMPLETED", "ORDER_APPROVED"]));
+ if (UtilValidate.isNotEmpty(filteredOrderStatusList)) {
+ if (filteredOrderStatusList.size() < 2) {
+ statusUserLogin = EntityUtil.getFirst(filteredOrderStatusList).statusUserLogin;
+ userLogin = delegator.findOne("UserLogin", [userLoginId : statusUserLogin], false);
+ } else {
+ filteredOrderStatusList.each { orderStatus ->
+ if ("ORDER_COMPLETED".equals(orderStatus.statusId)) {
+ statusUserLogin = orderStatus.statusUserLogin;
+ userLogin = delegator.findOne("UserLogin", [userLoginId :statusUserLogin], false);
+ }
+ }
}
}
}