Author: hansbak
Date: Fri Feb 26 09:15:34 2010 New Revision: 916625 URL: http://svn.apache.org/viewvc?rev=916625&view=rev Log: Ebaystore update: function to automatically check the status of item listing on the ebay site when a payment has been received from buyer, the ofbiz system will then send a 'Payment Received email' to the buyer. Modified: ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml ofbiz/trunk/specialpurpose/ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml Modified: ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml Fri Feb 26 09:15:34 2010 @@ -259,4 +259,13 @@ <property key="EbayIsSendCopyEmailTooltip"> <value xml:lang="en">How many days after shipping you want this email sent?</value> </property> + <property key="EbayIsAutoSendEmail"> + <value xml:lang="en">Automatically send email</value> + </property> + <property key="EbayAutoPaymentReceviedEmail"> + <value xml:lang="en">Automatically send email when payment has been received</value> + </property> + <property key="EbayEditEmailTemplate"> + <value xml:lang="en">Edit Email Template</value> + </property> </resource> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml Fri Feb 26 09:15:34 2010 @@ -32,6 +32,7 @@ <Enumeration enumId="EBAY_AUTO_RELISTING" description="Automatic Relisting" enumTypeId="EBAY_AUTO_PREF"/> <Enumeration enumId="EBAY_AUTO_PIT_FB" description="Automatic leave positive feedback when buyer has paid for item" enumTypeId="EBAY_AUTO_PREF"/> <Enumeration enumId="EBAY_AUTO_FB_RMD" description="Automatic send reminder email if feedback has not been received after day? shipping" enumTypeId="EBAY_AUTO_PREF"/> + <Enumeration enumId="EBAY_AUTO_PR_EMAIL" description="Automatic send payment received email when has not been received" enumTypeId="EBAY_AUTO_PREF"/> <ProductType productTypeId="EBAY_ITEM" description="Product From eBay"/> Modified: ofbiz/trunk/specialpurpose/ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml Fri Feb 26 09:15:34 2010 @@ -68,5 +68,48 @@ </else> </if-empty> </simple-method> + <!-- start automatically service email when payment has been received.--> + <simple-method method-name="autoSendPaymentReceivedEmail" login-required="false" short-description="set start service Automatically send an email when payment has been received"> + <entity-one entity-name="ProductStore" value-field="productStore" > + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + </entity-one> + <if-empty field="productStore"> + <add-error><fail-message message="No ProductStore found with id ${parameters.productStoreId}."/></add-error> + <check-errors/> + </if-empty> + <entity-one entity-name="EbayProductStorePref" value-field="ebayProdStorePref"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + <field-map field-name="autoPrefEnumId" value="EBAY_AUTO_PR_EMAIL"/> + </entity-one> + <!-- map field from screen --> + <if-not-empty field="ebayProdStorePref"> + <set field="parameters.productStoreId" type="String" default-value="parameters.productStoreId" from-field="ebayProdStorePref.productStoreId"/> + <else> + <set field="parameters.productStoreId" type="String" from-field="parameters.productStoreId"/> + </else> + </if-not-empty> + <set field="parameters.autoPrefEnumId" type="String" value="EBAY_AUTO_PR_EMAIL"/> + <if-not-empty field="ebayProdStorePref"> + <if-not-empty field="ebayProdStorePref.autoPrefJobId"> + <set field="parameters.autoPrefJobId" type="String" from-field="ebayProdStorePref.autoPrefJobId"/> + </if-not-empty> + </if-not-empty> + <set field="parameters.enabled" default-value="N" type="String" from-field="parameters.isAutoSendPayReceivedEmail"/> + <set field="parameters.condition1" default-value="N" type="String" from-field="parameters.isSendCopyEmailToSeller"/> + <if-compare field="parameters.enabled" value="N" type="String" operator="equals"> + <set field="parameters.condition1" value="N" type="String" /> + </if-compare> + <set field="parameters.serviceName" default-value="autoSendPaymentReceivedEmail" type="String"/> + <session-to-field field="context.userLogin" session-name="userLogin"/> + <!-- create new automatically store preferences and do start job run service --> + <if-empty field="ebayProdStorePref"> + <set-service-fields service-name="createEbayProductStorePref" map="parameters" to-map="ebayProductStorePref"/> + <call-service service-name="createEbayProductStorePref" in-map-name="ebayProductStorePref" ></call-service> + <else> + <set-service-fields service-name="updateEbayProductStorePref" map="parameters" to-map="ebayProductStorePref"/> + <call-service service-name="updateEbayProductStorePref" in-map-name="ebayProductStorePref"></call-service> + </else> + </if-empty> + </simple-method> </simple-methods> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml Fri Feb 26 09:15:34 2010 @@ -337,25 +337,35 @@ <attribute name="serviceName" mode="IN" type="String" optional="false"/> </service> <service name="autoPrefLeaveFeedbackOption" engine="java" transaction-timeout="10800" - location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="autoPrefLeaveFeedbackOption" auth="true"> + location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="autoPrefLeaveFeedbackOption" auth="false"> <attribute name="productStoreId" mode="IN" type="String" optional="false"/> + <attribute name="jobId" mode="IN" type="String" optional="false"/> </service> <service name="autoSendFeedbackReminderEmail" engine="java" transaction-timeout="10800" - location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="autoSendFeedbackReminderEmail" auth="true"> + location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="autoSendFeedbackReminderEmail" auth="false"> <attribute name="productStoreId" mode="IN" type="String" optional="false"/> + <attribute name="jobId" mode="IN" type="String" optional="false"/> </service> - <service name="automaticEbayRelistSoldItems" engine="java" transaction-timeout="3600" + <service name="automaticEbayRelistSoldItems" engine="java" transaction-timeout="7200" location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="automaticEbayRelistSoldItems" auth="false"> <attribute name="jobId" mode="IN" type="String" optional="false"/> </service> - <service name="automaticEbayDisputeNotComplete" engine="java" transaction-timeout="3600" + <service name="automaticEbayDisputeNotComplete" engine="java" transaction-timeout="7200" location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="automaticEbayDisputeNotComplete" auth="false"> <description>Create Dispute if checkout has not been completed</description> + <attribute name="productStoreId" mode="IN" type="String" optional="false"/> <attribute name="jobId" mode="IN" type="String" optional="false"/> </service> - <service name="automaticEbayDisputeNotPay" engine="java" transaction-timeout="3600" + <service name="automaticEbayDisputeNotPay" engine="java" transaction-timeout="7200" location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="automaticEbayDisputeNotPay" auth="false"> <description>Create Dispute if checkout has been completed but no payment has been received</description> + <attribute name="productStoreId" mode="IN" type="String" optional="false"/> + <attribute name="jobId" mode="IN" type="String" optional="false"/> + </service> + <service name="autoSendPaymentReceivedEmail" engine="java" transaction-timeout="7200" + location="org.ofbiz.ebaystore.EbayStoreAutoPreferences" invoke="autoSendPaymentReceivedEmail" auth="false"> + <description>automatically service sending an email when ebay seller has been received payment from ebay buyer</description> + <attribute name="productStoreId" mode="IN" type="String" optional="false"/> <attribute name="jobId" mode="IN" type="String" optional="false"/> </service> </services> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java (original) +++ ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java Fri Feb 26 09:15:34 2010 @@ -85,10 +85,10 @@ Delegator delegator = dctx.getDelegator(); Locale locale = (Locale) context.get("locale"); - if (UtilValidate.isEmpty(context.get("productStoreId"))){ + if (UtilValidate.isEmpty(context.get("productStoreId"))&& UtilValidate.isEmpty(context.get("jobId"))){ return ServiceUtil.returnFailure("Required productStoreId for get api context to connect with ebay site."); } - + String jobId = (String) context.get("jobId"); String productStoreId = (String) context.get("productStoreId"); String isAutoPositiveFeedback = "N"; String feedbackEventCode = null; @@ -98,10 +98,10 @@ try { ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); ebayProductStorePref = delegator.findByPrimaryKey("EbayProductStorePref", UtilMisc.toMap("productStoreId", productStoreId,"autoPrefEnumId","EBAY_AUTO_PIT_FB")); - if (UtilValidate.isNotEmpty(ebayProductStorePref)) { + if (UtilValidate.isNotEmpty(ebayProductStorePref) && UtilValidate.isNotEmpty(ebayProductStorePref.getString("autoPrefJobId"))) { isAutoPositiveFeedback = ebayProductStorePref.getString("enabled"); // if isAutoPositiveFeedback is N that means not start this job run service - if ("Y".equals(isAutoPositiveFeedback)) { + if ("Y".equals(isAutoPositiveFeedback)&& jobId.equals(ebayProductStorePref.getString("autoPrefJobId"))) { feedbackEventCode = ebayProductStorePref.getString("condition1"); String storeComments = ebayProductStorePref.getString("condition2"); String comment = null; @@ -250,10 +250,10 @@ Delegator delegator = dctx.getDelegator(); Locale locale = (Locale) context.get("locale"); - if (UtilValidate.isEmpty(context.get("productStoreId"))){ + if (UtilValidate.isEmpty(context.get("productStoreId")) && UtilValidate.isEmpty(context.get("jobId"))){ return ServiceUtil.returnFailure("Required productStoreId for get api context to connect with ebay site."); } - + String jobId = (String) context.get("jobId"); String productStoreId = (String) context.get("productStoreId"); String isAutoFeedbackReminder = "N"; int afterDays = 0; @@ -266,10 +266,10 @@ try { ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); ebayProductStorePref = delegator.findByPrimaryKey("EbayProductStorePref", UtilMisc.toMap("productStoreId", productStoreId,"autoPrefEnumId","EBAY_AUTO_FB_RMD")); - if (UtilValidate.isNotEmpty(ebayProductStorePref)) { + if (UtilValidate.isNotEmpty(ebayProductStorePref) && UtilValidate.isNotEmpty(ebayProductStorePref.getString("autoPrefJobId"))) { isAutoFeedbackReminder = ebayProductStorePref.getString("enabled"); // if isAutoPositiveFeedback is N that means not start this job run service - if ("Y".equals(isAutoFeedbackReminder)) { + if ("Y".equals(isAutoFeedbackReminder)&& jobId.equals(ebayProductStorePref.getString("autoPrefJobId"))) { afterDays = Integer.parseInt(ebayProductStorePref.getString("condition1")); isAlsoSendCopyToSeller = ebayProductStorePref.getString("condition2"); @@ -280,9 +280,8 @@ if (UtilValidate.isNotEmpty(sellingManagerSoldOrders)) { for(SellingManagerSoldOrderType solditem :sellingManagerSoldOrders){ SellingManagerOrderStatusType orderStatus = solditem.getOrderStatus(); - if (orderStatus != null && !orderStatus.isFeedbackSent()) { + if (orderStatus != null) { SellingManagerPaidStatusCodeType paidStatus = orderStatus.getPaidStatus(); - CommentTypeCodeType commentType = orderStatus.getFeedbackReceived(); SellingManagerShippedStatusCodeType shippedStatus = orderStatus.getShippedStatus(); //Buyer has paid for this item. && Seller shipped items but feedback has not been received from buyer more than days condition @@ -320,6 +319,7 @@ return ServiceUtil.returnSuccess(); } + public static Map<String, Object> automaticEbayRelistSoldItems(DispatchContext dctx, Map<String, ? extends Object> context) { Map<String, Object>result = FastMap.newInstance(); LocalDispatcher dispatcher = dctx.getDispatcher(); @@ -585,4 +585,68 @@ } return ServiceUtil.returnSuccess(); } + /* start automatically service send an email when ebay seller has been received payment from ebay buyer */ + public static Map<String, Object> autoSendPaymentReceivedEmail(DispatchContext dctx, Map<String, ? extends Object> context) throws ApiException, SdkException, Exception{ + Delegator delegator = dctx.getDelegator(); + Locale locale = (Locale) context.get("locale"); + GenericValue userLogin = delegator.findOne("UserLogin", false, "userLoginId", "system"); + + if (UtilValidate.isEmpty(context.get("productStoreId")) && UtilValidate.isEmpty(context.get("jobId"))){ + return ServiceUtil.returnFailure("Required productStoreId for get api context to connect with ebay site."); + } + + String jobId = (String) context.get("jobId"); + String productStoreId = (String) context.get("productStoreId"); + + String isAutoSendEmail = "N"; + String isAlsoSendCopyToSeller = "N"; + GenericValue ebayProductStorePref = null; + List<String> list = FastList.newInstance(); + + try { + ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator); + ebayProductStorePref = delegator.findByPrimaryKey("EbayProductStorePref", UtilMisc.toMap("productStoreId", productStoreId,"autoPrefEnumId","EBAY_AUTO_FB_RMD")); + if (UtilValidate.isNotEmpty(ebayProductStorePref) && UtilValidate.isNotEmpty(ebayProductStorePref.getString("autoPrefJobId"))) { + isAutoSendEmail = ebayProductStorePref.getString("enabled"); + // if isAutoPositiveFeedback is N that means not start this job run service + if ("Y".equals(isAutoSendEmail) && jobId.equals(ebayProductStorePref.getString("autoPrefJobId"))) { + isAlsoSendCopyToSeller = ebayProductStorePref.getString("condition1"); + + // start getting sold item list from ebay follow your site + GetSellingManagerSoldListingsCall sellingManagerSoldListings = new GetSellingManagerSoldListingsCall(apiContext); + List<SellingManagerSoldOrderType> items = FastList.newInstance(); + SellingManagerSoldOrderType[] sellingManagerSoldOrders = sellingManagerSoldListings.getSellingManagerSoldListings(); + if (UtilValidate.isNotEmpty(sellingManagerSoldOrders)) { + for(SellingManagerSoldOrderType solditem :sellingManagerSoldOrders){ + SellingManagerOrderStatusType orderStatus = solditem.getOrderStatus(); + if (orderStatus != null) { + SellingManagerPaidStatusCodeType paidStatus = orderStatus.getPaidStatus(); + //Buyer has paid for this item. and seller received + if (SellingManagerPaidStatusCodeType.PAID.equals(paidStatus)) { + items.add(solditem); + } + } + } + + // call service send email (get template follow productStoreId) + GetUserCall getUserCall = new GetUserCall(apiContext); + String sellerUser = getUserCall.getUser().getUserID(); + for(SellingManagerSoldOrderType item :items){ + // start leave feedbacks + SellingManagerSoldTransactionType[] soldTrans = item.getSellingManagerSoldTransaction(); + if (UtilValidate.isNotEmpty(soldTrans)) { + for(SellingManagerSoldTransactionType soldTran : soldTrans){ + // call send + } + } + } + } + } + } + }catch (Exception e) { + return ServiceUtil.returnFailure("Problems to connect with ebay site message:"+e); + } + + return ServiceUtil.returnSuccess(); + } } Modified: ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java (original) +++ ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java Fri Feb 26 09:15:34 2010 @@ -288,6 +288,7 @@ Map<String, Object>infoData = FastMap.newInstance(); infoData.put("jobId", jobSandbox.getString("jobId")); + infoData.put("productStoreId", ebayProductPref.getString("productStoreId")); runtimeData.set("runtimeInfo", XmlSerializer.serialize(infoData)); runtimeData.store(); } 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=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml Fri Feb 26 09:15:34 2010 @@ -149,6 +149,12 @@ <response name="success" type="view" value="AutomationPreferences"/> <response name="error" type="view" value="AutomationPreferences"/> </request-map> + <request-map uri="autoSendPaymentReceivedEmail"> + <security auth="true" https="true"/> + <event type="simple" path="component://ebaystore/script/org/ofbiz/ebaystore/EbayStoreEvents.xml" invoke="autoSendPaymentReceivedEmail"/> + <response name="success" type="view" value="AutomationPreferences"/> + <response name="error" type="view" value="AutomationPreferences"/> + </request-map> <!-- Block item out of stock --> <request-map uri="blockItemOutOfStock"> <security https="true" auth="true"/> Modified: ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml Fri Feb 26 09:15:34 2010 @@ -311,5 +311,26 @@ </field> <field name="submitButton" title="${uiLabelMap.CommonApply}"><submit button-type="button"/></field> </form> + <!-- Automatically send Payment Received email when payment has been received --> + <form name="autoSendPaymentReceivedEmail" type="single" target="autoSendPaymentReceivedEmail" + header-row-style="header-row" default-table-style="basic-table"> + <actions> + <entity-one entity-name="EbayProductStorePref" value-field="ebayProductStorePref"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + <field-map field-name="autoPrefEnumId" value="EBAY_AUTO_PR_EMAIL"/> + </entity-one> + <set field="isAutoSendPayReceivedEmail" type="String" from-field="ebayProductStorePref.enabled"/> + <set field="isSendCopyEmailToSeller" type="String" from-field="ebayProductStorePref.condition1"/> + </actions> + <field name="productStoreId"><hidden value="${parameters.productStoreId}"/></field> + <field name="isAutoSendPayReceivedEmail" tooltip="${uiLabelMap.EbayAutoPaymentReceviedEmail}" position="1" title="${uiLabelMap.EbayIsAutoSendEmail}"><check></check></field> + <field name="isSendCopyEmailToSeller" position="1" title="${uiLabelMap.EbayIsSendCopyEmailToSeller}"><check></check></field> + <field name="emailTemplate" title="Email" tooltip="Edit Payment received email template"> + <hyperlink target="#" description="${uiLabelMap.EbayEditEmailTemplate}"> + <parameter param-name="productStoreId" from-field="parameters.productStoreId"/> + </hyperlink> + </field> + <field name="submitButton" title="${uiLabelMap.CommonApply}"><submit button-type="button"/></field> + </form> </forms> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml?rev=916625&r1=916624&r2=916625&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml Fri Feb 26 09:15:34 2010 @@ -255,6 +255,9 @@ <screenlet title="${uiLabelMap.EbayIsAutoFeedbackReminder}" id="autoSendFeedbackReminder" collapsible="false" initially-collapsed="true"> <include-form name="autoSendFeedbackReminder" location="component://ebaystore/widget/EbaySellingManagerForms.xml"/> </screenlet> + <screenlet title="${uiLabelMap.EbayAutoPaymentReceviedEmail}" id="autoSendPaymentReceivedEmail" collapsible="false" initially-collapsed="true"> + <include-form name="autoSendPaymentReceivedEmail" location="component://ebaystore/widget/EbaySellingManagerForms.xml"/> + </screenlet> </decorator-section> </decorator-screen> </widgets> |
Free forum by Nabble | Edit this page |