Author: jleroux
Date: Fri Jan 21 18:02:56 2011
New Revision: 1061939

URL: http://svn.apache.org/viewvc?rev=1061939&view=rev
Log:
A patch from Arun Patidar "Some misc issues in ebayStore component." 
(https://issues.apache.org/jira/browse/OFBIZ-4118) - OFBIZ-4118

Patch to export single product to ebay in ebay store component. Added require 
attributes in item and call request of export product to ebay after 
successfully verify item. 

Modified:
    ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
    ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml
    
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java?rev=1061939&r1=1061938&r2=1061939&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java 
(original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java 
Fri Jan 21 18:02:56 2011
@@ -87,6 +87,8 @@ import com.ebay.soap.eBLBaseComponents.V
 import com.ebay.soap.eBLBaseComponents.VerifyAddItemRequestType;
 import com.ebay.soap.eBLBaseComponents.VerifyAddItemResponseType;
 import com.ebay.soap.eBLBaseComponents.WarningLevelCodeType;
+import com.ebay.soap.eBLBaseComponents.AddItemRequestType;
+import com.ebay.soap.eBLBaseComponents.AddItemResponseType;
 
 public class EbayEvents {
 
@@ -799,6 +801,7 @@ public class EbayEvents {
                         attributeMapList.put("ShippingServiceCostCurrency", 
"USD");
                         attributeMapList.put("ShippingServicePriority", "1");
                         attributeMapList.put("ShippingType", "Flat");
+                        attributeMapList.put("ShippingServiceAdditionalCost", 
amtServiceCost.getValue());
 
                         EbayStoreHelper.mappedShippingLocations(requestParams, 
item, apiContext, request, attributeMapList);
 
@@ -840,6 +843,12 @@ public class EbayEvents {
                         if 
(UtilValidate.isNotEmpty(requestParams.get("ebayStore1Category")) || 
UtilValidate.isNotEmpty(requestParams.get("ebayStore2Category"))) {
                             item.setStorefront(storeFront);
                         }
+                        //TODO: set value of country and currency on the basis 
of request param values
+                        item.setCountry(CountryCodeType.US);
+                        attributeMapList.put("Country", "US");
+                        item.setCurrency(CurrencyCodeType.USD);
+                        attributeMapList.put("Currency", "USD");
+
                         if 
(UtilValidate.isNotEmpty(requestParams.get("requireEbayInventory")) && 
"Y".equals(requestParams.get("requireEbayInventory").toString())) {
                             GenericValue ebayProductStore = 
EntityUtil.getFirst(EntityUtil.filterByDate(delegator.findByAnd("EbayProductStoreInventory",
 UtilMisc.toMap("productStoreId", productStoreId, "productId", productId))));
                             if (UtilValidate.isNotEmpty(ebayProductStore)) {
@@ -938,7 +947,7 @@ public class EbayEvents {
         return "success";
     }
 
-    public static String verifyItemBeforeAdd(HttpServletRequest request, 
HttpServletResponse response) {
+    public static String verifyItemBeforeAddAndExportToEbay(HttpServletRequest 
request, HttpServletResponse response) {
         Delegator delegator = (Delegator) request.getAttribute("delegator");
         LocalDispatcher dispatcher = (LocalDispatcher) 
request.getAttribute("dispatcher");
         Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
@@ -951,6 +960,8 @@ public class EbayEvents {
             ApiContext apiContext = 
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
             VerifyAddItemRequestType req = new VerifyAddItemRequestType();
             VerifyAddItemResponseType resp = null;
+            AddItemResponseType addItemResp = null;
+
 
             VerifyAddItemCall verifyCall = new VerifyAddItemCall(apiContext);
             Map<String,Object> addItemObject = 
getAddItemListingObject(request, apiContext);
@@ -978,6 +989,10 @@ public class EbayEvents {
                                 double dfee = fee.getFee().getValue();
                                 feesummary = feesummary + dfee;
                             }
+                            //if item is verified then export it to ebay
+                            AddItemRequestType addItemReq = new 
AddItemRequestType();
+                            addItemReq.setItem(item);
+                            addItemResp = (AddItemResponseType) 
addItemCall.execute(addItemReq);
                         } else {
                             EbayStoreHelper.createErrorLogMessage(userLogin, 
dispatcher, productStoreId, resp.getAck().toString(), "Verify Item : 
verifyItemBeforeAdd", resp.getErrors(0).getLongMessage());
                         }

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml?rev=1061939&r1=1061938&r2=1061939&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml 
(original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml 
Fri Jan 21 18:02:56 2011
@@ -302,10 +302,10 @@
         <response name="success" type="view" value="prepareProductListing"/>
         <response name="error" type="view" value="exportProductListing"/>
     </request-map>
-    <request-map uri="verifyItem">
+    <request-map uri="verifyItemBeforeAddAndExportToEbay">
         <security https="true" auth="true"/>
-        <event type="java" path="org.ofbiz.ebaystore.EbayEvents" 
invoke="verifyItemBeforeAdd"/>
-        <response name="success" type="view" value="prepareProductListing"/>
+        <event type="java" path="org.ofbiz.ebaystore.EbayEvents" 
invoke="verifyItemBeforeAddAndExportToEbay"/>
+        <response name="success" type="request" value="clearExpListing"/>
         <response name="error" type="view" value="exportProductListing"/>
     </request-map>
     <request-map uri="exportListingToEbay">

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl?rev=1061939&r1=1061938&r2=1061939&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
 (original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/store/productsearchExport.ftl
 Fri Jan 21 18:02:56 2011
@@ -254,7 +254,7 @@ under the License.
                                         <a href="#" 
onclick="javascript:document.ProductsExportToEbay.action='<@ofbizUrl>updateProductExportDetail</@ofbizUrl>';document.ProductsExportToEbay.submit();"
 class="buttontext">${uiLabelMap.CommonSave}</a>
                                     <#-- request.setAttribute("isSaved")-->
                                     <#if isSaved?exists && isSaved=="Y">
-                                        <a href="#" class="buttontext" 
onclick="javascript:document.ProductsExportToEbay.action='<@ofbizUrl>verifyItem</@ofbizUrl>';document.ProductsExportToEbay.submit();">Verifly
 Item</a>
+                                        <a href="#" class="buttontext" 
onclick="javascript:document.ProductsExportToEbay.action='<@ofbizUrl>verifyItemBeforeAddAndExportToEbay</@ofbizUrl>';document.ProductsExportToEbay.submit();">Verifly
 Item</a>
                                     </#if>
                                         <a href="#" class="buttontext" 
onclick="javascript:document.ProductsExportToEbay.action='<@ofbizUrl>removeProductFromListing</@ofbizUrl>';document.ProductsExportToEbay.submit();">Remove</a>
                                         <#--a href="#" class="buttontext">Save 
and ${uiLabelMap.EbayExportToEbay}</a-->


Reply via email to