Author: hansbak
Date: Thu Feb 25 06:36:14 2010 New Revision: 916150 URL: http://svn.apache.org/viewvc?rev=916150&view=rev Log: Ebaystore update: - function setting for your store run auto disput and auto Relisting - create new entity called EbayProductStorePref used for setting automation perference data. Added: ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy Removed: ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreScheduledJobs.xml Modified: ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml 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=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml Thu Feb 25 06:36:14 2010 @@ -205,4 +205,25 @@ <property key="requireEbayInventory"> <value xml:lang="en">Require eBay Inventory</value> </property> + <property key="EbayAutomationDispute"> + <value xml:lang="en">Automation Dispute</value> + </property> + <property key="EbayDisputeCheckoutNotComplete"> + <value xml:lang="en">Create Dispute if checkout has not been completed</value> + </property> + <property key="EbayDisputeNotPay"> + <value xml:lang="en">Create Dispute if checkout has been completed but no payment has been received</value> + </property> + <property key="EbayAfter"> + <value xml:lang="en">After</value> + </property> + <property key="EbayReason"> + <value xml:lang="en">Reason</value> + </property> + <property key="EbayExplanation"> + <value xml:lang="en">Explanation</value> + </property> + <property key="EbayAddSecondChanceOffer"> + <value xml:lang="en">Add Second Chance Offer</value> + </property> </resource> Modified: ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml?rev=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml Thu Feb 25 06:36:14 2010 @@ -24,4 +24,10 @@ <EnumerationType description="Inventory Reservation For Ebay Store" enumTypeId="EBAY_INV_RESERVE" hasTable="N" parentTypeId=""/> <Enumeration description="ebay inventory reserve" enumCode="EBAY_INV" enumId="EBAY_INV_RES" sequenceId="01" enumTypeId="EBAY_INV_RESERVE"/> + + <EnumerationType description="Ebay setting auto preferences" enumTypeId="EBAY_AUTO_PREF" hasTable="N" parentTypeId=""/> + + <Enumeration enumId="EBAY_AUTO_DISPUTE1" description="Automatic Dispute not complete" enumTypeId="EBAY_AUTO_PREF"/> + <Enumeration enumId="EBAY_AUTO_DISPUTE2" description="Automatic Dispute not pay" enumTypeId="EBAY_AUTO_PREF"/> + <Enumeration enumId="EBAY_AUTO_RELISTING" description="Automatic Relisting" enumTypeId="EBAY_AUTO_PREF"/> </entity-engine-xml> Modified: ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml?rev=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml Thu Feb 25 06:36:14 2010 @@ -58,6 +58,26 @@ <key-map field-name="productStoreId"/> </relation> </entity> - + <entity entity-name="EbayProductStorePref" package-name="org.ofbiz.ebay.store" + title="Ebay store and Preference"> + <field name="productStoreId" type="id-ne"/> + <field name="autoPrefEnumId" type="id-ne"/> + <field name="autoPrefJobId" type="id-ne"/> + <field name="enabled" type="indicator"/> + <field name="condition1" type="value"/> + <field name="condition2" type="value"/> + <field name="condition3" type="value"/> + <prim-key field="productStoreId"/> + <prim-key field="autoPrefEnumId"/> + <relation type="one" fk-name="EBY_STR_PREF" rel-entity-name="ProductStore"> + <key-map field-name="productStoreId"/> + </relation> + <relation type="one" fk-name="EBY_STR_ENUM" rel-entity-name="Enumeration"> + <key-map field-name="autoPrefEnumId" rel-field-name="enumId"/> + </relation> + <relation type="one" fk-name="EBY_STR_JOB" rel-entity-name="JobSandbox"> + <key-map field-name="autoPrefJobId" rel-field-name="jobId"/> + </relation> + </entity> </entitymodel> \ No newline at end of file Modified: ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml?rev=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml Thu Feb 25 06:36:14 2010 @@ -35,6 +35,7 @@ <entity-resource type="data" reader-name="demo" loader="main" location="data/DemoEbayStoreData.xml"/> <entity-resource type="data" reader-name="demo" loader="main" location="data/EbayStoreScheduledJobs.xml"/> + <service-resource type="eca" loader="main" location="servicedef/secas.xml"/> <service-resource type="model" loader="main" location="servicedef/services.xml"/> <webapp name="ebaystore" Added: ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml?rev=916150&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml (added) +++ ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml Thu Feb 25 06:36:14 2010 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> + +<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd"> + <eca service="createEbayProductStorePref" event="commit"> + <condition operator="equals" field-name="enabled" value="Y"/> + <condition operator="is-not-empty" field-name="serviceName"/> + <action mode="sync" service="startEbayAutoPreference"/> + </eca> + <eca service="updateEbayProductStorePref" event="commit"> + <condition operator="equals" field-name="enabled" value="Y"/> + <condition operator="is-not-empty" field-name="serviceName"/> + <action mode="sync" service="startEbayAutoPreference"/> + </eca> + <eca service="createEbayProductStorePref" event="commit"> + <condition operator="equals" field-name="enabled" value="N"/> + <condition operator="is-not-empty" field-name="serviceName"/> + <action mode="sync" service="stopEbayAutoPreference"/> + </eca> + <eca service="updateEbayProductStorePref" event="commit"> + <condition operator="equals" field-name="enabled" value="N"/> + <action mode="sync" service="stopEbayAutoPreference"/> + </eca> +</service-eca> \ 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=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml Thu Feb 25 06:36:14 2010 @@ -326,4 +326,27 @@ <attribute name="itemId" mode="IN" type="String" optional="false"/> <attribute name="checkVerify" mode="OUT" type="Boolean" optional="false"/> </service> + <service name="startEbayAutoPreference" engine="java" transaction-timeout="3600" + location="org.ofbiz.ebaystore.EbayStoreHelper" invoke="startEbayAutoPreference" auth="true"> + <attribute name="productStoreId" mode="IN" type="String" optional="false"/> + <attribute name="autoPrefEnumId" mode="IN" type="String" optional="false"/> + <attribute name="serviceName" mode="IN" type="String" optional="true"/> + </service> + <service name="stopEbayAutoPreference" engine="java" transaction-timeout="3600" + location="org.ofbiz.ebaystore.EbayStoreHelper" invoke="stopEbayAutoPreference" auth="true"> + <attribute name="productStoreId" mode="IN" type="String" optional="false"/> + <attribute name="autoPrefEnumId" mode="IN" type="String" optional="false"/> + <attribute name="serviceName" mode="IN" type="String" optional="true"/> + </service> + <service name="createEbayProductStorePref" engine="entity-auto" default-entity-name="EbayProductStorePref" invoke="create" auth="true"> + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true"/> + <attribute name="serviceName" mode="IN" type="String" optional="false"/> + </service> + <service name="updateEbayProductStorePref" engine="entity-auto" default-entity-name="EbayProductStorePref" invoke="update" auth="true" > + <auto-attributes include="pk" mode="IN" optional="false"/> + <auto-attributes include="nonpk" mode="IN" optional="true" /> + <attribute name="enabled" mode="IN" type="String" optional="false" default-value="N"/> + <attribute name="serviceName" mode="IN" type="String" optional="false"/> + </service> </services> \ No newline at end of file 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=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java (original) +++ ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java Thu Feb 25 06:36:14 2010 @@ -19,20 +19,8 @@ package org.ofbiz.ebaystore; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.math.BigDecimal; -import java.net.HttpURLConnection; -import java.net.URL; -import java.sql.Timestamp; -import java.text.ParsePosition; -import java.text.SimpleDateFormat; -import java.util.Collection; import java.util.Date; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; @@ -42,21 +30,20 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.UtilDateTime; import org.ofbiz.base.util.UtilMisc; -import org.ofbiz.base.util.UtilProperties; import org.ofbiz.base.util.UtilValidate; -import org.ofbiz.base.util.UtilXml; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; -import org.ofbiz.entity.util.EntityUtil; -import org.ofbiz.order.shoppingcart.ShoppingCart; -import org.ofbiz.party.contact.ContactHelper; +import org.ofbiz.entity.serialize.SerializeException; +import org.ofbiz.entity.serialize.XmlSerializer; +import org.ofbiz.service.DispatchContext; import org.ofbiz.service.GenericServiceException; import org.ofbiz.service.LocalDispatcher; -import org.ofbiz.service.ModelService; import org.ofbiz.service.ServiceUtil; -import org.w3c.dom.Document; -import org.w3c.dom.Element; +import org.ofbiz.service.calendar.RecurrenceInfo; +import org.ofbiz.service.calendar.RecurrenceInfoException; +import org.ofbiz.service.config.ServiceConfigUtil; +import org.ofbiz.service.job.JobManager; import com.ebay.sdk.ApiAccount; import com.ebay.sdk.ApiContext; @@ -66,6 +53,8 @@ import org.ofbiz.ebay.EbayHelper; +import sun.net.www.content.text.Generic; + public class EbayStoreHelper { private static final String configFileName = "ebayStore.properties"; private static final String module = EbayStoreHelper.class.getName(); @@ -236,4 +225,120 @@ } return flag; } + public static Map<String, Object> startEbayAutoPreference(DispatchContext dctx, Map<String, ? extends Object> context) { + Map<String, Object>result = FastMap.newInstance(); + LocalDispatcher dispatcher = dctx.getDispatcher(); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + Delegator delegator = dctx.getDelegator(); + Locale locale = (Locale) context.get("locale"); + String productStoreId = (String) context.get("productStoreId"); + String autoPrefEnumId = (String) context.get("autoPrefEnumId"); + String serviceName = (String) context.get("serviceName"); + try{ + GenericValue ebayProductPref = delegator.findByPrimaryKey("EbayProductStorePref", UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", autoPrefEnumId)); + String jobId = ebayProductPref.getString("autoPrefJobId"); + if (UtilValidate.isNotEmpty(jobId)) { + GenericValue job = delegator.findByPrimaryKey("JobSandbox", UtilMisc.toMap("jobId", jobId)); + job = EbayStoreHelper.getCurrentJob(delegator, userLogin, job); + if (!job.getString("statusId").equals("SERVICE_PENDING")) { + Map<String, Object>inMap = FastMap.newInstance(); + inMap.put("jobId", jobId); + inMap.put("userLogin", userLogin); + dispatcher.runSync("resetScheduledJob", inMap); + } + } + if (UtilValidate.isEmpty(ebayProductPref.getString("autoPrefJobId"))) { + if (UtilValidate.isEmpty(serviceName)) return ServiceUtil.returnError("If you add a new job, you have to add serviec name."); + /*** RuntimeData ***/ + String runtimeDataId = null; + GenericValue runtimeData = delegator.makeValue("RuntimeData"); + runtimeData = delegator.createSetNextSeqId(runtimeData); + runtimeDataId = runtimeData.getString("runtimeDataId"); + + /*** JobSandbox ***/ + // create the recurrence + String infoId = null; + String jobName = null; + long startTime = UtilDateTime.getNextDayStart(UtilDateTime.nowTimestamp()).getTime(); + RecurrenceInfo info; + // run every day when day start + info = RecurrenceInfo.makeInfo(delegator, startTime, 4, 1, -1); + infoId = info.primaryKey(); + // set the persisted fields + GenericValue enumeration = delegator.findByPrimaryKey("Enumeration", UtilMisc.toMap("enumId", autoPrefEnumId)); + jobName = enumeration.getString("description"); + if (jobName == null) { + jobName = Long.toString((new Date().getTime())); + } + Map<String, Object> jFields = UtilMisc.<String, Object>toMap("jobName", jobName, "runTime", UtilDateTime.nowTimestamp(), + "serviceName", serviceName, "statusId", "SERVICE_PENDING", "recurrenceInfoId", infoId, "runtimeDataId", runtimeDataId); + + // set the pool ID + jFields.put("poolId", ServiceConfigUtil.getSendPool()); + + // set the loader name + jFields.put("loaderName", JobManager.dispatcherName); + // create the value and store + GenericValue jobV; + jobV = delegator.makeValue("JobSandbox", jFields); + GenericValue jobSandbox = delegator.createSetNextSeqId(jobV); + + ebayProductPref.set("autoPrefJobId", jobSandbox.getString("jobId")); + ebayProductPref.store(); + + Map<String, Object>infoData = FastMap.newInstance(); + infoData.put("jobId", jobSandbox.getString("jobId")); + runtimeData.set("runtimeInfo", XmlSerializer.serialize(infoData)); + runtimeData.store(); + } + } catch(GenericEntityException e){ + return ServiceUtil.returnError(e.getMessage()); + } catch (GenericServiceException e) { + return ServiceUtil.returnError(e.getMessage()); + } catch (SerializeException e) { + return ServiceUtil.returnError(e.getMessage()); + } catch (IOException e) { + return ServiceUtil.returnError(e.getMessage()); + }catch (RecurrenceInfoException e) { + return ServiceUtil.returnError(e.getMessage()); + } + return result; + } + public static Map<String, Object> stopEbayAutoPreference(DispatchContext dctx, Map<String, ? extends Object> context) { + Map<String, Object>result = FastMap.newInstance(); + LocalDispatcher dispatcher = dctx.getDispatcher(); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + Delegator delegator = dctx.getDelegator(); + Locale locale = (Locale) context.get("locale"); + String productStoreId = (String) context.get("productStoreId"); + String autoPrefEnumId = (String) context.get("autoPrefEnumId"); + try{ + GenericValue ebayProductPref = delegator.findByPrimaryKey("EbayProductStorePref", UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", autoPrefEnumId)); + String jobId = ebayProductPref.getString("autoPrefJobId"); + GenericValue job = delegator.findByPrimaryKey("JobSandbox", UtilMisc.toMap("jobId", jobId)); + job = EbayStoreHelper.getCurrentJob(delegator, userLogin, job); + Map<String, Object>inMap = FastMap.newInstance(); + inMap.put("userLogin", userLogin); + inMap.put("jobId", job.getString("jobId")); + dispatcher.runSync("cancelScheduledJob", inMap); + } catch(GenericEntityException e){ + return ServiceUtil.returnError(e.getMessage()); + } catch(GenericServiceException e){ + return ServiceUtil.returnError(e.getMessage()); + } + return result; + } + private static GenericValue getCurrentJob(Delegator delegator, GenericValue userLogin, GenericValue job){ + try { + List<GenericValue> jobNew = delegator.findByAnd("JobSandbox", UtilMisc.toMap("previousJobId", job.getString("jobId"))); + if (jobNew.size() != 0) { + job = EbayStoreHelper.getCurrentJob(delegator, userLogin, jobNew.get(0)); + } else { + return job; + } + } catch (GenericEntityException e) { + return null; + } + return job; + } } Added: ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy?rev=916150&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy (added) +++ ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy Thu Feb 25 06:36:14 2010 @@ -0,0 +1,100 @@ +/* + * 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 com.ebay.soap.eBLBaseComponents.DisputeReasonCodeType; +import com.ebay.soap.eBLBaseComponents.DisputeExplanationCodeType; +import javolution.util.FastList; +import javolution.util.FastMap; + +public static String makeSpace(String text){ + String result = ""; + for (int i=0; i<text.length(); i++) { + if (i < text.length()-1) { + if (String.valueOf(text.charAt(i+1)).equals(String.valueOf(text.charAt(i+1)).toUpperCase())) { + result = result + String.valueOf(text.charAt(i)) + " " ; + } else { + result = result + String.valueOf(text.charAt(i)); + } + }else{ + result = result + String.valueOf(text.charAt(i)); + } + } + return result; +} +reasons = FastList.newInstance(); +explanations = FastList.newInstance(); + +entry = FastMap.newInstance(); +entry.put("reasonCode", DisputeReasonCodeType.BUYER_HAS_NOT_PAID.toString()); +entry.put("value", makeSpace(DisputeReasonCodeType.BUYER_HAS_NOT_PAID.value())); +reasons.add(entry); +entry = FastMap.newInstance(); +entry.put("reasonCode", DisputeReasonCodeType.TRANSACTION_MUTUALLY_CANCELED.toString()); +entry.put("value", makeSpace(DisputeReasonCodeType.TRANSACTION_MUTUALLY_CANCELED.value())); +reasons.add(entry); + +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_HAS_NOT_RESPONDED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_HAS_NOT_RESPONDED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_REFUSED_TO_PAY.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_REFUSED_TO_PAY.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_RETURNED_ITEM_FOR_REFUND.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_RETURNED_ITEM_FOR_REFUND.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.UNABLE_TO_RESOLVE_TERMS.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.UNABLE_TO_RESOLVE_TERMS.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_PURCHASING_MISTAKE.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_PURCHASING_MISTAKE.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.SHIP_COUNTRY_NOT_SUPPORTED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.SHIP_COUNTRY_NOT_SUPPORTED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.SHIPPING_ADDRESS_NOT_CONFIRMED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.SHIPPING_ADDRESS_NOT_CONFIRMED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.PAYMENT_METHOD_NOT_SUPPORTED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.PAYMENT_METHOD_NOT_SUPPORTED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.value())); +explanations.add(entry); +entry = FastMap.newInstance(); +entry.put("explanationCode", DisputeExplanationCodeType.OTHER_EXPLANATION.toString()); +entry.put("value", makeSpace(DisputeExplanationCodeType.OTHER_EXPLANATION.value())); +explanations.add(entry); + +context.reasons = reasons; +context.explanations = explanations; \ No newline at end of file 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=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml Thu Feb 25 06:36:14 2010 @@ -125,6 +125,18 @@ <response name="success" type="view" value="AutomationPreferences"/> <response name="error" type="view" value="AutomationPreferences"/> </request-map> + <request-map uri="createEbayProductStorePref"> + <security auth="true" https="true"/> + <event type="service" invoke="createEbayProductStorePref"/> + <response name="success" type="view" value="AutomationPreferences"/> + <response name="error" type="view" value="AutomationPreferences"/> + </request-map> + <request-map uri="updateEbayProductStorePref"> + <security auth="true" https="true"/> + <event type="service" invoke="updateEbayProductStorePref"/> + <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=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml Thu Feb 25 06:36:14 2010 @@ -23,15 +23,54 @@ <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> <!-- Automation Preference --> - <form name="EditAutomationRelistSoldItems" target="createEbayAutomaticRelistItems" type="single"> - <alt-target use-when="job!=null" target="updateEbayAutomaticRelistItems"/> - <field name="jobId" use-when="job!=null"><hidden value="${job.jobId}"/></field> - <field name="jobId" use-when="job==null"><hidden value="${jobId}"/></field> - <field name="authUserLoginId"><hidden value="${userLoginId}"/></field> + <form name="EditAutomationRelistSoldItems" target="createEbayProductStorePref" type="single" default-map-name="ebayPrefRelisting" > + <alt-target use-when="ebayPrefRelisting!=null" target="updateEbayProductStorePref"/> <field name="productStoreId"><hidden value="${parameters.productStoreId}"/></field> - <field name="startDateTime"><date-time default-value="${job.startDateTime}"/></field> - <field name="finishDateTime"><date-time default-value="${job.finishDateTime}"/></field> - <field name="submit" title="${uiLabelMap.CommonUpdate}"><submit/></field> + <field name="enabled" tooltip="${uiLabelMap.EbayAutoRelisting}" tooltip-style="h3"><check/></field> + <field name="condition1"><hidden value="${userLoginId}"/></field> + <field name="condition2" title="${uiLabelMap.CommonFromDate}"><date-time/></field> + <field name="condition3" title="${uiLabelMap.CommonThruDate}"><date-time/></field> + <field name="serviceName"><hidden value="${serviceName}"/></field> + <field name="autoPrefEnumId"><hidden value="${autoPrefEnumId}"/></field> + <field name="submit" title="${uiLabelMap.CommonApply}"><submit/></field> + </form> + <form name="AutomationDisputeNotComplete" target="createEbayProductStorePref" type="single" default-map-name="ebayPrefDispute1"> + <alt-target use-when="ebayPrefDispute1!=null" target="updateEbayProductStorePref"/> + <field name="productStoreId"><hidden value="${parameters.productStoreId}"/></field> + <field name="enabled" tooltip="${uiLabelMap.EbayDisputeCheckoutNotComplete}" tooltip-style="h3"><check/></field> + <field name="condition1" title="${uiLabelMap.EbayAfter}" tooltip-style="text" tooltip="${uiLabelMap.CommonDays}" ><text default-value="" size="5"/></field> + <field name="condition2" title="${uiLabelMap.EbayReason}"> + <drop-down > + <list-options key-name="reasonCode" list-name="reasons" description="${value}"/> + </drop-down> + </field> + <field name="condition3" title="${uiLabelMap.EbayExplanation}"> + <drop-down > + <list-options key-name="explanationCode" list-name="explanations" description="${value}"/> + </drop-down> + </field> + <field name="serviceName"><hidden value="${serviceName1}"/></field> + <field name="autoPrefEnumId"><hidden value="${autoPrefEnumId1}"/></field> + <field name="submit" title="${uiLabelMap.CommonApply}"><submit/></field> + </form> + <form name="AutomationDisputeNotPay" target="createEbayProductStorePref" type="single" default-map-name="ebayPrefDispute2"> + <alt-target use-when="ebayPrefDispute2!=null" target="updateEbayProductStorePref"/> + <field name="productStoreId"><hidden value="${parameters.productStoreId}"/></field> + <field name="enabled" tooltip="${uiLabelMap.EbayDisputeNotPay}" tooltip-style="h3"><check/></field> + <field name="condition1" title="${uiLabelMap.EbayAfter}" tooltip-style="text" tooltip="${uiLabelMap.CommonDays}" ><text default-value="" size="5"/></field> + <field name="condition2" title="${uiLabelMap.EbayReason}"> + <drop-down > + <list-options key-name="reasonCode" list-name="reasons" description="${value}"/> + </drop-down> + </field> + <field name="condition3" title="${uiLabelMap.EbayExplanation}"> + <drop-down > + <list-options key-name="explanationCode" list-name="explanations" description="${value}"/> + </drop-down> + </field> + <field name="serviceName"><hidden value="${serviceName2}"/></field> + <field name="autoPrefEnumId"><hidden value="${autoPrefEnumId2}"/></field> + <field name="submit" title="${uiLabelMap.CommonApply}"><submit/></field> </form> <!-- Sold Listing --> <form name="SoldItemList" type="list" target="doAction" list-name="soldItemList" Modified: ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml?rev=916150&r1=916149&r2=916150&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml (original) +++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml Thu Feb 25 06:36:14 2010 @@ -242,13 +242,13 @@ <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> </service> <set field="userLoginId" from-field="result.userLoginId"/> - <script location="component://ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetEbayJobsandbox.groovy"/> </actions> <widgets> <decorator-screen name="SellingManagerDecorator" location="${parameters.mainDecoratorLocation}"> <decorator-section name="body"> <decorator-section-include name="body"/> <include-screen name="AutomationRelistSoldItems"/> + <include-screen name="AutomationDispute"/> </decorator-section> </decorator-screen> </widgets> @@ -258,14 +258,51 @@ <section> <actions> <set field="headerItem" value="ebayStore"/> + <set field="autoPrefEnumId" value="EBAY_AUTO_RELISTING"/> + <set field="serviceName" value="automaticEbayRelistSoldItems"/> + <entity-one value-field="ebayPrefRelisting" entity-name="EbayProductStorePref"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + <field-map field-name="autoPrefEnumId" from-field="autoPrefEnumId"/> + </entity-one> + <service service-name="getEbayStoreUser" result-map="result"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + </service> + <set field="userLoginId" from-field="result.userLoginId"/> </actions> <widgets> - <screenlet title="${uiLabelMap.EbayAutomationRelistItems}"> + <screenlet title="${uiLabelMap.EbayAutomationRelistItems}" collapsible="true" name="EbayAutomationRelistItems"> <include-form name="EditAutomationRelistSoldItems" location="component://ebaystore/widget/EbaySellingManagerForms.xml"/> </screenlet> </widgets> </section> </screen> + <screen name="AutomationDispute"> + <section> + <actions> + <set field="headerItem" value="ebayStore"/> + <set field="tabButtonItem" value="automaticEbayDisputeItems"/> + <set field="autoPrefEnumId1" value="EBAY_AUTO_DISPUTE1"/> + <set field="autoPrefEnumId2" value="EBAY_AUTO_DISPUTE2"/> + <set field="serviceName1" value="eBayAutomaticDisputeNotComplete"/> + <set field="serviceName2" value="eBayAutomaticDisputeNotPay"/> + <entity-one value-field="ebayPrefDispute1" entity-name="EbayProductStorePref"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + <field-map field-name="autoPrefEnumId" from-field="autoPrefEnumId1"/> + </entity-one> + <entity-one value-field="ebayPrefDispute2" entity-name="EbayProductStorePref"> + <field-map field-name="productStoreId" from-field="parameters.productStoreId"/> + <field-map field-name="autoPrefEnumId" from-field="autoPrefEnumId2"/> + </entity-one> + <script location="component://ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy"/> + </actions> + <widgets> + <screenlet title="${uiLabelMap.EbayAutomaticDispute}" collapsible="true" name="AutomationDispute"> + <include-form name="AutomationDisputeNotComplete" location="component://ebaystore/widget/EbaySellingManagerForms.xml"/> + <include-form name="AutomationDisputeNotPay" location="component://ebaystore/widget/EbaySellingManagerForms.xml"/> + </screenlet> + </widgets> + </section> + </screen> <!-- Sold --> <screen name="EbaySoldListing"> <section> |
Free forum by Nabble | Edit this page |