You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2007/07/07 15:26:47 UTC
svn commit: r554200 - in /ofbiz/trunk/applications: ecommerce/config/
ecommerce/data/ ecommerce/templates/email/
ecommerce/webapp/ecommerce/WEB-INF/actions/order/ ecommerce/widget/
order/servicedef/ order/src/org/ofbiz/order/order/ product/data/ produc...
Author: jleroux
Date: Sat Jul 7 06:26:45 2007
New Revision: 554200
URL: http://svn.apache.org/viewvc?view=rev&rev=554200
Log:
A patch from Ashish Vijaywargiya "Email Notification on Shipment SHIPPED" (https://issues.apache.org/jira/browse/OFBIZ-1076)
Added:
ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl (with props)
ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh (with props)
Modified:
ofbiz/trunk/applications/ecommerce/config/EcommerceUiLabels.properties
ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml
ofbiz/trunk/applications/ecommerce/widget/EmailOrderScreens.xml
ofbiz/trunk/applications/order/servicedef/services.xml
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
ofbiz/trunk/applications/product/data/ProductTypeData.xml
ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml
ofbiz/trunk/applications/product/servicedef/secas_shipment.xml
ofbiz/trunk/applications/product/servicedef/services_shipment.xml
Modified: ofbiz/trunk/applications/ecommerce/config/EcommerceUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/config/EcommerceUiLabels.properties?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/ecommerce/config/EcommerceUiLabels.properties (original)
+++ ofbiz/trunk/applications/ecommerce/config/EcommerceUiLabels.properties Sat Jul 7 06:26:45 2007
@@ -525,6 +525,7 @@
PageTitleSearchResults=Search Results
PageTitleSearchSites=Search Sites
PageTitleSentMessages=Sent Messages
+PageTitleOrderShipmentCompleteNotice=Shipment Complete Notice
PageTitleShippingInformation=Shipping Information
PageTitleShippingOptions=Shipping Options
PageTitleShoppingCart=Shopping Cart
@@ -710,4 +711,4 @@
ProductUsuallyShipsIn=Usually ships in
ProductYouSearchedFor=you searched for
RequestHistory=Request History
-QuoteHistory=Quote History
+QuoteHistory=Quote History
\ No newline at end of file
Modified: ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml (original)
+++ ofbiz/trunk/applications/ecommerce/data/DemoProduct.xml Sat Jul 7 06:26:45 2007
@@ -72,6 +72,7 @@
<ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_ODR_BACKORDER" bodyScreenLocation="component://ecommerce/widget/EmailOrderScreens.xml#BackorderNotice" subject="OFBiz Demo - Backorder Notification #${orderId}" fromAddress="ofbiztest@yahoo.com"/>
<ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_ODR_CHANGE" bodyScreenLocation="component://ecommerce/widget/EmailOrderScreens.xml#OrderChangeNotice" subject="OFBiz Demo - Order Change Notification #${orderId}" fromAddress="ofbiztest@yahoo.com"/>
<ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_ODR_PAYRETRY" bodyScreenLocation="component://ecommerce/widget/EmailOrderScreens.xml#PaymentRetryNotice" subject="OFBiz Demo - Order Payment Notification #${orderId}" fromAddress="ofbiztest@yahoo.com"/>
+ <ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_ODR_SHIP_COMPLT" bodyScreenLocation="component://ecommerce/widget/EmailOrderScreens.xml#ShipmentCompleteNotice" subject="OFBiz Demo - Shipment Complete Notification #${orderId}" fromAddress="ofbiztest@yahoo.com"/>
<ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_RTN_ACCEPT" bodyScreenLocation="component://ecommerce/widget/EmailReturnScreens.xml#ReturnAccept" subject="OFBiz Demo - Return Accepted #${returnHeader.returnId}" fromAddress="ofbiztest@yahoo.com"/>
<ProductStoreEmailSetting productStoreId="9000" emailType="PRDS_RTN_COMPLETE" bodyScreenLocation="component://ecommerce/widget/EmailReturnScreens.xml#ReturnComplete" subject="OFBiz Demo - Return Completed #${returnHeader.returnId}" fromAddress="ofbiztest@yahoo.com"/>
Added: ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl?view=auto&rev=554200
==============================================================================
--- ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl (added)
+++ ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl Sat Jul 7 06:26:45 2007
@@ -0,0 +1,64 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+
+<table cellpadding="0" cellspacing="0" width="80%" border="0" class="boxoutside">
+ <tr>
+ <td colspan="3" class="tableheadtext">
+ This email is to inform you that your shipment has been completed.
+ </td>
+ </tr>
+ <tr><td colspan="3"> </td></tr>
+ <#if orderItemShipGroups?has_content>
+ <tr>
+ <td colspan="3">
+ <h3>${uiLabelMap.OrderShippingInformation}</h3>
+ </td>
+ </tr>
+ <#assign groupIdx = 0>
+ <#list orderItemShipGroups as shipGroup>
+ <#-- tracking number -->
+ <#if trackingNumber?has_content || orderShipmentInfoSummaryList?has_content>
+ <tr>
+ <td align="right" valign="top" width="15%" nowrap>
+ <div class="tabletext"> <b>${uiLabelMap.OrderTrackingNumber}</b></div>
+ </td>
+ <td width="5"> </td>
+ <td align="left" valign="top" width="80%">
+ <#-- TODO: add links to UPS/FEDEX/etc based on carrier partyId -->
+ <#if shipGroup.trackingNumber?has_content>
+ <div class="tabletext">${shipGroup.trackingNumber}</div>
+ </#if>
+ <#if orderShipmentInfoSummaryList?has_content>
+ <#list orderShipmentInfoSummaryList as orderShipmentInfoSummary>
+ <div class="tabletext">
+ <#if (orderShipmentInfoSummaryList?size > 1)>${orderShipmentInfoSummary.shipmentPackageSeqId}: </#if>
+ Code: ${orderShipmentInfoSummary.trackingCode?default("[Not Yet Known]")}
+ <#if orderShipmentInfoSummary.boxNumber?has_content>${uiLabelMap.OrderBoxNubmer}${orderShipmentInfoSummary.boxNumber}</#if>
+ <#if orderShipmentInfoSummary.carrierPartyId?has_content>(${uiLabelMap.ProductCarrier}: ${orderShipmentInfoSummary.carrierPartyId})</#if>
+ </div>
+ </#list>
+ </#if>
+ </td>
+ </tr>
+ </#if>
+ <#assign groupIdx = groupIdx + 1>
+ </#list>
+ </#if>
+</table>
\ No newline at end of file
Propchange: ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/ecommerce/templates/email/ShipmentNotificationEmail.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh?view=auto&rev=554200
==============================================================================
--- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh (added)
+++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh Sat Jul 7 06:26:45 2007
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.base.util.*;
+import org.ofbiz.entity.*;
+import org.ofbiz.entity.condition.*;
+import org.ofbiz.entity.util.*;
+import org.ofbiz.order.order.OrderReadHelper;
+
+
+orderId = parameters.get("orderId");
+
+if(orderId != null) {
+ orderHeader = delegator.findByPrimaryKey("OrderHeader", UtilMisc.toMap("orderId", orderId));
+ orderReadHelper = new OrderReadHelper(orderHeader);
+ orderItemShipGroups = orderReadHelper.getOrderItemShipGroups();
+ context.put("orderItemShipGroups", orderItemShipGroups);
+
+ osisCond = new EntityFieldMap(UtilMisc.toMap("orderId", orderId), EntityOperator.AND);
+ osisOrder = UtilMisc.toList("shipmentId", "shipmentRouteSegmentId", "shipmentPackageSeqId");
+ osisFields = UtilMisc.toList("shipmentId", "shipmentRouteSegmentId", "carrierPartyId", "shipmentMethodTypeId");
+ osisFields.add("shipmentPackageSeqId");
+ osisFields.add("trackingCode");
+ osisFields.add("boxNumber");
+ osisFindOptions = new EntityFindOptions(); osisFindOptions.setDistinct(true);
+ orderShipmentInfoSummaryList = delegator.findByCondition("OrderShipmentInfoSummary", osisCond, null, osisFields, osisOrder, osisFindOptions);
+ context.put("orderShipmentInfoSummaryList",orderShipmentInfoSummaryList);
+}
Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ofbiz/trunk/applications/ecommerce/widget/EmailOrderScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/EmailOrderScreens.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/ecommerce/widget/EmailOrderScreens.xml (original)
+++ ofbiz/trunk/applications/ecommerce/widget/EmailOrderScreens.xml Sat Jul 7 06:26:45 2007
@@ -146,4 +146,16 @@
</widgets>
</section>
</screen>
+ <screen name="ShipmentCompleteNotice">
+ <section>
+ <actions>
+ <set field="title" value="${uiLabelMap.PageTitleOrderShipmentCompleteNotice}"/>
+ <set field="baseEcommerceSecureUrl" value="${baseSecureUrl}/ecommerce/control/"/>
+ <script location="component://ecommerce/webapp/ecommerce/WEB-INF/actions/order/shipmentstatus.bsh"/>
+ </actions>
+ <widgets>
+ <platform-specific><html><html-template location="component://ecommerce/templates/email/ShipmentNotificationEmail.ftl"/></html></platform-specific>
+ </widgets>
+ </section>
+ </screen>
</screens>
Modified: ofbiz/trunk/applications/order/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/services.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/services.xml Sat Jul 7 06:26:45 2007
@@ -759,5 +759,10 @@
<attribute name="orderList" type="List" mode="OUT" optional="false"/>
<attribute name="orderListSize" type="Integer" mode="OUT" optional="false"/>
</service>
-
+
+ <service name="sendShipCompleteNotification" engine="java" require-new-transaction="true" max-retry="3"
+ location="org.ofbiz.order.order.OrderServices" invoke="sendShipCompleteNotification">
+ <description>Send a Shipment complete notification</description>
+ <implements service="orderNotificationInterface"/>
+ </service>
</services>
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java Sat Jul 7 06:26:45 2007
@@ -2080,18 +2080,20 @@
public static Map sendOrderPayRetryNotification(DispatchContext ctx, Map context) {
return sendOrderNotificationScreen(ctx, context, "PRDS_ODR_PAYRETRY");
}
-
+
+ public static Map sendShipCompleteNotification(DispatchContext ctx, Map context) {
+ return sendOrderNotificationScreen(ctx, context, "PRDS_ODR_SHIP_COMPLT");
+ }
protected static Map sendOrderNotificationScreen(DispatchContext dctx, Map context, String emailType) {
LocalDispatcher dispatcher = dctx.getDispatcher();
GenericDelegator delegator = dctx.getDelegator();
GenericValue userLogin = (GenericValue) context.get("userLogin");
- String orderId = (String) context.get("orderId");
+ String orderId = (String) context.get("orderId");
String orderItemSeqId = (String) context.get("orderItemSeqId");
String sendTo = (String) context.get("sendTo");
String sendCc = (String) context.get("sendCc");
String note = (String) context.get("note");
- String screenUri = (String) context.get("screenUri");
-
+ String screenUri = (String) context.get("screenUri");
GenericValue temporaryAnonymousUserLogin = (GenericValue) context.get("temporaryAnonymousUserLogin");
if (userLogin == null) {
// this may happen during anonymous checkout, try to the special case user
Modified: ofbiz/trunk/applications/product/data/ProductTypeData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/data/ProductTypeData.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/product/data/ProductTypeData.xml (original)
+++ ofbiz/trunk/applications/product/data/ProductTypeData.xml Sat Jul 7 06:26:45 2007
@@ -100,6 +100,7 @@
<Enumeration description="Gift-Card Purchase" enumCode="GC_PURCHASE" enumId="PRDS_GC_PURCHASE" enumTypeId="PRDS_EMAIL" sequenceId="12"/>
<Enumeration description="Gift-Card Reload" enumCode="GC_RELOAD" enumId="PRDS_GC_RELOAD" enumTypeId="PRDS_EMAIL" sequenceId="13"/>
<Enumeration description="Quote Confirmation" enumCode="QUO_CONFIRM" enumId="PRDS_QUO_CONFIRM" enumTypeId="PRDS_EMAIL" sequenceId="14"/>
+ <Enumeration description="Shipment Complete" enumCode="SHP_COMPLETE" enumId="PRDS_ODR_SHIP_COMPLT" enumTypeId="PRDS_EMAIL" sequenceId="15"/>
<EnumerationType description="Facility Location Type" enumTypeId="FACLOC_TYPE" hasTable="N" parentTypeId=""/>
<Enumeration description="Pick/Primary" enumCode="PICKLOC" enumId="FLT_PICKLOC" enumTypeId="FACLOC_TYPE" sequenceId="01"/>
Modified: ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml (original)
+++ ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml Sat Jul 7 06:26:45 2007
@@ -1323,6 +1323,7 @@
<!-- update the shipment status to shipped -->
<set from-field="shipment.shipmentId" field="packedContext.shipmentId"/>
<set value="SHIPMENT_SHIPPED" field="packedContext.statusId"/>
+ <set field="packedContext.orderId" from-field="orderHeader.orderId"/>
<call-service service-name="updateShipment" in-map-name="packedContext"/>
</then>
<else> <!-- PURCHASE_ORDER -->
Modified: ofbiz/trunk/applications/product/servicedef/secas_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/secas_shipment.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/secas_shipment.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/secas_shipment.xml Sat Jul 7 06:26:45 2007
@@ -27,6 +27,12 @@
<condition field-name="shipmentTypeId" operator="equals" value="SALES_SHIPMENT"/>
<action service="createInvoicesFromShipment" mode="sync" run-as-user="system"/>
</eca>
+ <eca service="updateShipment" event="commit">
+ <condition-field field-name="statusId" operator="not-equals" to-field-name="oldStatusId"/>
+ <condition field-name="statusId" operator="equals" value="SHIPMENT_SHIPPED"/>
+ <condition field-name="shipmentTypeId" operator="equals" value="SALES_SHIPMENT"/>
+ <action service="sendShipCompleteNotification" mode="async" persist="true"/>
+ </eca>
<!-- if new statusId of a PURCHASE_SHIPMENT is PURCH_SHIP_RECEIVED, create invoice -->
<eca service="updateShipment" event="commit">
Modified: ofbiz/trunk/applications/product/servicedef/services_shipment.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services_shipment.xml?view=diff&rev=554200&r1=554199&r2=554200
==============================================================================
--- ofbiz/trunk/applications/product/servicedef/services_shipment.xml (original)
+++ ofbiz/trunk/applications/product/servicedef/services_shipment.xml Sat Jul 7 06:26:45 2007
@@ -136,6 +136,7 @@
<attribute name="oldPrimaryOrderId" type="String" mode="OUT" optional="true"/>
<attribute name="oldOriginFacilityId" type="String" mode="OUT" optional="true"/>
<attribute name="oldDestinationFacilityId" type="String" mode="OUT" optional="true"/>
+ <attribute name="orderId" type="String" mode="IN" optional="true"/>
</service>
<service name="deleteShipment" default-entity-name="Shipment" engine="simple"
location="org/ofbiz/shipment/shipment/ShipmentServices.xml" invoke="deleteShipment" auth="true">