You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/03/29 21:51:22 UTC
svn commit: r523819 - in /ofbiz/trunk/applications: marketing/entitydef/
marketing/script/org/ofbiz/marketing/tracking/ marketing/servicedef/
marketing/src/org/ofbiz/marketing/tracking/ order/servicedef/
Author: jaz
Date: Thu Mar 29 12:51:21 2007
New Revision: 523819
URL: http://svn.apache.org/viewvc?view=rev&rev=523819
Log:
applied tracking code updates patch from Anil Patel
Modified:
ofbiz/trunk/applications/marketing/entitydef/entitygroup.xml
ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml
ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/tracking/TrackingCodeServices.xml
ofbiz/trunk/applications/marketing/servicedef/services.xml
ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/tracking/TrackingCodeEvents.java
ofbiz/trunk/applications/order/servicedef/secas.xml
Modified: ofbiz/trunk/applications/marketing/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/entitydef/entitygroup.xml?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/marketing/entitydef/entitygroup.xml (original)
+++ ofbiz/trunk/applications/marketing/entitydef/entitygroup.xml Thu Mar 29 12:51:21 2007
@@ -59,6 +59,7 @@
<entity-group group="org.ofbiz" entity="TrackingCode" />
<entity-group group="org.ofbiz" entity="TrackingCodeOrder" />
+ <entity-group group="org.ofbiz" entity="TrackingCodeOrderReturn"/>
<entity-group group="org.ofbiz" entity="TrackingCodeType" />
<entity-group group="org.ofbiz" entity="TrackingCodeVisit" />
@@ -68,7 +69,8 @@
<entity-group group="org.ofbiz" entity="TrackingCodeAndVisit"/>
<entity-group group="org.ofbiz" entity="TrackingCodeAndOrderHeader"/>
+ <entity-group group="org.ofbiz" entity="TrackingCodeOrderAndOrderHeader"/>
+ <entity-group group="org.ofbiz" entity="TrackingCodeOrderReturnAndReturnHeader"/>
<entity-group group="org.ofbiz" entity="MarketingCampaignAndVisit"/>
<entity-group group="org.ofbiz" entity="MarketingCampaignAndOrderHeader"/>
-
</entitygroup>
Modified: ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/marketing/entitydef/entitymodel.xml Thu Mar 29 12:51:21 2007
@@ -435,6 +435,9 @@
<field name="trackingCodeTypeId" type="id-ne"></field>
<field name="trackingCodeId" type="id-ne"></field>
<field name="isBillable" type="indicator"></field>
+ <field name="siteId" type="long-varchar"></field>
+ <field name="hasExported" type="indicator"></field>
+ <field name="affiliateReferredTimeStamp" type="date-time"></field>
<prim-key field="orderId"/>
<prim-key field="trackingCodeTypeId"/>
<relation type="one" fk-name="TKNG_CODODR_ODR" rel-entity-name="OrderHeader">
@@ -447,6 +450,34 @@
<key-map field-name="trackingCodeTypeId"/>
</relation>
</entity>
+ <entity entity-name="TrackingCodeOrderReturn"
+ package-name="org.ofbiz.marketing.tracking"
+ title="Tracking Code And Order Return">
+ <field name="returnId" type="id-ne"></field>
+ <field name="orderId" type="id-ne"></field>
+ <field name="orderItemSeqId" type="id-ne"></field>
+ <field name="trackingCodeTypeId" type="id-ne"></field>
+ <field name="trackingCodeId" type="id-ne"></field>
+ <field name="isBillable" type="indicator"></field>
+ <field name="siteId" type="long-varchar"></field>
+ <field name="hasExported" type="indicator"></field>
+ <field name="affiliateReferredTimeStamp" type="date-time"></field>
+ <prim-key field="returnId"/>
+ <prim-key field="orderId"/>
+ <prim-key field="trackingCodeTypeId"/>
+ <relation type="one" fk-name="TKNG_CODODR_ODRTN" rel-entity-name="ReturnHeader">
+ <key-map field-name="returnId"/>
+ </relation>
+ <relation type="one" fk-name="TKNG_CODODR_ODRTN" rel-entity-name="OrderHeader">
+ <key-map field-name="orderId"/>
+ </relation>
+ <relation type="one" fk-name="TKNG_CODODR_TKCD" rel-entity-name="TrackingCode">
+ <key-map field-name="trackingCodeId"/>
+ </relation>
+ <relation type="one" fk-name="TKNG_CODODR_TYP" rel-entity-name="TrackingCodeType">
+ <key-map field-name="trackingCodeTypeId"/>
+ </relation>
+ </entity>
<entity entity-name="TrackingCodeType"
package-name="org.ofbiz.marketing.tracking"
default-resource-name="MarketingEntityLabels"
@@ -480,8 +511,9 @@
<!-- org.ofbiz.marketing.reports -->
<!-- ========================================================= -->
- <view-entity entity-name="TrackingCodeAndVisit" package-name="org.ofbiz.marketing.reports"
- title="View entity for reporting number of visits for a tracking code">
+ <view-entity entity-name="TrackingCodeAndVisit"
+ package-name="org.ofbiz.marketing.reports"
+ title="View entity for reporting number of visits for a tracking code">
<member-entity entity-alias="TC" entity-name="TrackingCode"/>
<member-entity entity-alias="TCV" entity-name="TrackingCodeVisit"/>
<alias entity-alias="TC" name="trackingCodeId" group-by="true"/>
@@ -495,8 +527,9 @@
<key-map field-name="trackingCodeId"/>
</view-link>
</view-entity>
- <view-entity entity-name="TrackingCodeAndOrderHeader" package-name="org.ofibz.marketing.reports"
- title="View entity for reporting number of orders and total order amounts">
+ <view-entity entity-name="TrackingCodeAndOrderHeader"
+ package-name="org.ofibz.marketing.reports"
+ title="View entity for reporting number of orders and total order amounts">
<member-entity entity-alias="TCO" entity-name="TrackingCodeOrder"/>
<member-entity entity-alias="OH" entity-name="OrderHeader"/>
<alias entity-alias="OH" name="grandTotal" function="sum"/>
@@ -507,8 +540,49 @@
<key-map field-name="orderId"/>
</view-link>
</view-entity>
- <view-entity entity-name="MarketingCampaignAndVisit" package-name="org.ofbiz.marketing.reports"
- title="View entity for reporting number of visits for a marketing campaign. Note that because
+ <view-entity entity-name="TrackingCodeOrderAndOrderHeader"
+ package-name="org.ofibz.marketing.reports"
+ never-cache="true"
+ title="Order Header And Tracking Code Order View Entity">
+ <member-entity entity-alias="TCO" entity-name="TrackingCodeOrder"/>
+ <member-entity entity-alias="OH" entity-name="OrderHeader"/>
+ <alias entity-alias="TCO" name="orderId"/>
+ <alias entity-alias="TCO" name="trackingCodeId"/>
+ <alias entity-alias="TCO" name="siteId"/>
+ <alias entity-alias="TCO" name="hasExported"/>
+ <alias entity-alias="TCO" name="affiliateReferredTimeStamp"/>
+ <alias entity-alias="OH" name="statusId"/>
+ <view-link entity-alias="TCO" rel-entity-alias="OH">
+ <key-map field-name="orderId"/>
+ </view-link>
+ <relation type="one" rel-entity-name="OrderHeader">
+ <key-map field-name="orderId"/>
+ </relation>
+ </view-entity>
+ <view-entity entity-name="TrackingCodeOrderReturnAndReturnHeader"
+ package-name="org.ofibz.marketing.reports"
+ never-cache="true"
+ title="Return Header And Tracking Code Order Return View Entity">
+ <member-entity entity-alias="TCO" entity-name="TrackingCodeOrderReturn"/>
+ <member-entity entity-alias="RH" entity-name="ReturnHeader"/>
+ <alias entity-alias="TCO" name="returnId"/>
+ <alias entity-alias="TCO" name="orderId"/>
+ <alias entity-alias="TCO" name="orderItemSeqId"/>
+ <alias entity-alias="TCO" name="trackingCodeId"/>
+ <alias entity-alias="TCO" name="siteId"/>
+ <alias entity-alias="TCO" name="hasExported"/>
+ <alias entity-alias="TCO" name="affiliateReferredTimeStamp"/>
+ <alias entity-alias="RH" name="statusId"/>
+ <view-link entity-alias="TCO" rel-entity-alias="RH">
+ <key-map field-name="returnId"/>
+ </view-link>
+ <relation type="one" rel-entity-name="ReturnHeader">
+ <key-map field-name="returnId"/>
+ </relation>
+ </view-entity>
+ <view-entity entity-name="MarketingCampaignAndVisit"
+ package-name="org.ofbiz.marketing.reports"
+ title="View entity for reporting number of visits for a marketing campaign. Note that because
marketingCampaignId is a field of TrackingCode, this is really very similar to TrackingCodeAndVisit,
except the group-by is with marketingCampaignId instead of trackingCodeId">
<member-entity entity-alias="TC" entity-name="TrackingCode"/>
@@ -520,8 +594,9 @@
<key-map field-name="trackingCodeId"/>
</view-link>
</view-entity>
- <view-entity entity-name="MarketingCampaignAndOrderHeader" package-name="org.ofibz.marketing.reports"
- title="View entity for reporting number of orders and total order amounts">
+ <view-entity entity-name="MarketingCampaignAndOrderHeader"
+ package-name="org.ofibz.marketing.reports"
+ title="View entity for reporting number of orders and total order amounts">
<member-entity entity-alias="TC" entity-name="TrackingCode"/>
<member-entity entity-alias="TCO" entity-name="TrackingCodeOrder"/>
<member-entity entity-alias="OH" entity-name="OrderHeader"/>
Modified: ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/tracking/TrackingCodeServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/tracking/TrackingCodeServices.xml?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/tracking/TrackingCodeServices.xml (original)
+++ ofbiz/trunk/applications/marketing/script/org/ofbiz/marketing/tracking/TrackingCodeServices.xml Thu Mar 29 12:51:21 2007
@@ -103,4 +103,65 @@
<find-by-primary-key entity-name="TrackingCodeType" map-name="lookupPKMap" value-name="lookedUpValue"/>
<remove-value value-name="lookedUpValue"/>
</simple-method>
+
+ <!-- add service for tracking code return -->
+ <simple-method method-name="createTrackingCodeOrderReturn" short-description="Create an TrackingCodeOrderReturn">
+ <now-timestamp-to-env env-name="nowStamp"/>
+ <make-value value-name="newEntity" entity-name="TrackingCodeOrderReturn"/>
+ <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
+ <set-pk-fields map-name="parameters" value-name="newEntity"/>
+
+ <!-- set the history/audit info -->
+ <set from-field="nowStamp" field="newEntity.createdStamp"/>
+
+ <create-value value-name="newEntity"/>
+ </simple-method>
+
+ <simple-method method-name="createTrackingCodeOrderReturns" short-description="Create TrackingCodeOrderReturn for all the Return Items with Orders that have trackingCodeOrder entry">
+ <if-not-empty field-name="returnId" map-name="parameters">
+ <set field="returnHeaderFindContext.returnId" from-field="parameters.returnId" />
+ <find-by-primary-key entity-name="ReturnHeader" value-name="returnHeader" map-name="returnHeaderFindContext"/>
+ <get-related list-name="returnItems" relation-name="ReturnItem" value-name="returnHeader"/>
+ <log level="info" message="Return items lists are : ${returnItems}"/>
+ <iterate list-name="returnItems" entry-name="returnItem">
+ <get-related-one relation-name="OrderHeader" value-name="returnItem" to-value-name="orderHeader"/>
+ <set field="trackingCodeOrderFindContext.orderId" from-field="orderHeader.orderId"/>
+ <!-- set field="trackingCodeOrderFindContext.trackingCodeTypeId" value="PARTNER_MGD"/-->
+ <!-- get the siteId ,trackingCodeId from TrackingCodeOrder -->
+ <log level="info" message="Find Tracking Code Order For ${trackingCodeOrderFindContext}"/>
+ <find-by-and entity-name="TrackingCodeOrder" list-name="trackingCodeOrders" map-name="trackingCodeOrderFindContext"/>
+ <set field="trackingCodeOrder" from-field="trackingCodeOrders[0]"/>
+ <log level="info" message="Create Tracking Code Order Return For ${trackingCodeOrder}"/>
+ <if-not-empty field-name="trackingCodeOrder">
+ <set-service-fields to-map-name="trackingCodeOrderReturnContext" service-name="createTrackingCodeOrderReturn" map-name="trackingCodeOrder"/>
+ <set field="trackingCodeOrderReturnContext.returnId" from-field="parameters.returnId"/>
+ <set field="trackingCodeOrderReturnContext.orderId" from-field="trackingCodeOrder.orderId"/>
+ <set field="trackingCodeOrderReturnContext.trackingCodeTypeId" value="PARTNER_MGD"/>
+ <set field="trackingCodeOrderReturnContext.hasExported" value="N"/>
+ <set field="trackingCodeOrderReturnContext.affiliateReferredTimeStamp" from-field="nowTimestamp"/>
+ <call-service service-name="createTrackingCodeOrderReturn" in-map-name="trackingCodeOrderReturnContext"/>
+ </if-not-empty>
+ </iterate>
+ </if-not-empty>
+ </simple-method>
+ <simple-method method-name="updateTrackingCodeOrderReturn" short-description="update an TrackingCodeOrderReturn">
+ <now-timestamp-to-env env-name="nowStamp"/>
+
+ <make-value entity-name="TrackingCodeOrderReturn" value-name="lookupPKMap"/>
+ <set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
+ <find-by-primary-key entity-name="TrackingCodeOrderReturn" map-name="lookupPKMap" value-name="lookedUpValue"/>
+ <set-nonpk-fields map-name="parameters" value-name="lookedUpValue"/>
+
+ <!-- set the history/audit info -->
+ <set from-field="userLogin.userLoginId" field="newEntity.lastModifiedByUserLogin"/>
+ <set from-field="lastModifiedDate" field="newEntity.createdDate"/>
+ <store-value value-name="lookedUpValue"/>
+ </simple-method>
+ <simple-method method-name="deleteTrackingCodeOrderReturn" short-description="delete an TrackingCodeOrderReturn">
+ <make-value entity-name="TrackingCodeOrderReturn" value-name="lookupPKMap"/>
+ <set-pk-fields map-name="parameters" value-name="lookupPKMap"/>
+ <find-by-primary-key entity-name="TrackingCodeOrderReturn" map-name="lookupPKMap" value-name="lookedUpValue"/>
+ <remove-value value-name="lookedUpValue"/>
+ </simple-method>
+
</simple-methods>
Modified: ofbiz/trunk/applications/marketing/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/servicedef/services.xml?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/marketing/servicedef/services.xml (original)
+++ ofbiz/trunk/applications/marketing/servicedef/services.xml Thu Mar 29 12:51:21 2007
@@ -20,7 +20,7 @@
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/services.xsd">
- <description>Common Application Components Order Services</description>
+ <description>Marketing Component Services</description>
<vendor>OFBiz</vendor>
<version>1.0</version>
@@ -28,18 +28,21 @@
<service name="createMarketingCampaign" default-entity-name="MarketingCampaign" engine="simple"
location="org/ofbiz/marketing/campaign/CampaignServices.xml" invoke="createMarketingCampaign" auth="true">
<description>Create a MarketingCampaign record</description>
+ <permission-service service-name="marketingPermissionService" main-action="CREATE"/>
<auto-attributes include="pk" mode="OUT" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="updateMarketingCampaign" default-entity-name="MarketingCampaign" engine="simple"
location="org/ofbiz/marketing/campaign/CampaignServices.xml" invoke="updateMarketingCampaign" auth="true">
<description>Update a MarketingCampaign record</description>
+ <permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
<service name="deleteMarketingCampaign" default-entity-name="MarketingCampaign" engine="simple"
location="org/ofbiz/marketing/campaign/CampaignServices.xml" invoke="deleteMarketingCampaign" auth="true">
<description>Remove a MarketingCampaign record</description>
+ <permission-service service-name="marketingPermissionService" main-action="DELETE"/>
<auto-attributes include="pk" mode="IN" optional="false"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
</service>
@@ -306,4 +309,40 @@
<attribute name="areRelated" type="String" mode="OUT" optional="false"><!-- will be Y or N --></attribute>
</service>
+ <!-- Tracking Code Order return -->
+ <service name="createTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="simple"
+ location="org/ofbiz/marketing/tracking/TrackingCodeServices.xml" invoke="createTrackingCodeOrderReturn">
+ <description>Create a TrackingCodeOrderReturn record</description>
+ <permission-service service-name="marketingPermissionService" main-action="CREATE"/>
+ <auto-attributes include="pk" mode="IN" optional="false"/>
+ <auto-attributes include="nonpk" mode="IN" optional="true"/>
+ </service>
+ <service name="updateTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="simple"
+ location="org/ofbiz/marketing/tracking/TrackingCodeServices.xml" invoke="updateTrackingCodeOrderReturn">
+ <description>Update a TrackingCode record</description>
+ <permission-service service-name="marketingPermissionService" main-action="UPDATE"/>
+ <auto-attributes include="pk" mode="IN" optional="false"/>
+ <auto-attributes include="nonpk" mode="IN" optional="true"/>
+ </service>
+ <service name="deleteTrackingCodeOrderReturn" default-entity-name="TrackingCodeOrderReturn" engine="simple"
+ location="org/ofbiz/marketing/tracking/TrackingCodeServices.xml" invoke="deleteTrackingCodeOrderReturn">
+ <description>Update a TrackingCode record</description>
+ <permission-service service-name="marketingPermissionService" main-action="DELETE"/>
+ <auto-attributes include="pk" mode="IN" optional="false"/>
+ </service>
+
+ <service name="createTrackingCodeOrderReturns" engine="simple"
+ location="org/ofbiz/marketing/tracking/TrackingCodeServices.xml" invoke="createTrackingCodeOrderReturns">
+ <description>Create TrackingCodeOrderReturn for all the Return Items with Orders that have trackingCodeOrder entry</description>
+ <permission-service service-name="marketingPermissionService" main-action="CREATE"/>
+ <attribute type="String" mode="IN" name="returnId" optional="false"/>
+ </service>
+
+ <!-- marketing permission service -->
+ <service name="marketingPermissionService" engine="simple"
+ location="org/ofbiz/common/permission/CommonPermissionServices.xml" invoke="genericBasePermissionCheck">
+ <implements service="permissionInterface"/>
+ <attribute name="primaryPermission" type="String" mode="IN" optional="false" default-value="MARKETING"/>
+ <attribute name="altPermission" type="String" mode="IN" optional="true"/>
+ </service>
</services>
Modified: ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/tracking/TrackingCodeEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/tracking/TrackingCodeEvents.java?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/tracking/TrackingCodeEvents.java (original)
+++ ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/tracking/TrackingCodeEvents.java Thu Mar 29 12:51:21 2007
@@ -57,7 +57,7 @@
if (UtilValidate.isNotEmpty(trackingCodeId)) {
//tracking code is specified on the request, get the TrackingCode value and handle accordingly
GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");
- GenericValue trackingCode = null;
+ GenericValue trackingCode;
try {
trackingCode = delegator.findByPrimaryKeyCache("TrackingCode", UtilMisc.toMap("trackingCodeId", trackingCodeId));
} catch (GenericEntityException e) {
@@ -94,7 +94,7 @@
if (UtilValidate.isNotEmpty(trackingCodeId)) {
//partner managed tracking code is specified on the request
GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");
- GenericValue trackingCode = null;
+ GenericValue trackingCode;
try {
trackingCode = delegator.findByPrimaryKeyCache("TrackingCode", UtilMisc.toMap("trackingCodeId", trackingCodeId));
} catch (GenericEntityException e) {
@@ -119,7 +119,7 @@
if (defaultTrackingCode != null) {
defaultTrackingCode.set("trackingCodeId", trackingCodeId);
- defaultTrackingCode.set("trackingCodeTypeId", "PARTNER_MGD");
+ defaultTrackingCode.set("trackingCodeTypeId", "PARTNER_MGD");
//null out userLogin fields, no use tracking to customer, or is there?; set dates to current
defaultTrackingCode.set("createdDate", UtilDateTime.nowTimestamp());
defaultTrackingCode.set("createdByUserLogin", null);
@@ -243,6 +243,42 @@
if (cookieDomain.length() > 0) billableCookie.setDomain(cookieDomain);
response.addCookie(billableCookie);
}
+
+ // if site id exist in cookies then not req to create it if exist with diffrent site then create it
+ int siteIdCookieAge = (60 * 60 * 24 * 365); // should this be configurable?
+ String siteId = request.getParameter("siteId");
+ if (siteId != null && siteId.length() > 0) {
+ String visitorSiteIdCookieName = "Ofbiz.TKCD.SiteId";
+ String visitorSiteId = null;
+ // first try to get the current ID from the visitor cookie
+ javax.servlet.http.Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (int i = 0; i < cookies.length; i++) {
+ if (cookies[i].getName().equals(visitorSiteIdCookieName)) {
+ visitorSiteId = cookies[i].getValue();
+ break;
+ }
+ }
+ }
+
+ if ( visitorSiteId == null || (visitorSiteId != null && !visitorSiteId.equals(siteId)) ) {
+ // if trackingCode.siteId is not null write a trackable cookie with name in the form: Ofbiz.TKCSiteId and timeout will be 60 * 60 * 24 * 365
+ Cookie siteIdCookie = new Cookie("Ofbiz.TKCD.SiteId" ,siteId);
+ siteIdCookie.setMaxAge(siteIdCookieAge);
+ siteIdCookie.setPath("/");
+ siteIdCookie.setVersion(1);
+ if (cookieDomain.length() > 0) siteIdCookie.setDomain(cookieDomain);
+ response.addCookie(siteIdCookie);
+
+ // if trackingCode.siteId is not null write a trackable cookie with name in the form: Ofbiz.TKCSiteId and timeout will be 60 * 60 * 24 * 365
+ Cookie updatedTimeStampCookie = new Cookie("Ofbiz.TKCD.UpdatedTimeStamp" ,UtilDateTime.nowTimestamp().toString());
+ updatedTimeStampCookie.setMaxAge(siteIdCookieAge);
+ updatedTimeStampCookie.setPath("/");
+ updatedTimeStampCookie.setVersion(1);
+ if (cookieDomain.length() > 0) updatedTimeStampCookie.setDomain(cookieDomain);
+ response.addCookie(updatedTimeStampCookie);
+ }
+ }
// if we have overridden logo, css and/or catalogId set some session attributes
HttpSession session = request.getSession();
@@ -289,7 +325,7 @@
for (int i = 0; i < cookies.length; i++) {
if (cookies[i].getName().startsWith("TKCDT_")) {
String trackingCodeId = cookies[i].getValue();
- GenericValue trackingCode = null;
+ GenericValue trackingCode;
try {
trackingCode = delegator.findByPrimaryKeyCache("TrackingCode", UtilMisc.toMap("trackingCodeId", trackingCodeId));
} catch (GenericEntityException e) {
@@ -339,13 +375,26 @@
List trackingCodeOrders = new LinkedList();
Cookie[] cookies = request.getCookies();
+ String affiliateReferredTimeStamp = null;
+ String siteId = null;
+
if (cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
+ String cookieName = cookies[i].getName();
+
+ // find the siteId cookie if it exists
+ if ("Ofbiz.TKCD.siteId".equals(cookieName)) {
+ siteId = cookies[i].getValue();
+ }
+
+ // find the referred timestamp cookie if it exists
+ if ("Ofbiz.TKCD.UpdatedTimeStamp".equals(cookieName)) {
+ affiliateReferredTimeStamp = cookies[i].getValue();
+ }
+
// find any that start with TKCDB_ for billable tracking code cookies with isBillable=Y
// also and for each TKCDT_ cookie that doesn't have a corresponding billable code add it to the list with isBillable=N
-
String isBillable = null;
- String cookieName = cookies[i].getName();
if (cookieName.startsWith("TKCDB_")) {
isBillable = "Y";
} else if (cookieName.startsWith("TKCDT_")) {
@@ -354,7 +403,7 @@
if (isBillable != null) {
String trackingCodeId = cookies[i].getValue();
- GenericValue trackingCode = null;
+ GenericValue trackingCode;
try {
trackingCode = delegator.findByPrimaryKeyCache("TrackingCode", UtilMisc.toMap("trackingCodeId", trackingCodeId));
} catch (GenericEntityException e) {
@@ -391,7 +440,8 @@
// this will have everything except the orderId set, that will be set by the createOrder service
GenericValue trackingCodeOrder = delegator.makeValue("TrackingCodeOrder",
UtilMisc.toMap("trackingCodeTypeId", trackingCode.get("trackingCodeTypeId"),
- "trackingCodeId", trackingCodeId, "isBillable", isBillable));
+ "trackingCodeId", trackingCodeId, "isBillable", isBillable, "siteId", siteId,
+ "hasExported", "N", "affiliateReferredTimeStamp", affiliateReferredTimeStamp));
trackingCodeOrders.add(trackingCodeOrder);
}
Modified: ofbiz/trunk/applications/order/servicedef/secas.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/servicedef/secas.xml?view=diff&rev=523819&r1=523818&r2=523819
==============================================================================
--- ofbiz/trunk/applications/order/servicedef/secas.xml (original)
+++ ofbiz/trunk/applications/order/servicedef/secas.xml Thu Mar 29 12:51:21 2007
@@ -138,6 +138,7 @@
<eca service="updateReturnHeader" event="commit">
<condition field-name="statusId" operator="equals" value="RETURN_ACCEPTED"/>
<condition field-name="currentStatusId" operator="not-equals" value="RETURN_ACCEPTED"/>
+ <action service="createTrackingCodeOrderReturns" mode="sync"/>
<action service="sendReturnAcceptNotification" mode="async" persist="true"/>
</eca>
<eca service="updateReturnHeader" event="commit">