|
Author: jleroux
Date: Fri Jan 28 13:27:13 2011 New Revision: 1064662 URL: http://svn.apache.org/viewvc?rev=1064662&view=rev Log: A patch from Arun Patidar "Some misc issues in ebayStore component." (https://issues.apache.org/jira/browse/OFBIZ-4118) - OFBIZ-4118 A patch for bug fixes in 10.04, which are already fixed in trunk at r1063265. This patch does not include any new/missing functionality. Modified: ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayHelper.java ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ImportOrdersFromEbay.java ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java ofbiz/branches/release10.04/specialpurpose/ebay/widget/CommonScreens.xml Modified: ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayHelper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayHelper.java?rev=1064662&r1=1064661&r2=1064662&view=diff ============================================================================== --- ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayHelper.java (original) +++ ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayHelper.java Fri Jan 28 13:27:13 2011 @@ -192,7 +192,7 @@ public class EbayHelper { } public static boolean createPaymentFromPaymentPreferences(Delegator delegator, LocalDispatcher dispatcher, GenericValue userLogin, - String orderId, String externalId, Timestamp orderDate, String partyIdFrom) { + String orderId, String externalId, Timestamp orderDate, BigDecimal amount, String partyIdFrom) { List<GenericValue> paymentPreferences = null; try { Map<String, String> paymentFields = UtilMisc.toMap("orderId", orderId, "statusId", "PAYMENT_RECEIVED", @@ -207,7 +207,25 @@ public class EbayHelper { if (!okay) return false; } - } + } else { + paymentFields = UtilMisc.toMap("orderId", orderId, "statusId", "PAYMENT_NOT_RECEIVED", + "paymentMethodTypeId", "EXT_EBAY"); + paymentPreferences = delegator.findByAnd("OrderPaymentPreference", paymentFields); + if (UtilValidate.isNotEmpty(paymentPreferences)) { + Iterator<GenericValue> i = paymentPreferences.iterator(); + while (i.hasNext()) { + GenericValue pref = (GenericValue) i.next(); + if (UtilValidate.isNotEmpty(amount)) { + pref.set("statusId", "PAYMENT_RECEIVED"); + pref.set("maxAmount", amount); + pref.store(); + } + boolean okay = createPayment(dispatcher, userLogin, pref, orderId, externalId, orderDate, partyIdFrom); + if (!okay) + return false; + } + } + } } catch (Exception e) { Debug.logError(e, "Cannot get payment preferences for order #" + orderId, module); return false; Modified: ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java?rev=1064662&r1=1064661&r2=1064662&view=diff ============================================================================== --- ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java (original) +++ ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java Fri Jan 28 13:27:13 2011 @@ -998,12 +998,14 @@ public class EbayOrderServices { // set the external id with the eBay Item Id String externalId = (String) context.get("externalId"); + String transactionId = (String) context.get("transactionId"); if (UtilValidate.isNotEmpty(externalId)) { if (externalOrderExists(delegator, externalId) != null && create) { return ServiceUtil.returnFailure(UtilProperties.getMessage(resource, "ordersImportFromEbay.externalIdAlreadyExist", locale)); } cart.setExternalId(externalId); + cart.setTransactionId(transactionId); } else { return ServiceUtil.returnFailure(UtilProperties.getMessage(resource, "ordersImportFromEbay.externalIdNotAvailable", locale)); } @@ -1214,7 +1216,7 @@ public class EbayOrderServices { // create the payment from the preference if (approved) { Debug.logInfo("Creating payment for approved order.", module); - EbayHelper.createPaymentFromPaymentPreferences(delegator, dispatcher, userLogin, orderId, externalId, cart.getOrderDate(), partyId); + EbayHelper.createPaymentFromPaymentPreferences(delegator, dispatcher, userLogin, orderId, externalId, cart.getOrderDate(), amountPaid, partyId); Debug.logInfo("Payment created.", module); } } @@ -1255,20 +1257,37 @@ public class EbayOrderServices { HashMap<Object, Object> attrs = new HashMap<Object, Object>(); attrs.put("shipGroup", groupIdx); - int idx = cart.addItemToEnd(productId, null, qty, null, null, attrs, null, null, dispatcher, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE, Boolean.TRUE); - ShoppingCartItem cartItem = cart.findCartItem(idx); - cartItem.setQuantity(qty, dispatcher, cart, true, false); - // locate the price verify it matches the expected price - BigDecimal cartPrice = cartItem.getBasePrice(); - cartPrice = cartPrice.setScale(ShoppingCart.scale, ShoppingCart.rounding); - if (price.doubleValue() != cartPrice.doubleValue()) { - // does not match; honor the price but hold the order for manual review - cartItem.setIsModifiedPrice(true); - cartItem.setBasePrice(price); - cart.setHoldOrder(true); - cart.addInternalOrderNote("Price received [" + price + "] (for item # " + productId + ") from eBay Checkout does not match the price in the database [" + cartPrice + "]. Order is held for manual review."); + // Checking if previously added same product exists in the cart + ShoppingCartItem previouslyAddedItemInCart = null; + if (cart.size() != 0) { + Iterator cartiter = cart.iterator(); + while (cartiter != null && cartiter.hasNext()) { + ShoppingCartItem cartItem = (ShoppingCartItem) cartiter.next(); + if (cartItem.getProductId().equals(productId)) { + previouslyAddedItemInCart = cartItem; + } + } } - // assign the item to its ship group - cart.setItemShipGroupQty(cartItem, qty, groupIdx); - } + if (previouslyAddedItemInCart != null) { + BigDecimal newQuantity = previouslyAddedItemInCart.getQuantity().add(qty); + previouslyAddedItemInCart.setQuantity(newQuantity, dispatcher, cart); + } else { + int idx = cart.addItemToEnd(productId, null, qty, null, null, attrs, null, null, dispatcher, Boolean.FALSE, Boolean.TRUE, Boolean.TRUE, Boolean.TRUE); + ShoppingCartItem cartItem = cart.findCartItem(idx); + cartItem.setQuantity(qty, dispatcher, cart, true, false); + // locate the price verify it matches the expected price + BigDecimal cartPrice = cartItem.getBasePrice(); + cartPrice = cartPrice.setScale(ShoppingCart.scale, ShoppingCart.rounding); + if (price.doubleValue() != cartPrice.doubleValue()) { + // does not match; honor the price but hold the order for manual review + cartItem.setIsModifiedPrice(true); + cartItem.setBasePrice(price); + cart.setHoldOrder(true); + cart.addInternalOrderNote("Price received [" + price + "] (for item # " + productId + ") from eBay Checkout does not match the price in the database [" + cartPrice + "]. Order is held for manual review."); + } + // assign the item to its ship group + cart.setItemShipGroupQty(cartItem, qty, groupIdx); + } + } + } Modified: ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ImportOrdersFromEbay.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ImportOrdersFromEbay.java?rev=1064662&r1=1064661&r2=1064662&view=diff ============================================================================== --- ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ImportOrdersFromEbay.java (original) +++ ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ImportOrdersFromEbay.java Fri Jan 28 13:27:13 2011 @@ -270,6 +270,7 @@ public class ImportOrdersFromEbay { // default shipped = Y (call from eca during order completed) if (paid == null && shipped == null) { shipped = "Y"; + paid = "Y"; } // Set item id to paid or not paid @@ -796,7 +797,7 @@ public class ImportOrdersFromEbay { // create the payment from the preference if (approved) { Debug.logInfo("Creating payment for approved order.", module); - EbayHelper.createPaymentFromPaymentPreferences(delegator, dispatcher, userLogin, orderId, externalId, cart.getOrderDate(), partyId); + EbayHelper.createPaymentFromPaymentPreferences(delegator, dispatcher, userLogin, orderId, externalId, cart.getOrderDate(), amountPaid, partyId); Debug.logInfo("Payment created.", module); } } Modified: ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java?rev=1064662&r1=1064661&r2=1064662&view=diff ============================================================================== --- ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java (original) +++ ofbiz/branches/release10.04/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java Fri Jan 28 13:27:13 2011 @@ -316,6 +316,11 @@ public class ProductsExportToEbay { Element primaryCatElem = UtilXml.addChildElement(itemElem, "PrimaryCategory", itemDocument); UtilXml.addChildElementValue(primaryCatElem, "CategoryID", primaryCategoryId, itemDocument); + UtilXml.addChildElementValue(itemElem, "ConditionID", "1000", itemDocument); + Element itemSpecificsElem = UtilXml.addChildElement(itemElem, "ItemSpecifics", itemDocument); + Element nameValueListElem = UtilXml.addChildElement(itemSpecificsElem, "NameValueList", itemDocument); + UtilXml.addChildElementValue(nameValueListElem, "Name", "Condition", itemDocument); + UtilXml.addChildElementValue(nameValueListElem, "Value", "New: With Tags", itemDocument); //Debug.logInfo("The generated string is ======= " + UtilXml.writeXmlDocument(itemDocument), module); dataItemsXml.append(UtilXml.writeXmlDocument(itemDocument)); Modified: ofbiz/branches/release10.04/specialpurpose/ebay/widget/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/specialpurpose/ebay/widget/CommonScreens.xml?rev=1064662&r1=1064661&r2=1064662&view=diff ============================================================================== --- ofbiz/branches/release10.04/specialpurpose/ebay/widget/CommonScreens.xml (original) +++ ofbiz/branches/release10.04/specialpurpose/ebay/widget/CommonScreens.xml Fri Jan 28 13:27:13 2011 @@ -28,6 +28,7 @@ under the License. <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/> <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="GoogleBaseUiLabels" map-name="uiLabelMap" global="true"/> <set field="activeApp" value="ebay" global="true"/> <set field="layoutSettings.companyName" from-field="uiLabelMap.EbayCompanyName" global="true"/> <set field="layoutSettings.companySubtitle" from-field="uiLabelMap.EbayApplication" global="true"/> |
| Free forum by Nabble | Edit this page |
