Nice addition, i am sure others will use.....
I was wondering if you are are also working on a order import from Ebay? Regards, Hans On Sat, 2009-10-31 at 12:01 +0000, [hidden email] wrote: > Author: ashish > Date: Sat Oct 31 12:01:52 2009 > New Revision: 831534 > > URL: http://svn.apache.org/viewvc?rev=831534&view=rev > Log: > Applied patch from jira issue OFBIZ-3132 - Multiple productStore support to googleBase and eBay. > > Changes includes following: > 1) Created new search form for eBay and GoogleBase - It was not good to update *advancesearch*.ftl file present inside catalog component. Now it will be easy to maintain separate file for future deployments. > 2) Restricted productStoreId and prodCatalogId field to search. > 3) Added webSite drop-down on "Export to eBay" and "Export to GoogleBase" page. > 4) Select webSite to get the webSiteUrl. > > Thanks Parimal for your contribution - this will surely help the community. > Special thanks to Mridul, Rishi, Chirag, Deepak & Me :-) for discussing requirement and also special thanks to Jacopo for the notes and discussion on requirements. > > > Added: > ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl (with props) > ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl (with props) > Modified: > ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy > ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl > ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy > ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl > ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml > ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml > ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml > ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy > ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml > ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml > > Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy (original) > +++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy Sat Oct 31 12:01:52 2009 > @@ -18,13 +18,23 @@ > */ > > import org.ofbiz.entity.condition.* > +import org.ofbiz.entity.util.EntityUtil; > import org.ofbiz.product.catalog.* > +import org.ofbiz.product.category.CategoryWorker; > import org.ofbiz.product.feature.* > import org.ofbiz.product.product.* > import org.ofbiz.product.store.ProductStoreWorker; > > +categoryIds = []; > +prodCatalogList = []; > +categoryList = []; > + > searchCategoryId = parameters.SEARCH_CATEGORY_ID; > -productStoreId = ProductStoreWorker.getProductStoreId(request); > +if (parameters.productStoreId) { > + productStoreId = parameters.productStoreId; > +} else { > + productStoreId = ProductStoreWorker.getProductStoreId(request); > +} > if ((!searchCategoryId || searchCategoryId.length() == 0) && !productStoreId) { > currentCatalogId = CatalogWorker.getCurrentCatalogId(request); > searchCategoryId = CatalogWorker.getCatalogSearchCategoryId(request, currentCatalogId); > @@ -52,6 +62,39 @@ > // get the GoodIdentification types > goodIdentificationTypes = delegator.findList("GoodIdentificationType", null, null, ['description'], null, false); > > +//get all productStoreIds used in EbayConfig > +ebayConfigList = delegator.findList("EbayConfig", null, null, null, null, false); > + > +//get all productStoreIds used in GoogleBaseConfig > +googleBaseConfigList = delegator.findList("GoogleBaseConfig", null, null, null, null, false); > + > +if (productStoreId) { > + productStoreCatalogs = CatalogWorker.getStoreCatalogs(delegator, productStoreId); > + if (productStoreCatalogs) { > + productStoreCatalogs.each { productStoreCatalog -> > + prodCatalog = delegator.findOne("ProdCatalog", [prodCatalogId : productStoreCatalog.prodCatalogId], true); > + prodCatalogList.add(prodCatalog); > + } > + } > +} > +if (parameters.SEARCH_CATALOG_ID) { > + CategoryWorker.getRelatedCategories(request, "topLevelList", CatalogWorker.getCatalogTopCategoryId(request, parameters.SEARCH_CATALOG_ID), true); > + if (request.getAttribute("topLevelList")) { > + categoryList = request.getAttribute("topLevelList"); > + } > + context.searchCatalogId = parameters.SEARCH_CATALOG_ID; > +} else if (prodCatalogList) { > + catalog = EntityUtil.getFirst(prodCatalogList); > + context.searchCatalogId = catalog.prodCatalogId; > + CategoryWorker.getRelatedCategories(request, "topLevelList", CatalogWorker.getCatalogTopCategoryId(request, catalog.prodCatalogId), true); > + if (request.getAttribute("topLevelList")) { > + categoryList = request.getAttribute("topLevelList"); > + } > +} > +if (categoryList) { > + categoryIds = EntityUtil.getFieldListFromEntityList(categoryList, "productCategoryId", true); > +} > + > context.searchCategoryId = searchCategoryId; > context.searchCategory = searchCategory; > context.productFeaturesByTypeMap = productFeaturesByTypeMap; > @@ -60,4 +103,9 @@ > context.searchConstraintStrings = searchConstraintStrings; > context.searchSortOrderString = searchSortOrderString; > context.supplerPartyRoleAndPartyDetails = supplerPartyRoleAndPartyDetails; > -context.goodIdentificationTypes = goodIdentificationTypes; > \ No newline at end of file > +context.goodIdentificationTypes = goodIdentificationTypes; > +context.ebayConfigList = ebayConfigList; > +context.googleBaseConfigList = googleBaseConfigList; > +context.categoryIds = categoryIds; > +context.productStoreId = productStoreId; > +context.prodCatalogList = prodCatalogList; > \ No newline at end of file > > Modified: ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl > URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl (original) > +++ ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl Sat Oct 31 12:01:52 2009 > @@ -93,6 +93,7 @@ > </table> > > <form method="post" name="products"> > + <input type="hidden" name="productStoreId" value="${parameters.productStoreId?if_exists}" /> > <table cellspacing="0" class="basic-table"> > <#assign listIndex = lowIndex> > <#assign rowClass = "2"> > > Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy (original) > +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy Sat Oct 31 12:01:52 2009 > @@ -16,36 +16,50 @@ > * specific language governing permissions and limitations > * under the License. > */ > -import org.ofbiz.webapp.website.WebSiteWorker; > +import org.ofbiz.entity.condition.EntityCondition; > +import org.ofbiz.entity.condition.EntityOperator; > +import org.ofbiz.entity.util.EntityUtil; > > -webSite = WebSiteWorker.getWebSite(request); > -productStoreId = null; > -if (webSite) { > - productStoreId = webSite.productStoreId; > - context.productStoreId = productStoreId; > - eBayConfig = delegator.findOne("EbayConfig", [productStoreId : productStoreId], false); > - context.customXml = eBayConfig.customXml; > - context.webSiteUrl = webSite.getString("standardContentPrefix"); > - > - categoryCode = parameters.categoryCode; > - context.categoryCode = categoryCode; > - userLogin = parameters.userLogin; > - > - if (productStoreId) { > - results = dispatcher.runSync("getEbayCategories", [categoryCode : categoryCode, userLogin : userLogin, productStoreId : productStoreId]); > - } > - > - if (results.categories) { > - context.categories = results.categories; > +webSiteList = []; > +webSite = null; > +if (parameters.productStoreId) { > + productStoreId = parameters.productStoreId; > + webSiteList = delegator.findList("WebSite", EntityCondition.makeCondition("productStoreId", EntityOperator.EQUALS, productStoreId), null, null, null, false); > + if (parameters.webSiteId) { > + webSite = delegator.findOne("WebSite", ["webSiteId" : parameters.webSiteId], true); > + context.selectedWebSiteId = parameters.webSiteId; > + } else if (webSiteList) { > + webSite = EntityUtil.getFirst(webSiteList); > + context.selectedWebSiteId = webSite.webSiteId; > } > - > - if (categoryCode) { > - if (!"Y".equals(categoryCode.substring(0, 1)) && !"".equals(categoryCode)) { > - context.hideExportOptions = "Y"; > + context.productStoreId = productStoreId; > + context.webSiteList = webSiteList; > + > + if (webSite) { > + eBayConfig = delegator.findOne("EbayConfig", [productStoreId : productStoreId], false); > + context.customXml = eBayConfig.customXml; > + context.webSiteUrl = webSite.getString("standardContentPrefix"); > + > + categoryCode = parameters.categoryCode; > + context.categoryCode = categoryCode; > + userLogin = parameters.userLogin; > + > + if (productStoreId) { > + results = dispatcher.runSync("getEbayCategories", [categoryCode : categoryCode, userLogin : userLogin, productStoreId : productStoreId]); > + } > + > + if (results.categories) { > + context.categories = results.categories; > + } > + > + if (categoryCode) { > + if (!"Y".equals(categoryCode.substring(0, 1)) && !"".equals(categoryCode)) { > + context.hideExportOptions = "Y"; > + } else { > + context.hideExportOptions = "N"; > + } > } else { > context.hideExportOptions = "N"; > - } > - } else { > - context.hideExportOptions = "N"; > - } > -} > + } > + } > +} > \ No newline at end of file > > Added: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl?rev=831534&view=auto > ============================================================================== > --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl (added) > +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl Sat Oct 31 12:01:52 2009 > @@ -0,0 +1,375 @@ > +<#-- > +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. > +--> > + > +<script type="text/javascript"> > +//<![CDATA[ > + function selectChange(id) { > + var formId = id ; > + formId.action="<@ofbizUrl>main</@ofbizUrl>"; > + formId.submit(); > + } > + function submit (id) { > + var formId = id; > + if(!$('searchCatalogId').empty() && !$('searchProductStoreId').empty()){ > + $(formId).submit(); > + } else { > + if($('searchProductStoreId').empty()) { > + $('productStoreErrorMessage').show(); > + } > + if($('searchCatalogId').empty()) { > + $('catalogErrorMessage').show(); > + } > + } > + } > +//]]> > +</script> > +<div class="screenlet"> > + <div class="screenlet-title-bar"> > + <h3>${uiLabelMap.ProductAdvancedSearchInCategory}</h3> > + </div> > + <div class="screenlet-body"> > + <form id="advToKeywordSearchform" method="post" action="<@ofbizUrl>keywordsearch</@ofbizUrl>" style="margin: 0;"> > + <fieldset> > + <input type="hidden" name="VIEW_SIZE" value="25"/> > + <input type="hidden" name="PAGING" value="Y"/> > + <input type="hidden" name="noConditionFind" value="Y"/> > + <table cellspacing="0" class="basic-table"> > + <#if searchCategory?has_content> > + <input type="hidden" name="SEARCH_CATEGORY_ID" value="${searchCategoryId?if_exists}"/> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductCategory}: > + </td> > + <td valign="middle"> > + <div> > + <b>"${(searchCategory.description)?if_exists}" [${(searchCategory.productCategoryId)?if_exists}]</b> ${uiLabelMap.ProductIncludeSubCategories}? > + ${uiLabelMap.CommonYes}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="Y" checked/> > + ${uiLabelMap.CommonNo}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="N"/> > + </div> > + </td> > + </tr> > + <#else> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductProductStore}: > + </td> > + <td valign="middle"> > + <select name="productStoreId" id="searchProductStoreId" onchange="javascript:selectChange($('advToKeywordSearchform'));"> > + <#if ebayConfigList?has_content> > + <#list ebayConfigList as ebayConfig> > + <#assign productStore = delegator.findOne("ProductStore", {"productStoreId" : ebayConfig.productStoreId}, true) /> > + <#assign displayDesc = productStore.storeName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${productStore.productStoreId}" <#if productStoreId?if_exists == productStore.productStoreId> selected="selected"</#if>>${displayDesc} [${productStore.productStoreId}]</option> > + </#list> > + </#if> > + </select> > + <span id="productStoreErrorMessage" style="display:none;" class="errorMessage">${uiLabelMap.CommonRequired}</span> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductCatalog}: > + </td> > + <td valign="middle"> > + <div> > + <select name="SEARCH_CATALOG_ID" id="searchCatalogId" onchange="javascript:selectChange($('advToKeywordSearchform'));" class="required"> > + <#list prodCatalogList as prodCatalog> > + <#assign displayDesc = prodCatalog.catalogName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${prodCatalog.prodCatalogId}" <#if searchCatalogId?if_exists == prodCatalog.prodCatalogId> selected="selected"</#if>>${displayDesc} [${prodCatalog.prodCatalogId}]</option> > + </#list> > + </select> > + <span id="catalogErrorMessage" style="display:none;" class="errorMessage">${uiLabelMap.CommonRequired}</span> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductCategory}: > + </td> > + <td valign="middle"> > + <div> > + <#if categoryIds?has_content> > + <select name="SEARCH_CATEGORY_ID"> > + <option value="">- ${uiLabelMap.ProductAnyCategory} -</option> > + <#list categoryIds as categoryId> > + <#assign productCategory = delegator.findOne("ProductCategory", {"productCategoryId" : categoryId}, true) /> > + <#assign displayDesc = productCategory.categoryName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${productCategory.productCategoryId}">${displayDesc} [${productCategory.productCategoryId}]</option> > + </#list> > + </select> > + <#else> > + <input type="text" id="SEARCH_CATEGORY_ID" name="SEARCH_CATEGORY_ID" size="20" maxlength="20" value="${requestParameters.SEARCH_CATEGORY_ID?if_exists}" /> > + <a href="javascript:call_fieldlookup2($('SEARCH_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt="${uiLabelMap.CommonClickHereForFieldLookup}" /></a> > + </#if> > + ${uiLabelMap.ProductIncludeSubCategories}? > + ${uiLabelMap.CommonYes}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="Y" checked="checked" /> > + ${uiLabelMap.CommonNo}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="N" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="N" /> > + </div> > + </td> > + </tr> > + </#if> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductProductName}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PRODUCT_NAME" size="20" value="${requestParameters.SEARCH_PRODUCT_NAME?if_exists}" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductInternalName}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_INTERNAL_PROD_NAME" size="20" value="${requestParameters.SEARCH_INTERNAL_PROD_NAME?if_exists}" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductKeywords}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_STRING" size="40" value="${requestParameters.SEARCH_STRING?if_exists}" /> > + ${uiLabelMap.CommonAny}<input type="radio" name="SEARCH_OPERATOR" value="OR" <#if searchOperator == "OR">checked</#if> /> > + ${uiLabelMap.CommonAll}<input type="radio" name="SEARCH_OPERATOR" value="AND" <#if searchOperator == "AND">checked</#if> /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatureCategory} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT1" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT2" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT3" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatureGroup} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP1" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP2" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP3" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatures} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_FEAT1" size="15" value="${requestParameters.SEARCH_FEAT1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_FEAT2" size="15" value="${requestParameters.SEARCH_FEAT2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_FEAT3" size="15" value="${requestParameters.SEARCH_FEAT3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductListPriceRange}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="LIST_PRICE_LOW" size="8" value="${requestParameters.LIST_PRICE_LOW?if_exists}" /> > + <input type="text" name="LIST_PRICE_HIGH" size="8" value="${requestParameters.LIST_PRICE_HIGH?if_exists}" /> > + </div> > + </td> > + </tr> > + <#list productFeatureTypeIdsOrdered as productFeatureTypeId> > + <#assign findPftMap = Static["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", productFeatureTypeId) /> > + <#assign productFeatureType = delegator.findByPrimaryKeyCache("ProductFeatureType", findPftMap) /> > + <#assign productFeatures = productFeaturesByTypeMap[productFeatureTypeId] /> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${(productFeatureType.get("description",locale))?if_exists}: > + </td> > + <td valign="middle"> > + <div> > + <select name="pft_${productFeatureTypeId}"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list productFeatures as productFeature> > + <option value="${productFeature.productFeatureId}">${productFeature.description?default("${uiLabelMap.ProductNoDescription}")} [${productFeature.productFeatureId}]</option> > + </#list> > + </select> > + </div> > + </td> > + </tr> > + </#list> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductSupplier}: > + </td> > + <td valign="middle"> > + <div> > + <select name="SEARCH_SUPPLIER_ID"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list supplerPartyRoleAndPartyDetails as supplerPartyRoleAndPartyDetail> > + <option value="${supplerPartyRoleAndPartyDetail.partyId}">${supplerPartyRoleAndPartyDetail.groupName?if_exists} ${supplerPartyRoleAndPartyDetail.firstName?if_exists} ${supplerPartyRoleAndPartyDetail.lastName?if_exists} [${supplerPartyRoleAndPartyDetail.partyId}]</option> > + </#list> > + </select> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.CommonSortedBy}: > + </td> > + <td valign="middle"> > + <div> > + <select name="sortOrder"> > + <option value="SortKeywordRelevancy">${uiLabelMap.ProductKeywordRelevancy}</option> > + <option value="SortProductField:productName">${uiLabelMap.ProductProductName}</option> > + <option value="SortProductField:internalName">${uiLabelMap.ProductInternalName}</option> > + <option value="SortProductField:totalQuantityOrdered">${uiLabelMap.ProductPopularityByOrders}</option> > + <option value="SortProductField:totalTimesViewed">${uiLabelMap.ProductPopularityByViews}</option> > + <option value="SortProductField:averageCustomerRating">${uiLabelMap.ProductCustomerRating}</option> > + <option value="SortProductPrice:LIST_PRICE">${uiLabelMap.ProductListPrice}</option> > + <option value="SortProductPrice:DEFAULT_PRICE">${uiLabelMap.ProductDefaultPrice}</option> > + <option value="SortProductPrice:AVERAGE_COST">${uiLabelMap.ProductAverageCost}</option> > + <option value="SortProductPrice:MINIMUM_PRICE">${uiLabelMap.ProductMinimumPrice}</option> > + <option value="SortProductPrice:MAXIMUM_PRICE">${uiLabelMap.ProductMaximumPrice}</option> > + </select> > + ${uiLabelMap.ProductLowToHigh}<input type="radio" name="sortAscending" value="Y" checked /> > + ${uiLabelMap.ProductHighToLow}<input type="radio" name="sortAscending" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductPrioritizeProductsInCategory}: > + </td> > + <td valign="middle"> > + <input type="text" id="PRIORITIZE_CATEGORY_ID" name="PRIORITIZE_CATEGORY_ID" size="20" maxlength="20" value="${requestParameters.PRIORITIZE_CATEGORY_ID?if_exists}" /> > + <a href="javascript:call_fieldlookup2($('PRIORITIZE_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt="${uiLabelMap.CommonClickHereForFieldLookup}" /></a> > + </td> > + </tr> > + <tr> > + <td class="label"> > + ${uiLabelMap.ProductGoodIdentificationType}: > + </td> > + <td> > + <select name="SEARCH_GOOD_IDENTIFICATION_TYPE"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list goodIdentificationTypes as goodIdentificationType> > + <option value="${goodIdentificationType.goodIdentificationTypeId}">${goodIdentificationType.get("description")?if_exists}</option> > + </#list> > + </select> > + </td> > + </tr> > + <tr> > + <td class="label"> > + ${uiLabelMap.ProductGoodIdentificationValue}: > + </td> > + <td> > + <input type="text" name="SEARCH_GOOD_IDENTIFICATION_VALUE" size="60" maxlength="60" value="${requestParameters.SEARCH_GOOD_IDENTIFICATION_VALUE?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_GOOD_IDENTIFICATION_INCL" value="Y" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_GOOD_IDENTIFICATION_INCL" value="N" /> > + </td> > + </tr> > + <#if searchConstraintStrings?has_content> > + <tr> > + <td align="right" valign="top" class="label"> > + ${uiLabelMap.ProductLastSearch} > + </td> > + <td valign="top"> > + <#list searchConstraintStrings as searchConstraintString> > + <div> - ${searchConstraintString}</div> > + </#list> > + <span class="label">${uiLabelMap.CommonSortedBy}:</span>${searchSortOrderString} > + <div> > + ${uiLabelMap.ProductNewSearch}<input type="radio" name="clearSearch" value="Y" checked="checked" /> > + ${uiLabelMap.CommonRefineSearch}<input type="radio" name="clearSearch" value="N" /> > + </div> > + </td> > + </tr> > + </#if> > + <tr> > + <td align="center" colspan="2"> > + <hr/> > + <a href="javascript:submit($('advToKeywordSearchform'));" class="buttontext">${uiLabelMap.CommonFind}</a> > + </td> > + </tr> > + </table> > + </fieldset> > + </form> > + </div> > +</div> > \ No newline at end of file > > Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:keywords = Date Rev Author URL Id > > Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl (original) > +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl Sat Oct 31 12:01:52 2009 > @@ -22,6 +22,12 @@ > document.forms["ProductsExportToEbay"].submit(); > } > > + function changeWebSite(Id) { > + var formId = Id ; > + formId.action="<@ofbizUrl>ProductsExportToEbay</@ofbizUrl>"; > + formId.submit(); > + } > + > function activateSubmitButton() { > categ = document.forms["ProductsExportToEbay"].ebayCategory.value; > if (categ != null && (categ.substring(0, 1) == 'Y' || categ == '')) { > @@ -33,7 +39,7 @@ > } > </script> > <div> > - <form method="post" action="<@ofbizUrl>PostProductsToEbay</@ofbizUrl>" name="ProductsExportToEbay"> > + <form id="ProductsExportToEbay" method="post" action="<@ofbizUrl>PostProductsToEbay</@ofbizUrl>" name="ProductsExportToEbay"> > <input type="hidden" name="productStoreId" value="${productStoreId?if_exists}"> > <table border="0" cellpadding="2" cellspacing="0"> > <tr> > @@ -101,6 +107,21 @@ > <td align="right" class="label">${uiLabelMap.CommonWebsite}</td> > <td> </td> > <td> > + <select name="webSiteId" onchange="javascript:changeWebSite($('ProductsExportToEbay'));"> > + <#list webSiteList as webSite> > + <#assign displayDesc = webSite.siteName?default("${uiLabelMap.ProductNoDescription}")> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${webSite.webSiteId}" <#if selectedWebSiteId?if_exists == webSite.webSiteId> selected="selected"</#if>>${displayDesc} [${webSite.webSiteId}]</option> > + </#list> > + </select> > + </td> > + </tr> > + <tr> > + <td align="right" class="label">${uiLabelMap.FormFieldTitle_webSiteUrl}</td> > + <td> </td> > + <td> > <input type="text" name="webSiteUrl" size="100" value="${webSiteUrl?if_exists}"/> > </td> > </tr> > > Modified: ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml (original) > +++ ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml Sat Oct 31 12:01:52 2009 > @@ -30,16 +30,13 @@ > <condition-expr field-name="showInSelect" operator="not-equals" value="N"/> > <order-by field-name="description"/> > </entity-condition> > - <entity-condition entity-name="ProdCatalog" list="prodCatalogs"> > - <order-by field-name="catalogName"/> > - </entity-condition> > <script location="component://product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy"/> > </actions> > <widgets> > <decorator-screen name="permission-decorator" location="${parameters.mainDecoratorLocation}"> > <decorator-section name="body"> > <platform-specific> > - <html><html-template location="component://product/webapp/catalog/find/advancedsearch.ftl"/></html> > + <html><html-template location="component://ebay/webapp/ebay/find/EbayAdvancedSearch.ftl"/></html> > </platform-specific> > </decorator-section> > </decorator-screen> > @@ -72,6 +69,7 @@ > <screen name="ProductsExportToEbay"> > <section> > <actions> > + <property-map resource="GoogleBaseUiLabels" map-name="uiLabelMap" global="true"/> > <set field="headerItem" value="export"/> > <set field="titleProperty" value="PageTitleEbayProductsExportToEbay"/> > <set field="selectResult" from-field="parameters.selectResult"/> > > Modified: ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml (original) > +++ ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml Sat Oct 31 12:01:52 2009 > @@ -19,6 +19,6 @@ > --> > > <entity-engine-xml> > - <WebSite webSiteId="GOOGLEBASE" productStoreId="9000" /> > - <GoogleBaseConfig productStoreId="9000" developerKey="HKLh9khgVieditoO0b4JR2fnBT2yXp_ZAY8_yft3CFXhHIE1NvwkxQ1pZ4qyVEGh_FtRe5KtJPTKDorNP" authenticationUrl="https://www.google.com/accounts/ClientLogin" accountEmail="[hidden email]" accountPassword="47ca69ebb4bdc9ae0adec130880165d2cc05db1a" postItemsUrl="http://www.google.com/base/feeds/items/batch" webSiteUrl="http://demo.ofbiz.org"/> > + <WebSite webSiteId="GOOGLEBASE" standardContentPrefix="http://demo.ofbiz.org" productStoreId="9000" /> > + <GoogleBaseConfig productStoreId="9000" developerKey="HKLh9khgVieditoO0b4JR2fnBT2yXp_ZAY8_yft3CFXhHIE1NvwkxQ1pZ4qyVEGh_FtRe5KtJPTKDorNP" authenticationUrl="https://www.google.com/accounts/ClientLogin" accountEmail="[hidden email]" accountPassword="47ca69ebb4bdc9ae0adec130880165d2cc05db1a" postItemsUrl="http://www.google.com/base/feeds/items/batch" webSiteId="GOOGLEBASE"/> > </entity-engine-xml> > \ No newline at end of file > > Modified: ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml (original) > +++ ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml Sat Oct 31 12:01:52 2009 > @@ -49,17 +49,14 @@ > <field name="accountEmail" type="name"><description>Gmail Account for logging into Google Base</description></field> > <field name="accountPassword" type="name" encrypt="true"></field> > <field name="postItemsUrl" type="value"><description>All the items should be posted to this url</description></field> > - <field name="webSiteUrl" type="value"> > - <description> > - This will be the URL where products will be present. In short we can say Merchant Website. > - This URL will be same as that of the "Website URL" present in basic settings inside Google Base account. > - Please refer this page after logging with your user credentails: http://www.google.com/base/basicsettings > - </description> > - </field> > + <field name="webSiteId" type="id-ne"></field> > <prim-key field="productStoreId"/> > <relation type="one" fk-name="GBS_PROD_STORE" rel-entity-name="ProductStore"> > <key-map field-name="productStoreId"/> > </relation> > + <relation type="one" fk-name="GBS_WEBSITE" rel-entity-name="WebSite"> > + <key-map field-name="webSiteId"/> > + </relation> > </entity> > </entitymodel> > > \ No newline at end of file > > Modified: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy (original) > +++ ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy Sat Oct 31 12:01:52 2009 > @@ -17,16 +17,24 @@ > * under the License. > */ > > -import org.ofbiz.webapp.website.WebSiteWorker; > +import org.ofbiz.entity.condition.EntityCondition; > +import org.ofbiz.entity.condition.EntityOperator; > +import org.ofbiz.entity.util.EntityUtil; > > -webSite = WebSiteWorker.getWebSite(request); > -if (webSite) { > - productStoreId = webSite.productStoreId; > - context.productStoreId = productStoreId; > - if (productStoreId) { > - googleBaseConfig = delegator.findOne("GoogleBaseConfig", [productStoreId : productStoreId], false); > - if (googleBaseConfig) { > - context.webSiteUrl = googleBaseConfig.webSiteUrl; > - } > +webSiteList = []; > +webSite = null; > +if (parameters.productStoreId) { > + productStoreId = parameters.productStoreId; > + webSiteList = delegator.findList("WebSite", EntityCondition.makeCondition("productStoreId", EntityOperator.EQUALS, productStoreId), null, null, null, false); > + if (parameters.webSiteId) { > + webSite = delegator.findOne("WebSite", ["webSiteId" : parameters.webSiteId], true); > + context.webSiteId = parameters.webSiteId; > + } else if (webSiteList) { > + webSite = EntityUtil.getFirst(webSiteList); > + context.webSiteId = webSite.webSiteId; > } > -} > + context.productStoreId = productStoreId; > + context.webSiteList = webSiteList; > + context.webSiteUrl = webSite.standardContentPrefix; > + parameters.webSiteUrl = webSite.standardContentPrefix;; > +} > \ No newline at end of file > > Added: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl?rev=831534&view=auto > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl (added) > +++ ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl Sat Oct 31 12:01:52 2009 > @@ -0,0 +1,375 @@ > +<#-- > +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. > +--> > + > +<script type="text/javascript"> > +//<![CDATA[ > + function selectChange(id) { > + var formId = id ; > + formId.action="<@ofbizUrl>main</@ofbizUrl>"; > + formId.submit(); > + } > + function submit (id) { > + var formId = id; > + if(!$('searchCatalogId').empty() && !$('searchProductStoreId').empty()){ > + $(formId).submit(); > + } else { > + if($('searchProductStoreId').empty()) { > + $('productStoreErrorMessage').show(); > + } > + if($('searchCatalogId').empty()) { > + $('catalogErrorMessage').show(); > + } > + } > + } > +//]]> > +</script> > +<div class="screenlet"> > + <div class="screenlet-title-bar"> > + <h3>${uiLabelMap.ProductAdvancedSearchInCategory}</h3> > + </div> > + <div class="screenlet-body"> > + <form id="advToKeywordSearchform" method="post" action="<@ofbizUrl>keywordsearch</@ofbizUrl>" style="margin: 0;"> > + <fieldset> > + <input type="hidden" name="VIEW_SIZE" value="25"/> > + <input type="hidden" name="PAGING" value="Y"/> > + <input type="hidden" name="noConditionFind" value="Y"/> > + <table cellspacing="0" class="basic-table"> > + <#if searchCategory?has_content> > + <input type="hidden" name="SEARCH_CATEGORY_ID" value="${searchCategoryId?if_exists}"/> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductCategory}: > + </td> > + <td valign="middle"> > + <div> > + <b>"${(searchCategory.description)?if_exists}" [${(searchCategory.productCategoryId)?if_exists}]</b> ${uiLabelMap.ProductIncludeSubCategories}? > + ${uiLabelMap.CommonYes}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="Y" checked/> > + ${uiLabelMap.CommonNo}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="N"/> > + </div> > + </td> > + </tr> > + <#else> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductProductStore}: > + </td> > + <td valign="middle"> > + <select name="productStoreId" id="searchProductStoreId" onchange="javascript:selectChange($('advToKeywordSearchform'));"> > + <#if googleBaseConfigList?has_content> > + <#list googleBaseConfigList as googleBaseConfig> > + <#assign productStore = delegator.findOne("ProductStore", {"productStoreId" : googleBaseConfig.productStoreId}, true) /> > + <#assign displayDesc = productStore.storeName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${productStore.productStoreId}" <#if productStoreId?if_exists == productStore.productStoreId> selected="selected"</#if>>${displayDesc} [${productStore.productStoreId}]</option> > + </#list> > + </#if> > + </select> > + <span id="productStoreErrorMessage" style="display:none;" class="errorMessage">${uiLabelMap.CommonRequired}</span> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductCatalog}: > + </td> > + <td valign="middle"> > + <div> > + <select name="SEARCH_CATALOG_ID" id="searchCatalogId" onchange="javascript:selectChange($('advToKeywordSearchform'));" class="required"> > + <#list prodCatalogList as prodCatalog> > + <#assign displayDesc = prodCatalog.catalogName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${prodCatalog.prodCatalogId}" <#if searchCatalogId?if_exists == prodCatalog.prodCatalogId> selected="selected"</#if>>${displayDesc} [${prodCatalog.prodCatalogId}]</option> > + </#list> > + </select> > + <span id="catalogErrorMessage" style="display:none;" class="errorMessage">${uiLabelMap.CommonRequired}</span> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductCategory}: > + </td> > + <td valign="middle"> > + <div> > + <#if categoryIds?has_content> > + <select name="SEARCH_CATEGORY_ID"> > + <option value="">- ${uiLabelMap.ProductAnyCategory} -</option> > + <#list categoryIds as categoryId> > + <#assign productCategory = delegator.findOne("ProductCategory", {"productCategoryId" : categoryId}, true) /> > + <#assign displayDesc = productCategory.categoryName?default("${uiLabelMap.ProductNoDescription}") /> > + <#if (18 < displayDesc?length)> > + <#assign displayDesc = displayDesc[0..15] + "..."> > + </#if> > + <option value="${productCategory.productCategoryId}">${displayDesc} [${productCategory.productCategoryId}]</option> > + </#list> > + </select> > + <#else> > + <input type="text" id="SEARCH_CATEGORY_ID" name="SEARCH_CATEGORY_ID" size="20" maxlength="20" value="${requestParameters.SEARCH_CATEGORY_ID?if_exists}" /> > + <a href="javascript:call_fieldlookup2($('SEARCH_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt="${uiLabelMap.CommonClickHereForFieldLookup}" /></a> > + </#if> > + ${uiLabelMap.ProductIncludeSubCategories}? > + ${uiLabelMap.CommonYes}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="Y" checked="checked" /> > + ${uiLabelMap.CommonNo}<input type="radio" name="SEARCH_SUB_CATEGORIES" value="N" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_CATEGORY_EXC" value="N" /> > + </div> > + </td> > + </tr> > + </#if> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductProductName}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PRODUCT_NAME" size="20" value="${requestParameters.SEARCH_PRODUCT_NAME?if_exists}" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductInternalName}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_INTERNAL_PROD_NAME" size="20" value="${requestParameters.SEARCH_INTERNAL_PROD_NAME?if_exists}" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductKeywords}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_STRING" size="40" value="${requestParameters.SEARCH_STRING?if_exists}" /> > + ${uiLabelMap.CommonAny}<input type="radio" name="SEARCH_OPERATOR" value="OR" <#if searchOperator == "OR">checked</#if> /> > + ${uiLabelMap.CommonAll}<input type="radio" name="SEARCH_OPERATOR" value="AND" <#if searchOperator == "AND">checked</#if> /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatureCategory} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT1" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT2" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_CAT3" size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatureGroup} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP1" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP2" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_PROD_FEAT_GRP3" size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductFeatures} ${uiLabelMap.CommonIds}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="SEARCH_FEAT1" size="15" value="${requestParameters.SEARCH_FEAT1?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC1" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_FEAT2" size="15" value="${requestParameters.SEARCH_FEAT2?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC2" value="N" /> > + </div> > + <div> > + <input type="text" name="SEARCH_FEAT3" size="15" value="${requestParameters.SEARCH_FEAT3?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="Y" /> > + ${uiLabelMap.CommonAlwaysInclude}<input type="radio" name="SEARCH_FEAT_EXC3" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="top"> > + ${uiLabelMap.ProductListPriceRange}: > + </td> > + <td valign="middle"> > + <div> > + <input type="text" name="LIST_PRICE_LOW" size="8" value="${requestParameters.LIST_PRICE_LOW?if_exists}" /> > + <input type="text" name="LIST_PRICE_HIGH" size="8" value="${requestParameters.LIST_PRICE_HIGH?if_exists}" /> > + </div> > + </td> > + </tr> > + <#list productFeatureTypeIdsOrdered as productFeatureTypeId> > + <#assign findPftMap = Static["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", productFeatureTypeId) /> > + <#assign productFeatureType = delegator.findByPrimaryKeyCache("ProductFeatureType", findPftMap) /> > + <#assign productFeatures = productFeaturesByTypeMap[productFeatureTypeId] /> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${(productFeatureType.get("description",locale))?if_exists}: > + </td> > + <td valign="middle"> > + <div> > + <select name="pft_${productFeatureTypeId}"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list productFeatures as productFeature> > + <option value="${productFeature.productFeatureId}">${productFeature.description?default("${uiLabelMap.ProductNoDescription}")} [${productFeature.productFeatureId}]</option> > + </#list> > + </select> > + </div> > + </td> > + </tr> > + </#list> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductSupplier}: > + </td> > + <td valign="middle"> > + <div> > + <select name="SEARCH_SUPPLIER_ID"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list supplerPartyRoleAndPartyDetails as supplerPartyRoleAndPartyDetail> > + <option value="${supplerPartyRoleAndPartyDetail.partyId}">${supplerPartyRoleAndPartyDetail.groupName?if_exists} ${supplerPartyRoleAndPartyDetail.firstName?if_exists} ${supplerPartyRoleAndPartyDetail.lastName?if_exists} [${supplerPartyRoleAndPartyDetail.partyId}]</option> > + </#list> > + </select> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.CommonSortedBy}: > + </td> > + <td valign="middle"> > + <div> > + <select name="sortOrder"> > + <option value="SortKeywordRelevancy">${uiLabelMap.ProductKeywordRelevancy}</option> > + <option value="SortProductField:productName">${uiLabelMap.ProductProductName}</option> > + <option value="SortProductField:internalName">${uiLabelMap.ProductInternalName}</option> > + <option value="SortProductField:totalQuantityOrdered">${uiLabelMap.ProductPopularityByOrders}</option> > + <option value="SortProductField:totalTimesViewed">${uiLabelMap.ProductPopularityByViews}</option> > + <option value="SortProductField:averageCustomerRating">${uiLabelMap.ProductCustomerRating}</option> > + <option value="SortProductPrice:LIST_PRICE">${uiLabelMap.ProductListPrice}</option> > + <option value="SortProductPrice:DEFAULT_PRICE">${uiLabelMap.ProductDefaultPrice}</option> > + <option value="SortProductPrice:AVERAGE_COST">${uiLabelMap.ProductAverageCost}</option> > + <option value="SortProductPrice:MINIMUM_PRICE">${uiLabelMap.ProductMinimumPrice}</option> > + <option value="SortProductPrice:MAXIMUM_PRICE">${uiLabelMap.ProductMaximumPrice}</option> > + </select> > + ${uiLabelMap.ProductLowToHigh}<input type="radio" name="sortAscending" value="Y" checked /> > + ${uiLabelMap.ProductHighToLow}<input type="radio" name="sortAscending" value="N" /> > + </div> > + </td> > + </tr> > + <tr> > + <td class="label" align="right" valign="middle"> > + ${uiLabelMap.ProductPrioritizeProductsInCategory}: > + </td> > + <td valign="middle"> > + <input type="text" id="PRIORITIZE_CATEGORY_ID" name="PRIORITIZE_CATEGORY_ID" size="20" maxlength="20" value="${requestParameters.PRIORITIZE_CATEGORY_ID?if_exists}" /> > + <a href="javascript:call_fieldlookup2($('PRIORITIZE_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/fieldlookup.gif' width='15' height='14' border='0' alt="${uiLabelMap.CommonClickHereForFieldLookup}" /></a> > + </td> > + </tr> > + <tr> > + <td class="label"> > + ${uiLabelMap.ProductGoodIdentificationType}: > + </td> > + <td> > + <select name="SEARCH_GOOD_IDENTIFICATION_TYPE"> > + <option value="">- ${uiLabelMap.CommonSelectAny} -</option> > + <#list goodIdentificationTypes as goodIdentificationType> > + <option value="${goodIdentificationType.goodIdentificationTypeId}">${goodIdentificationType.get("description")?if_exists}</option> > + </#list> > + </select> > + </td> > + </tr> > + <tr> > + <td class="label"> > + ${uiLabelMap.ProductGoodIdentificationValue}: > + </td> > + <td> > + <input type="text" name="SEARCH_GOOD_IDENTIFICATION_VALUE" size="60" maxlength="60" value="${requestParameters.SEARCH_GOOD_IDENTIFICATION_VALUE?if_exists}" /> > + ${uiLabelMap.CommonInclude}<input type="radio" name="SEARCH_GOOD_IDENTIFICATION_INCL" value="Y" checked="checked" /> > + ${uiLabelMap.CommonExclude}<input type="radio" name="SEARCH_GOOD_IDENTIFICATION_INCL" value="N" /> > + </td> > + </tr> > + <#if searchConstraintStrings?has_content> > + <tr> > + <td align="right" valign="top" class="label"> > + ${uiLabelMap.ProductLastSearch} > + </td> > + <td valign="top"> > + <#list searchConstraintStrings as searchConstraintString> > + <div> - ${searchConstraintString}</div> > + </#list> > + <span class="label">${uiLabelMap.CommonSortedBy}:</span>${searchSortOrderString} > + <div> > + ${uiLabelMap.ProductNewSearch}<input type="radio" name="clearSearch" value="Y" checked="checked" /> > + ${uiLabelMap.CommonRefineSearch}<input type="radio" name="clearSearch" value="N" /> > + </div> > + </td> > + </tr> > + </#if> > + <tr> > + <td align="center" colspan="2"> > + <hr/> > + <a href="javascript:submit($('advToKeywordSearchform'));" class="buttontext">${uiLabelMap.CommonFind}</a> > + </td> > + </tr> > + </table> > + </fieldset> > + </form> > + </div> > +</div> > \ No newline at end of file > > Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:eol-style = native > > Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:keywords = Date Rev Author URL Id > > Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl > ------------------------------------------------------------------------------ > svn:mime-type = text/plain > > Modified: ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml (original) > +++ ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml Sat Oct 31 12:01:52 2009 > @@ -20,7 +20,7 @@ > > <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd"> > - <form name="ProductsExportToGoogle" type="single" target="searchExportProductListToGoogle" > + <form id="productsExportToGoogle" name="ProductsExportToGoogle" type="single" target="searchExportProductListToGoogle" > header-row-style="header-row" default-table-style="basic-table"> > <field name="productStoreId"><hidden/></field> > <field name="selectResult"><hidden/></field> > @@ -32,6 +32,11 @@ > <option key="IT" description="${uiLabelMap.GoogleBaseExportCountryCodeIT}"/> > </drop-down> > </field> > + <field name="webSiteId" event="onChange" action="javascript:$('productsExportToGoogle').action='${persistAction}';$('productsExportToGoogle').submit();"> > + <drop-down current="selected"> > + <list-options list-name="webSiteList" key-name="webSiteId" description="${siteName}"/> > + </drop-down> > + </field> > <field name="webSiteUrl"><text size="50" maxlength="250" default-value="${webSiteUrl}"/></field> > <field name="webSiteMountPoint"><text size="30" maxlength="30" default-value="ecommerce"/></field> > <field name="actionType"> > > Modified: ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml > URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml?rev=831534&r1=831533&r2=831534&view=diff > ============================================================================== > --- ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml (original) > +++ ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml Sat Oct 31 12:01:52 2009 > @@ -29,16 +29,13 @@ > <condition-expr field-name="showInSelect" operator="not-equals" value="N"/> > <order-by field-name="description"/> > </entity-condition> > - <entity-condition entity-name="ProdCatalog" list="prodCatalogs"> > - <order-by field-name="catalogName"/> > - </entity-condition> > <script location="component://product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy"/> > </actions> > <widgets> > <decorator-screen name="CommonFindDecorator" location="${parameters.mainDecoratorLocation}"> > <decorator-section name="body"> > <platform-specific> > - <html><html-template location="component://product/webapp/catalog/find/advancedsearch.ftl"/></html> > + <html><html-template location="component://googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl"/></html> > </platform-specific> > </decorator-section> > </decorator-screen> > > Antwebsystems.com: Quality OFBiz services for competitive rates |
Hi Hans,
this is actually already implemented: orders are imported from eBay orders and transactions and, once shipped, the status of the transaction in ebay is updated accordingly. Kind regards, Jacopo On Nov 1, 2009, at 8:16 AM, Hans Bakker wrote: > Nice addition, i am sure others will use..... > > I was wondering if you are are also working on a order import from > Ebay? > > Regards, > Hans > > > On Sat, 2009-10-31 at 12:01 +0000, [hidden email] wrote: >> Author: ashish >> Date: Sat Oct 31 12:01:52 2009 >> New Revision: 831534 >> >> URL: http://svn.apache.org/viewvc?rev=831534&view=rev >> Log: >> Applied patch from jira issue OFBIZ-3132 - Multiple productStore >> support to googleBase and eBay. >> >> Changes includes following: >> 1) Created new search form for eBay and GoogleBase - It was not >> good to update *advancesearch*.ftl file present inside catalog >> component. Now it will be easy to maintain separate file for future >> deployments. >> 2) Restricted productStoreId and prodCatalogId field to search. >> 3) Added webSite drop-down on "Export to eBay" and "Export to >> GoogleBase" page. >> 4) Select webSite to get the webSiteUrl. >> >> Thanks Parimal for your contribution - this will surely help the >> community. >> Special thanks to Mridul, Rishi, Chirag, Deepak & Me :-) for >> discussing requirement and also special thanks to Jacopo for the >> notes and discussion on requirements. >> >> >> Added: >> ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl (with props) >> ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/ >> GoogleBaseAdvancedSearch.ftl (with props) >> Modified: >> ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/ >> find/advancedsearchoptions.groovy >> ofbiz/trunk/applications/product/webapp/catalog/find/ >> keywordsearch.ftl >> ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ >> ProductsExportToEbay.groovy >> ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> productsExportToEbay.ftl >> ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml >> ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml >> ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml >> ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/ >> actions/productsExportToGoogle.groovy >> ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml >> ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml >> >> Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/ >> actions/find/advancedsearchoptions.groovy >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/ >> find/advancedsearchoptions.groovy (original) >> +++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/ >> find/advancedsearchoptions.groovy Sat Oct 31 12:01:52 2009 >> @@ -18,13 +18,23 @@ >> */ >> >> import org.ofbiz.entity.condition.* >> +import org.ofbiz.entity.util.EntityUtil; >> import org.ofbiz.product.catalog.* >> +import org.ofbiz.product.category.CategoryWorker; >> import org.ofbiz.product.feature.* >> import org.ofbiz.product.product.* >> import org.ofbiz.product.store.ProductStoreWorker; >> >> +categoryIds = []; >> +prodCatalogList = []; >> +categoryList = []; >> + >> searchCategoryId = parameters.SEARCH_CATEGORY_ID; >> -productStoreId = ProductStoreWorker.getProductStoreId(request); >> +if (parameters.productStoreId) { >> + productStoreId = parameters.productStoreId; >> +} else { >> + productStoreId = ProductStoreWorker.getProductStoreId(request); >> +} >> if ((!searchCategoryId || searchCategoryId.length() == 0) && ! >> productStoreId) { >> currentCatalogId = CatalogWorker.getCurrentCatalogId(request); >> searchCategoryId = CatalogWorker.getCatalogSearchCategoryId >> (request, currentCatalogId); >> @@ -52,6 +62,39 @@ >> // get the GoodIdentification types >> goodIdentificationTypes = delegator.findList >> ("GoodIdentificationType", null, null, ['description'], null, false); >> >> +//get all productStoreIds used in EbayConfig >> +ebayConfigList = delegator.findList("EbayConfig", null, null, >> null, null, false); >> + >> +//get all productStoreIds used in GoogleBaseConfig >> +googleBaseConfigList = delegator.findList("GoogleBaseConfig", >> null, null, null, null, false); >> + >> +if (productStoreId) { >> + productStoreCatalogs = CatalogWorker.getStoreCatalogs >> (delegator, productStoreId); >> + if (productStoreCatalogs) { >> + productStoreCatalogs.each { productStoreCatalog -> >> + prodCatalog = delegator.findOne("ProdCatalog", >> [prodCatalogId : productStoreCatalog.prodCatalogId], true); >> + prodCatalogList.add(prodCatalog); >> + } >> + } >> +} >> +if (parameters.SEARCH_CATALOG_ID) { >> + CategoryWorker.getRelatedCategories(request, "topLevelList", >> CatalogWorker.getCatalogTopCategoryId(request, >> parameters.SEARCH_CATALOG_ID), true); >> + if (request.getAttribute("topLevelList")) { >> + categoryList = request.getAttribute("topLevelList"); >> + } >> + context.searchCatalogId = parameters.SEARCH_CATALOG_ID; >> +} else if (prodCatalogList) { >> + catalog = EntityUtil.getFirst(prodCatalogList); >> + context.searchCatalogId = catalog.prodCatalogId; >> + CategoryWorker.getRelatedCategories(request, "topLevelList", >> CatalogWorker.getCatalogTopCategoryId(request, >> catalog.prodCatalogId), true); >> + if (request.getAttribute("topLevelList")) { >> + categoryList = request.getAttribute("topLevelList"); >> + } >> +} >> +if (categoryList) { >> + categoryIds = EntityUtil.getFieldListFromEntityList >> (categoryList, "productCategoryId", true); >> +} >> + >> context.searchCategoryId = searchCategoryId; >> context.searchCategory = searchCategory; >> context.productFeaturesByTypeMap = productFeaturesByTypeMap; >> @@ -60,4 +103,9 @@ >> context.searchConstraintStrings = searchConstraintStrings; >> context.searchSortOrderString = searchSortOrderString; >> context.supplerPartyRoleAndPartyDetails = >> supplerPartyRoleAndPartyDetails; >> -context.goodIdentificationTypes = goodIdentificationTypes; >> \ No newline at end of file >> +context.goodIdentificationTypes = goodIdentificationTypes; >> +context.ebayConfigList = ebayConfigList; >> +context.googleBaseConfigList = googleBaseConfigList; >> +context.categoryIds = categoryIds; >> +context.productStoreId = productStoreId; >> +context.prodCatalogList = prodCatalogList; >> \ No newline at end of file >> >> Modified: ofbiz/trunk/applications/product/webapp/catalog/find/ >> keywordsearch.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/find/keywordsearch.ftl?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/applications/product/webapp/catalog/find/ >> keywordsearch.ftl (original) >> +++ ofbiz/trunk/applications/product/webapp/catalog/find/ >> keywordsearch.ftl Sat Oct 31 12:01:52 2009 >> @@ -93,6 +93,7 @@ >> </table> >> >> <form method="post" name="products"> >> + <input type="hidden" name="productStoreId" value="$ >> {parameters.productStoreId?if_exists}" /> >> <table cellspacing="0" class="basic-table"> >> <#assign listIndex = lowIndex> >> <#assign rowClass = "2"> >> >> Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/ >> actions/find/ProductsExportToEbay.groovy >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/ >> find/ProductsExportToEbay.groovy (original) >> +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/ >> find/ProductsExportToEbay.groovy Sat Oct 31 12:01:52 2009 >> @@ -16,36 +16,50 @@ >> * specific language governing permissions and limitations >> * under the License. >> */ >> -import org.ofbiz.webapp.website.WebSiteWorker; >> +import org.ofbiz.entity.condition.EntityCondition; >> +import org.ofbiz.entity.condition.EntityOperator; >> +import org.ofbiz.entity.util.EntityUtil; >> >> -webSite = WebSiteWorker.getWebSite(request); >> -productStoreId = null; >> -if (webSite) { >> - productStoreId = webSite.productStoreId; >> - context.productStoreId = productStoreId; >> - eBayConfig = delegator.findOne("EbayConfig", [productStoreId : >> productStoreId], false); >> - context.customXml = eBayConfig.customXml; >> - context.webSiteUrl = webSite.getString("standardContentPrefix"); >> - >> - categoryCode = parameters.categoryCode; >> - context.categoryCode = categoryCode; >> - userLogin = parameters.userLogin; >> - >> - if (productStoreId) { >> - results = dispatcher.runSync("getEbayCategories", >> [categoryCode : categoryCode, userLogin : userLogin, >> productStoreId : productStoreId]); >> - } >> - >> - if (results.categories) { >> - context.categories = results.categories; >> +webSiteList = []; >> +webSite = null; >> +if (parameters.productStoreId) { >> + productStoreId = parameters.productStoreId; >> + webSiteList = delegator.findList("WebSite", >> EntityCondition.makeCondition("productStoreId", >> EntityOperator.EQUALS, productStoreId), null, null, null, false); >> + if (parameters.webSiteId) { >> + webSite = delegator.findOne("WebSite", ["webSiteId" : >> parameters.webSiteId], true); >> + context.selectedWebSiteId = parameters.webSiteId; >> + } else if (webSiteList) { >> + webSite = EntityUtil.getFirst(webSiteList); >> + context.selectedWebSiteId = webSite.webSiteId; >> } >> - >> - if (categoryCode) { >> - if (!"Y".equals(categoryCode.substring(0, 1)) && !"".equals >> (categoryCode)) { >> - context.hideExportOptions = "Y"; >> + context.productStoreId = productStoreId; >> + context.webSiteList = webSiteList; >> + >> + if (webSite) { >> + eBayConfig = delegator.findOne("EbayConfig", >> [productStoreId : productStoreId], false); >> + context.customXml = eBayConfig.customXml; >> + context.webSiteUrl = webSite.getString >> ("standardContentPrefix"); >> + >> + categoryCode = parameters.categoryCode; >> + context.categoryCode = categoryCode; >> + userLogin = parameters.userLogin; >> + >> + if (productStoreId) { >> + results = dispatcher.runSync("getEbayCategories", >> [categoryCode : categoryCode, userLogin : userLogin, >> productStoreId : productStoreId]); >> + } >> + >> + if (results.categories) { >> + context.categories = results.categories; >> + } >> + >> + if (categoryCode) { >> + if (!"Y".equals(categoryCode.substring(0, 1)) >> && !"".equals(categoryCode)) { >> + context.hideExportOptions = "Y"; >> + } else { >> + context.hideExportOptions = "N"; >> + } >> } else { >> context.hideExportOptions = "N"; >> - } >> - } else { >> - context.hideExportOptions = "N"; >> - } >> -} >> + } >> + } >> +} >> \ No newline at end of file >> >> Added: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/EbayAdvancedSearch.ftl?rev=831534&view=auto >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl (added) >> +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl Sat Oct 31 12:01:52 2009 >> @@ -0,0 +1,375 @@ >> +<#-- >> +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. >> +--> >> + >> +<script type="text/javascript"> >> +//<![CDATA[ >> + function selectChange(id) { >> + var formId = id ; >> + formId.action="<@ofbizUrl>main</@ofbizUrl>"; >> + formId.submit(); >> + } >> + function submit (id) { >> + var formId = id; >> + if(!$('searchCatalogId').empty() && !$ >> ('searchProductStoreId').empty()){ >> + $(formId).submit(); >> + } else { >> + if($('searchProductStoreId').empty()) { >> + $('productStoreErrorMessage').show(); >> + } >> + if($('searchCatalogId').empty()) { >> + $('catalogErrorMessage').show(); >> + } >> + } >> + } >> +//]]> >> +</script> >> +<div class="screenlet"> >> + <div class="screenlet-title-bar"> >> + <h3>${uiLabelMap.ProductAdvancedSearchInCategory}</h3> >> + </div> >> + <div class="screenlet-body"> >> + <form id="advToKeywordSearchform" method="post" >> action="<@ofbizUrl>keywordsearch</@ofbizUrl>" style="margin: 0;"> >> + <fieldset> >> + <input type="hidden" name="VIEW_SIZE" value="25"/> >> + <input type="hidden" name="PAGING" value="Y"/> >> + <input type="hidden" name="noConditionFind" value="Y"/> >> + <table cellspacing="0" class="basic-table"> >> + <#if searchCategory?has_content> >> + <input type="hidden" name="SEARCH_CATEGORY_ID" value="$ >> {searchCategoryId?if_exists}"/> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductCategory}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <b>"${(searchCategory.description)?if_exists}" [$ >> {(searchCategory.productCategoryId)?if_exists}]</b> $ >> {uiLabelMap.ProductIncludeSubCategories}? >> + ${uiLabelMap.CommonYes}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="Y" checked/> >> + ${uiLabelMap.CommonNo}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="N"/> >> + </div> >> + </td> >> + </tr> >> + <#else> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductProductStore}: >> + </td> >> + <td valign="middle"> >> + <select name="productStoreId" >> id="searchProductStoreId" onchange="javascript:selectChange($ >> ('advToKeywordSearchform'));"> >> + <#if ebayConfigList?has_content> >> + <#list ebayConfigList as ebayConfig> >> + <#assign productStore = delegator.findOne >> ("ProductStore", {"productStoreId" : ebayConfig.productStoreId}, >> true) /> >> + <#assign displayDesc = >> productStore.storeName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc[0..15] >> + "..."> >> + </#if> >> + <option value="$ >> {productStore.productStoreId}" <#if productStoreId?if_exists == >> productStore.productStoreId> selected="selected"</#if>>$ >> {displayDesc} [${productStore.productStoreId}]</option> >> + </#list> >> + </#if> >> + </select> >> + <span id="productStoreErrorMessage" >> style="display:none;" class="errorMessage">$ >> {uiLabelMap.CommonRequired}</span> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductCatalog}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="SEARCH_CATALOG_ID" >> id="searchCatalogId" onchange="javascript:selectChange($ >> ('advToKeywordSearchform'));" class="required"> >> + <#list prodCatalogList as prodCatalog> >> + <#assign displayDesc = >> prodCatalog.catalogName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc[0..15] >> + "..."> >> + </#if> >> + <option value="${prodCatalog.prodCatalogId}" >> <#if searchCatalogId?if_exists == prodCatalog.prodCatalogId> >> selected="selected"</#if>>${displayDesc} [$ >> {prodCatalog.prodCatalogId}]</option> >> + </#list> >> + </select> >> + <span id="catalogErrorMessage" >> style="display:none;" class="errorMessage">$ >> {uiLabelMap.CommonRequired}</span> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductCategory}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <#if categoryIds?has_content> >> + <select name="SEARCH_CATEGORY_ID"> >> + <option value="">- $ >> {uiLabelMap.ProductAnyCategory} -</option> >> + <#list categoryIds as categoryId> >> + <#assign productCategory = >> delegator.findOne("ProductCategory", {"productCategoryId" : >> categoryId}, true) /> >> + <#assign displayDesc = >> productCategory.categoryName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc >> [0..15] + "..."> >> + </#if> >> + <option value="$ >> {productCategory.productCategoryId}">${displayDesc} [$ >> {productCategory.productCategoryId}]</option> >> + </#list> >> + </select> >> + <#else> >> + <input type="text" id="SEARCH_CATEGORY_ID" >> name="SEARCH_CATEGORY_ID" size="20" maxlength="20" value="$ >> {requestParameters.SEARCH_CATEGORY_ID?if_exists}" /> >> + <a href="javascript:call_fieldlookup2($ >> ('SEARCH_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/ >> fieldlookup.gif' width='15' height='14' border='0' alt="$ >> {uiLabelMap.CommonClickHereForFieldLookup}" /></a> >> + </#if> >> + ${uiLabelMap.ProductIncludeSubCategories}? >> + ${uiLabelMap.CommonYes}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonNo}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="N" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_CATEGORY_EXC" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_CATEGORY_EXC" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_CATEGORY_EXC" value="N" /> >> + </div> >> + </td> >> + </tr> >> + </#if> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductProductName}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PRODUCT_NAME" >> size="20" value="${requestParameters.SEARCH_PRODUCT_NAME? >> if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductInternalName}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" >> name="SEARCH_INTERNAL_PROD_NAME" size="20" value="$ >> {requestParameters.SEARCH_INTERNAL_PROD_NAME?if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductKeywords}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_STRING" size="40" >> value="${requestParameters.SEARCH_STRING?if_exists}" /> >> + ${uiLabelMap.CommonAny}<input type="radio" >> name="SEARCH_OPERATOR" value="OR" <#if searchOperator == >> "OR">checked</#if> /> >> + ${uiLabelMap.CommonAll}<input type="radio" >> name="SEARCH_OPERATOR" value="AND" <#if searchOperator == >> "AND">checked</#if> /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatureCategory} $ >> {uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT1" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT1? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT2" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT2? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT3" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT3? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatureGroup} $ >> {uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP1" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP1? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP2" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP2? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP3" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP3? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatures} ${uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_FEAT1" size="15" >> value="${requestParameters.SEARCH_FEAT1?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_FEAT2" size="15" >> value="${requestParameters.SEARCH_FEAT2?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_FEAT3" size="15" >> value="${requestParameters.SEARCH_FEAT3?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductListPriceRange}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="LIST_PRICE_LOW" size="8" >> value="${requestParameters.LIST_PRICE_LOW?if_exists}" /> >> + <input type="text" name="LIST_PRICE_HIGH" size="8" >> value="${requestParameters.LIST_PRICE_HIGH?if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <#list productFeatureTypeIdsOrdered as >> productFeatureTypeId> >> + <#assign findPftMap = Static >> ["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", >> productFeatureTypeId) /> >> + <#assign productFeatureType = >> delegator.findByPrimaryKeyCache("ProductFeatureType", findPftMap) /> >> + <#assign productFeatures = productFeaturesByTypeMap >> [productFeatureTypeId] /> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${(productFeatureType.get("description",locale))? >> if_exists}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="pft_${productFeatureTypeId}"> >> + <option value="">- $ >> {uiLabelMap.CommonSelectAny} -</option> >> + <#list productFeatures as productFeature> >> + <option value="$ >> {productFeature.productFeatureId}">${productFeature.description? >> default("${uiLabelMap.ProductNoDescription}")} [$ >> {productFeature.productFeatureId}]</option> >> + </#list> >> + </select> >> + </div> >> + </td> >> + </tr> >> + </#list> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductSupplier}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="SEARCH_SUPPLIER_ID"> >> + <option value="">- ${uiLabelMap.CommonSelectAny} >> -</option> >> + <#list supplerPartyRoleAndPartyDetails as >> supplerPartyRoleAndPartyDetail> >> + <option value="$ >> {supplerPartyRoleAndPartyDetail.partyId}">$ >> {supplerPartyRoleAndPartyDetail.groupName?if_exists} $ >> {supplerPartyRoleAndPartyDetail.firstName?if_exists} $ >> {supplerPartyRoleAndPartyDetail.lastName?if_exists} [$ >> {supplerPartyRoleAndPartyDetail.partyId}]</option> >> + </#list> >> + </select> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.CommonSortedBy}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="sortOrder"> >> + <option value="SortKeywordRelevancy">$ >> {uiLabelMap.ProductKeywordRelevancy}</option> >> + <option value="SortProductField:productName">$ >> {uiLabelMap.ProductProductName}</option> >> + <option value="SortProductField:internalName">$ >> {uiLabelMap.ProductInternalName}</option> >> + <option >> value="SortProductField:totalQuantityOrdered">$ >> {uiLabelMap.ProductPopularityByOrders}</option> >> + <option >> value="SortProductField:totalTimesViewed">$ >> {uiLabelMap.ProductPopularityByViews}</option> >> + <option >> value="SortProductField:averageCustomerRating">$ >> {uiLabelMap.ProductCustomerRating}</option> >> + <option value="SortProductPrice:LIST_PRICE">$ >> {uiLabelMap.ProductListPrice}</option> >> + <option value="SortProductPrice:DEFAULT_PRICE">$ >> {uiLabelMap.ProductDefaultPrice}</option> >> + <option value="SortProductPrice:AVERAGE_COST">$ >> {uiLabelMap.ProductAverageCost}</option> >> + <option value="SortProductPrice:MINIMUM_PRICE">$ >> {uiLabelMap.ProductMinimumPrice}</option> >> + <option value="SortProductPrice:MAXIMUM_PRICE">$ >> {uiLabelMap.ProductMaximumPrice}</option> >> + </select> >> + ${uiLabelMap.ProductLowToHigh}<input type="radio" >> name="sortAscending" value="Y" checked /> >> + ${uiLabelMap.ProductHighToLow}<input type="radio" >> name="sortAscending" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductPrioritizeProductsInCategory}: >> + </td> >> + <td valign="middle"> >> + <input type="text" id="PRIORITIZE_CATEGORY_ID" >> name="PRIORITIZE_CATEGORY_ID" size="20" maxlength="20" value="$ >> {requestParameters.PRIORITIZE_CATEGORY_ID?if_exists}" /> >> + <a href="javascript:call_fieldlookup2($ >> ('PRIORITIZE_CATEGORY_ID'),'LookupProductCategory');"><img src='/ >> images/fieldlookup.gif' width='15' height='14' border='0' alt="$ >> {uiLabelMap.CommonClickHereForFieldLookup}" /></a> >> + </td> >> + </tr> >> + <tr> >> + <td class="label"> >> + ${uiLabelMap.ProductGoodIdentificationType}: >> + </td> >> + <td> >> + <select name="SEARCH_GOOD_IDENTIFICATION_TYPE"> >> + <option value="">- ${uiLabelMap.CommonSelectAny} - >> </option> >> + <#list goodIdentificationTypes as >> goodIdentificationType> >> + <option value="$ >> {goodIdentificationType.goodIdentificationTypeId}">$ >> {goodIdentificationType.get("description")?if_exists}</option> >> + </#list> >> + </select> >> + </td> >> + </tr> >> + <tr> >> + <td class="label"> >> + ${uiLabelMap.ProductGoodIdentificationValue}: >> + </td> >> + <td> >> + <input type="text" >> name="SEARCH_GOOD_IDENTIFICATION_VALUE" size="60" maxlength="60" >> value="${requestParameters.SEARCH_GOOD_IDENTIFICATION_VALUE? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_GOOD_IDENTIFICATION_INCL" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_GOOD_IDENTIFICATION_INCL" value="N" /> >> + </td> >> + </tr> >> + <#if searchConstraintStrings?has_content> >> + <tr> >> + <td align="right" valign="top" class="label"> >> + ${uiLabelMap.ProductLastSearch} >> + </td> >> + <td valign="top"> >> + <#list searchConstraintStrings as >> searchConstraintString> >> + <div> - ${searchConstraintString}</div> >> + </#list> >> + <span class="label">${uiLabelMap.CommonSortedBy}:</ >> span>${searchSortOrderString} >> + <div> >> + ${uiLabelMap.ProductNewSearch}<input >> type="radio" name="clearSearch" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonRefineSearch}<input >> type="radio" name="clearSearch" value="N" /> >> + </div> >> + </td> >> + </tr> >> + </#if> >> + <tr> >> + <td align="center" colspan="2"> >> + <hr/> >> + <a href="javascript:submit($ >> ('advToKeywordSearchform'));" class="buttontext">$ >> {uiLabelMap.CommonFind}</a> >> + </td> >> + </tr> >> + </table> >> + </fieldset> >> + </form> >> + </div> >> +</div> >> \ No newline at end of file >> >> Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:eol-style = native >> >> Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:keywords = Date Rev Author URL Id >> >> Propchange: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> EbayAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:mime-type = text/plain >> >> Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> productsExportToEbay.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> productsExportToEbay.ftl (original) >> +++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/ >> productsExportToEbay.ftl Sat Oct 31 12:01:52 2009 >> @@ -22,6 +22,12 @@ >> document.forms["ProductsExportToEbay"].submit(); >> } >> >> + function changeWebSite(Id) { >> + var formId = Id ; >> + formId.action="<@ofbizUrl>ProductsExportToEbay</@ofbizUrl>"; >> + formId.submit(); >> + } >> + >> function activateSubmitButton() { >> categ = document.forms >> ["ProductsExportToEbay"].ebayCategory.value; >> if (categ != null && (categ.substring(0, 1) == 'Y' || >> categ == '')) { >> @@ -33,7 +39,7 @@ >> } >> </script> >> <div> >> - <form method="post" action="<@ofbizUrl>PostProductsToEbay</ >> @ofbizUrl>" name="ProductsExportToEbay"> >> + <form id="ProductsExportToEbay" method="post" >> action="<@ofbizUrl>PostProductsToEbay</@ofbizUrl>" >> name="ProductsExportToEbay"> >> <input type="hidden" name="productStoreId" value="$ >> {productStoreId?if_exists}"> >> <table border="0" cellpadding="2" cellspacing="0"> >> <tr> >> @@ -101,6 +107,21 @@ >> <td align="right" class="label">$ >> {uiLabelMap.CommonWebsite}</td> >> <td> </td> >> <td> >> + <select name="webSiteId" >> onchange="javascript:changeWebSite($('ProductsExportToEbay'));"> >> + <#list webSiteList as webSite> >> + <#assign displayDesc = webSite.siteName? >> default("${uiLabelMap.ProductNoDescription}")> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc[0..15] >> + "..."> >> + </#if> >> + <option value="${webSite.webSiteId}" <#if >> selectedWebSiteId?if_exists == webSite.webSiteId> >> selected="selected"</#if>>${displayDesc} [${webSite.webSiteId}]</ >> option> >> + </#list> >> + </select> >> + </td> >> + </tr> >> + <tr> >> + <td align="right" class="label">$ >> {uiLabelMap.FormFieldTitle_webSiteUrl}</td> >> + <td> </td> >> + <td> >> <input type="text" name="webSiteUrl" size="100" >> value="${webSiteUrl?if_exists}"/> >> </td> >> </tr> >> >> Modified: ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml (original) >> +++ ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml Sat Oct >> 31 12:01:52 2009 >> @@ -30,16 +30,13 @@ >> <condition-expr field-name="showInSelect" >> operator="not-equals" value="N"/> >> <order-by field-name="description"/> >> </entity-condition> >> - <entity-condition entity-name="ProdCatalog" >> list="prodCatalogs"> >> - <order-by field-name="catalogName"/> >> - </entity-condition> >> <script location="component://product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy >> "/> >> </actions> >> <widgets> >> <decorator-screen name="permission-decorator" >> location="${parameters.mainDecoratorLocation}"> >> <decorator-section name="body"> >> <platform-specific> >> - <html><html-template location="component://product/webapp/catalog/find/advancedsearch.ftl >> "/></html> >> + <html><html-template location="component://ebay/webapp/ebay/find/EbayAdvancedSearch.ftl >> "/></html> >> </platform-specific> >> </decorator-section> >> </decorator-screen> >> @@ -72,6 +69,7 @@ >> <screen name="ProductsExportToEbay"> >> <section> >> <actions> >> + <property-map resource="GoogleBaseUiLabels" map- >> name="uiLabelMap" global="true"/> >> <set field="headerItem" value="export"/> >> <set field="titleProperty" >> value="PageTitleEbayProductsExportToEbay"/> >> <set field="selectResult" from- >> field="parameters.selectResult"/> >> >> Modified: ofbiz/trunk/specialpurpose/googlebase/data/ >> DemoGoogleBaseData.xml >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/data/DemoGoogleBaseData.xml?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/data/ >> DemoGoogleBaseData.xml (original) >> +++ ofbiz/trunk/specialpurpose/googlebase/data/ >> DemoGoogleBaseData.xml Sat Oct 31 12:01:52 2009 >> @@ -19,6 +19,6 @@ >> --> >> >> <entity-engine-xml> >> - <WebSite webSiteId="GOOGLEBASE" productStoreId="9000" /> >> - <GoogleBaseConfig productStoreId="9000" >> developerKey >> = >> "HKLh9khgVieditoO0b4JR2fnBT2yXp_ZAY8_yft3CFXhHIE1NvwkxQ1pZ4qyVEGh_FtRe5KtJPTKDorNP >> " authenticationUrl="https://www.google.com/accounts/ClientLogin" >> accountEmail="[hidden email]" >> accountPassword="47ca69ebb4bdc9ae0adec130880165d2cc05db1a" >> postItemsUrl="http://www.google.com/base/feeds/items/batch" >> webSiteUrl="http://demo.ofbiz.org"/> >> + <WebSite webSiteId="GOOGLEBASE" standardContentPrefix="http://demo.ofbiz.org >> " productStoreId="9000" /> >> + <GoogleBaseConfig productStoreId="9000" >> developerKey >> = >> "HKLh9khgVieditoO0b4JR2fnBT2yXp_ZAY8_yft3CFXhHIE1NvwkxQ1pZ4qyVEGh_FtRe5KtJPTKDorNP >> " authenticationUrl="https://www.google.com/accounts/ClientLogin" >> accountEmail="[hidden email]" >> accountPassword="47ca69ebb4bdc9ae0adec130880165d2cc05db1a" >> postItemsUrl="http://www.google.com/base/feeds/items/batch" >> webSiteId="GOOGLEBASE"/> >> </entity-engine-xml> >> \ No newline at end of file >> >> Modified: ofbiz/trunk/specialpurpose/googlebase/entitydef/ >> entitymodel.xml >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml >> (original) >> +++ ofbiz/trunk/specialpurpose/googlebase/entitydef/entitymodel.xml >> Sat Oct 31 12:01:52 2009 >> @@ -49,17 +49,14 @@ >> <field name="accountEmail" type="name"><description>Gmail >> Account for logging into Google Base</description></field> >> <field name="accountPassword" type="name" encrypt="true"></ >> field> >> <field name="postItemsUrl" type="value"><description>All >> the items should be posted to this url</description></field> >> - <field name="webSiteUrl" type="value"> >> - <description> >> - This will be the URL where products will be >> present. In short we can say Merchant Website. >> - This URL will be same as that of the "Website URL" >> present in basic settings inside Google Base account. >> - Please refer this page after logging with your >> user credentails: http://www.google.com/base/basicsettings >> - </description> >> - </field> >> + <field name="webSiteId" type="id-ne"></field> >> <prim-key field="productStoreId"/> >> <relation type="one" fk-name="GBS_PROD_STORE" rel-entity- >> name="ProductStore"> >> <key-map field-name="productStoreId"/> >> </relation> >> + <relation type="one" fk-name="GBS_WEBSITE" rel-entity- >> name="WebSite"> >> + <key-map field-name="webSiteId"/> >> + </relation> >> </entity> >> </entitymodel> >> >> \ No newline at end of file >> >> Modified: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/ >> WEB-INF/actions/productsExportToGoogle.groovy >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/actions/productsExportToGoogle.groovy?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/ >> actions/productsExportToGoogle.groovy (original) >> +++ ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/WEB-INF/ >> actions/productsExportToGoogle.groovy Sat Oct 31 12:01:52 2009 >> @@ -17,16 +17,24 @@ >> * under the License. >> */ >> >> -import org.ofbiz.webapp.website.WebSiteWorker; >> +import org.ofbiz.entity.condition.EntityCondition; >> +import org.ofbiz.entity.condition.EntityOperator; >> +import org.ofbiz.entity.util.EntityUtil; >> >> -webSite = WebSiteWorker.getWebSite(request); >> -if (webSite) { >> - productStoreId = webSite.productStoreId; >> - context.productStoreId = productStoreId; >> - if (productStoreId) { >> - googleBaseConfig = delegator.findOne("GoogleBaseConfig", >> [productStoreId : productStoreId], false); >> - if (googleBaseConfig) { >> - context.webSiteUrl = googleBaseConfig.webSiteUrl; >> - } >> +webSiteList = []; >> +webSite = null; >> +if (parameters.productStoreId) { >> + productStoreId = parameters.productStoreId; >> + webSiteList = delegator.findList("WebSite", >> EntityCondition.makeCondition("productStoreId", >> EntityOperator.EQUALS, productStoreId), null, null, null, false); >> + if (parameters.webSiteId) { >> + webSite = delegator.findOne("WebSite", ["webSiteId" : >> parameters.webSiteId], true); >> + context.webSiteId = parameters.webSiteId; >> + } else if (webSiteList) { >> + webSite = EntityUtil.getFirst(webSiteList); >> + context.webSiteId = webSite.webSiteId; >> } >> -} >> + context.productStoreId = productStoreId; >> + context.webSiteList = webSiteList; >> + context.webSiteUrl = webSite.standardContentPrefix; >> + parameters.webSiteUrl = webSite.standardContentPrefix;; >> +} >> \ No newline at end of file >> >> Added: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/ >> GoogleBaseAdvancedSearch.ftl >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl?rev=831534&view=auto >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/ >> GoogleBaseAdvancedSearch.ftl (added) >> +++ ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/find/ >> GoogleBaseAdvancedSearch.ftl Sat Oct 31 12:01:52 2009 >> @@ -0,0 +1,375 @@ >> +<#-- >> +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. >> +--> >> + >> +<script type="text/javascript"> >> +//<![CDATA[ >> + function selectChange(id) { >> + var formId = id ; >> + formId.action="<@ofbizUrl>main</@ofbizUrl>"; >> + formId.submit(); >> + } >> + function submit (id) { >> + var formId = id; >> + if(!$('searchCatalogId').empty() && !$ >> ('searchProductStoreId').empty()){ >> + $(formId).submit(); >> + } else { >> + if($('searchProductStoreId').empty()) { >> + $('productStoreErrorMessage').show(); >> + } >> + if($('searchCatalogId').empty()) { >> + $('catalogErrorMessage').show(); >> + } >> + } >> + } >> +//]]> >> +</script> >> +<div class="screenlet"> >> + <div class="screenlet-title-bar"> >> + <h3>${uiLabelMap.ProductAdvancedSearchInCategory}</h3> >> + </div> >> + <div class="screenlet-body"> >> + <form id="advToKeywordSearchform" method="post" >> action="<@ofbizUrl>keywordsearch</@ofbizUrl>" style="margin: 0;"> >> + <fieldset> >> + <input type="hidden" name="VIEW_SIZE" value="25"/> >> + <input type="hidden" name="PAGING" value="Y"/> >> + <input type="hidden" name="noConditionFind" value="Y"/> >> + <table cellspacing="0" class="basic-table"> >> + <#if searchCategory?has_content> >> + <input type="hidden" name="SEARCH_CATEGORY_ID" value="$ >> {searchCategoryId?if_exists}"/> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductCategory}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <b>"${(searchCategory.description)?if_exists}" [$ >> {(searchCategory.productCategoryId)?if_exists}]</b> $ >> {uiLabelMap.ProductIncludeSubCategories}? >> + ${uiLabelMap.CommonYes}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="Y" checked/> >> + ${uiLabelMap.CommonNo}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="N"/> >> + </div> >> + </td> >> + </tr> >> + <#else> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductProductStore}: >> + </td> >> + <td valign="middle"> >> + <select name="productStoreId" >> id="searchProductStoreId" onchange="javascript:selectChange($ >> ('advToKeywordSearchform'));"> >> + <#if googleBaseConfigList?has_content> >> + <#list googleBaseConfigList as googleBaseConfig> >> + <#assign productStore = delegator.findOne >> ("ProductStore", {"productStoreId" : >> googleBaseConfig.productStoreId}, true) /> >> + <#assign displayDesc = >> productStore.storeName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc[0..15] >> + "..."> >> + </#if> >> + <option value="$ >> {productStore.productStoreId}" <#if productStoreId?if_exists == >> productStore.productStoreId> selected="selected"</#if>>$ >> {displayDesc} [${productStore.productStoreId}]</option> >> + </#list> >> + </#if> >> + </select> >> + <span id="productStoreErrorMessage" >> style="display:none;" class="errorMessage">$ >> {uiLabelMap.CommonRequired}</span> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductCatalog}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="SEARCH_CATALOG_ID" >> id="searchCatalogId" onchange="javascript:selectChange($ >> ('advToKeywordSearchform'));" class="required"> >> + <#list prodCatalogList as prodCatalog> >> + <#assign displayDesc = >> prodCatalog.catalogName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc[0..15] >> + "..."> >> + </#if> >> + <option value="${prodCatalog.prodCatalogId}" >> <#if searchCatalogId?if_exists == prodCatalog.prodCatalogId> >> selected="selected"</#if>>${displayDesc} [$ >> {prodCatalog.prodCatalogId}]</option> >> + </#list> >> + </select> >> + <span id="catalogErrorMessage" >> style="display:none;" class="errorMessage">$ >> {uiLabelMap.CommonRequired}</span> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductCategory}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <#if categoryIds?has_content> >> + <select name="SEARCH_CATEGORY_ID"> >> + <option value="">- $ >> {uiLabelMap.ProductAnyCategory} -</option> >> + <#list categoryIds as categoryId> >> + <#assign productCategory = >> delegator.findOne("ProductCategory", {"productCategoryId" : >> categoryId}, true) /> >> + <#assign displayDesc = >> productCategory.categoryName?default("$ >> {uiLabelMap.ProductNoDescription}") /> >> + <#if (18 < displayDesc?length)> >> + <#assign displayDesc = displayDesc >> [0..15] + "..."> >> + </#if> >> + <option value="$ >> {productCategory.productCategoryId}">${displayDesc} [$ >> {productCategory.productCategoryId}]</option> >> + </#list> >> + </select> >> + <#else> >> + <input type="text" id="SEARCH_CATEGORY_ID" >> name="SEARCH_CATEGORY_ID" size="20" maxlength="20" value="$ >> {requestParameters.SEARCH_CATEGORY_ID?if_exists}" /> >> + <a href="javascript:call_fieldlookup2($ >> ('SEARCH_CATEGORY_ID'),'LookupProductCategory');"><img src='/images/ >> fieldlookup.gif' width='15' height='14' border='0' alt="$ >> {uiLabelMap.CommonClickHereForFieldLookup}" /></a> >> + </#if> >> + ${uiLabelMap.ProductIncludeSubCategories}? >> + ${uiLabelMap.CommonYes}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonNo}<input type="radio" >> name="SEARCH_SUB_CATEGORIES" value="N" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_CATEGORY_EXC" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_CATEGORY_EXC" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_CATEGORY_EXC" value="N" /> >> + </div> >> + </td> >> + </tr> >> + </#if> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductProductName}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PRODUCT_NAME" >> size="20" value="${requestParameters.SEARCH_PRODUCT_NAME? >> if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductInternalName}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" >> name="SEARCH_INTERNAL_PROD_NAME" size="20" value="$ >> {requestParameters.SEARCH_INTERNAL_PROD_NAME?if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductKeywords}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_STRING" size="40" >> value="${requestParameters.SEARCH_STRING?if_exists}" /> >> + ${uiLabelMap.CommonAny}<input type="radio" >> name="SEARCH_OPERATOR" value="OR" <#if searchOperator == >> "OR">checked</#if> /> >> + ${uiLabelMap.CommonAll}<input type="radio" >> name="SEARCH_OPERATOR" value="AND" <#if searchOperator == >> "AND">checked</#if> /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatureCategory} $ >> {uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT1" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT1? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT2" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT2? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_CAT3" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_CAT3? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_CAT_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_CAT_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatureGroup} $ >> {uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP1" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP1? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP2" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP2? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_PROD_FEAT_GRP3" >> size="15" value="${requestParameters.SEARCH_PROD_FEAT_GRP3? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_PROD_FEAT_GRP_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_PROD_FEAT_GRP_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductFeatures} ${uiLabelMap.CommonIds}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="SEARCH_FEAT1" size="15" >> value="${requestParameters.SEARCH_FEAT1?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC1" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC1" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC1" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_FEAT2" size="15" >> value="${requestParameters.SEARCH_FEAT2?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC2" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC2" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC2" value="N" /> >> + </div> >> + <div> >> + <input type="text" name="SEARCH_FEAT3" size="15" >> value="${requestParameters.SEARCH_FEAT3?if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_FEAT_EXC3" value="" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_FEAT_EXC3" value="Y" /> >> + ${uiLabelMap.CommonAlwaysInclude}<input >> type="radio" name="SEARCH_FEAT_EXC3" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="top"> >> + ${uiLabelMap.ProductListPriceRange}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <input type="text" name="LIST_PRICE_LOW" size="8" >> value="${requestParameters.LIST_PRICE_LOW?if_exists}" /> >> + <input type="text" name="LIST_PRICE_HIGH" size="8" >> value="${requestParameters.LIST_PRICE_HIGH?if_exists}" /> >> + </div> >> + </td> >> + </tr> >> + <#list productFeatureTypeIdsOrdered as >> productFeatureTypeId> >> + <#assign findPftMap = Static >> ["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", >> productFeatureTypeId) /> >> + <#assign productFeatureType = >> delegator.findByPrimaryKeyCache("ProductFeatureType", findPftMap) /> >> + <#assign productFeatures = productFeaturesByTypeMap >> [productFeatureTypeId] /> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${(productFeatureType.get("description",locale))? >> if_exists}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="pft_${productFeatureTypeId}"> >> + <option value="">- $ >> {uiLabelMap.CommonSelectAny} -</option> >> + <#list productFeatures as productFeature> >> + <option value="$ >> {productFeature.productFeatureId}">${productFeature.description? >> default("${uiLabelMap.ProductNoDescription}")} [$ >> {productFeature.productFeatureId}]</option> >> + </#list> >> + </select> >> + </div> >> + </td> >> + </tr> >> + </#list> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductSupplier}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="SEARCH_SUPPLIER_ID"> >> + <option value="">- ${uiLabelMap.CommonSelectAny} >> -</option> >> + <#list supplerPartyRoleAndPartyDetails as >> supplerPartyRoleAndPartyDetail> >> + <option value="$ >> {supplerPartyRoleAndPartyDetail.partyId}">$ >> {supplerPartyRoleAndPartyDetail.groupName?if_exists} $ >> {supplerPartyRoleAndPartyDetail.firstName?if_exists} $ >> {supplerPartyRoleAndPartyDetail.lastName?if_exists} [$ >> {supplerPartyRoleAndPartyDetail.partyId}]</option> >> + </#list> >> + </select> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.CommonSortedBy}: >> + </td> >> + <td valign="middle"> >> + <div> >> + <select name="sortOrder"> >> + <option value="SortKeywordRelevancy">$ >> {uiLabelMap.ProductKeywordRelevancy}</option> >> + <option value="SortProductField:productName">$ >> {uiLabelMap.ProductProductName}</option> >> + <option value="SortProductField:internalName">$ >> {uiLabelMap.ProductInternalName}</option> >> + <option >> value="SortProductField:totalQuantityOrdered">$ >> {uiLabelMap.ProductPopularityByOrders}</option> >> + <option >> value="SortProductField:totalTimesViewed">$ >> {uiLabelMap.ProductPopularityByViews}</option> >> + <option >> value="SortProductField:averageCustomerRating">$ >> {uiLabelMap.ProductCustomerRating}</option> >> + <option value="SortProductPrice:LIST_PRICE">$ >> {uiLabelMap.ProductListPrice}</option> >> + <option value="SortProductPrice:DEFAULT_PRICE">$ >> {uiLabelMap.ProductDefaultPrice}</option> >> + <option value="SortProductPrice:AVERAGE_COST">$ >> {uiLabelMap.ProductAverageCost}</option> >> + <option value="SortProductPrice:MINIMUM_PRICE">$ >> {uiLabelMap.ProductMinimumPrice}</option> >> + <option value="SortProductPrice:MAXIMUM_PRICE">$ >> {uiLabelMap.ProductMaximumPrice}</option> >> + </select> >> + ${uiLabelMap.ProductLowToHigh}<input type="radio" >> name="sortAscending" value="Y" checked /> >> + ${uiLabelMap.ProductHighToLow}<input type="radio" >> name="sortAscending" value="N" /> >> + </div> >> + </td> >> + </tr> >> + <tr> >> + <td class="label" align="right" valign="middle"> >> + ${uiLabelMap.ProductPrioritizeProductsInCategory}: >> + </td> >> + <td valign="middle"> >> + <input type="text" id="PRIORITIZE_CATEGORY_ID" >> name="PRIORITIZE_CATEGORY_ID" size="20" maxlength="20" value="$ >> {requestParameters.PRIORITIZE_CATEGORY_ID?if_exists}" /> >> + <a href="javascript:call_fieldlookup2($ >> ('PRIORITIZE_CATEGORY_ID'),'LookupProductCategory');"><img src='/ >> images/fieldlookup.gif' width='15' height='14' border='0' alt="$ >> {uiLabelMap.CommonClickHereForFieldLookup}" /></a> >> + </td> >> + </tr> >> + <tr> >> + <td class="label"> >> + ${uiLabelMap.ProductGoodIdentificationType}: >> + </td> >> + <td> >> + <select name="SEARCH_GOOD_IDENTIFICATION_TYPE"> >> + <option value="">- ${uiLabelMap.CommonSelectAny} - >> </option> >> + <#list goodIdentificationTypes as >> goodIdentificationType> >> + <option value="$ >> {goodIdentificationType.goodIdentificationTypeId}">$ >> {goodIdentificationType.get("description")?if_exists}</option> >> + </#list> >> + </select> >> + </td> >> + </tr> >> + <tr> >> + <td class="label"> >> + ${uiLabelMap.ProductGoodIdentificationValue}: >> + </td> >> + <td> >> + <input type="text" >> name="SEARCH_GOOD_IDENTIFICATION_VALUE" size="60" maxlength="60" >> value="${requestParameters.SEARCH_GOOD_IDENTIFICATION_VALUE? >> if_exists}" /> >> + ${uiLabelMap.CommonInclude}<input type="radio" >> name="SEARCH_GOOD_IDENTIFICATION_INCL" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonExclude}<input type="radio" >> name="SEARCH_GOOD_IDENTIFICATION_INCL" value="N" /> >> + </td> >> + </tr> >> + <#if searchConstraintStrings?has_content> >> + <tr> >> + <td align="right" valign="top" class="label"> >> + ${uiLabelMap.ProductLastSearch} >> + </td> >> + <td valign="top"> >> + <#list searchConstraintStrings as >> searchConstraintString> >> + <div> - ${searchConstraintString}</div> >> + </#list> >> + <span class="label">${uiLabelMap.CommonSortedBy}:</ >> span>${searchSortOrderString} >> + <div> >> + ${uiLabelMap.ProductNewSearch}<input >> type="radio" name="clearSearch" value="Y" checked="checked" /> >> + ${uiLabelMap.CommonRefineSearch}<input >> type="radio" name="clearSearch" value="N" /> >> + </div> >> + </td> >> + </tr> >> + </#if> >> + <tr> >> + <td align="center" colspan="2"> >> + <hr/> >> + <a href="javascript:submit($ >> ('advToKeywordSearchform'));" class="buttontext">$ >> {uiLabelMap.CommonFind}</a> >> + </td> >> + </tr> >> + </table> >> + </fieldset> >> + </form> >> + </div> >> +</div> >> \ No newline at end of file >> >> Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/ >> find/GoogleBaseAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:eol-style = native >> >> Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/ >> find/GoogleBaseAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:keywords = Date Rev Author URL Id >> >> Propchange: ofbiz/trunk/specialpurpose/googlebase/webapp/googlebase/ >> find/GoogleBaseAdvancedSearch.ftl >> ------------------------------------------------------------------------------ >> svn:mime-type = text/plain >> >> Modified: ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseForms.xml >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseForms.xml?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseForms.xml (original) >> +++ ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseForms.xml Sat Oct 31 12:01:52 2009 >> @@ -20,7 +20,7 @@ >> >> <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd >> "> >> - <form name="ProductsExportToGoogle" type="single" >> target="searchExportProductListToGoogle" >> + <form id="productsExportToGoogle" >> name="ProductsExportToGoogle" type="single" >> target="searchExportProductListToGoogle" >> header-row-style="header-row" default-table-style="basic- >> table"> >> <field name="productStoreId"><hidden/></field> >> <field name="selectResult"><hidden/></field> >> @@ -32,6 +32,11 @@ >> <option key="IT" description="$ >> {uiLabelMap.GoogleBaseExportCountryCodeIT}"/> >> </drop-down> >> </field> >> + <field name="webSiteId" event="onChange" >> action="javascript:$('productsExportToGoogle').action='$ >> {persistAction}';$('productsExportToGoogle').submit();"> >> + <drop-down current="selected"> >> + <list-options list-name="webSiteList" key- >> name="webSiteId" description="${siteName}"/> >> + </drop-down> >> + </field> >> <field name="webSiteUrl"><text size="50" maxlength="250" >> default-value="${webSiteUrl}"/></field> >> <field name="webSiteMountPoint"><text size="30" >> maxlength="30" default-value="ecommerce"/></field> >> <field name="actionType"> >> >> Modified: ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseScreens.xml >> URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/googlebase/widget/GoogleBaseScreens.xml?rev=831534&r1=831533&r2=831534&view=diff >> = >> = >> = >> = >> = >> = >> = >> = >> = >> ===================================================================== >> --- ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseScreens.xml (original) >> +++ ofbiz/trunk/specialpurpose/googlebase/widget/ >> GoogleBaseScreens.xml Sat Oct 31 12:01:52 2009 >> @@ -29,16 +29,13 @@ >> <condition-expr field-name="showInSelect" >> operator="not-equals" value="N"/> >> <order-by field-name="description"/> >> </entity-condition> >> - <entity-condition entity-name="ProdCatalog" >> list="prodCatalogs"> >> - <order-by field-name="catalogName"/> >> - </entity-condition> >> <script location="component://product/webapp/catalog/WEB-INF/actions/find/advancedsearchoptions.groovy >> "/> >> </actions> >> <widgets> >> <decorator-screen name="CommonFindDecorator" >> location="${parameters.mainDecoratorLocation}"> >> <decorator-section name="body"> >> <platform-specific> >> - <html><html-template location="component://product/webapp/catalog/find/advancedsearch.ftl >> "/></html> >> + <html><html-template location="component://googlebase/webapp/googlebase/find/GoogleBaseAdvancedSearch.ftl >> "/></html> >> </platform-specific> >> </decorator-section> >> </decorator-screen> >> >> > -- > Antwebsystems.com: Quality OFBiz services for competitive rates > |
Free forum by Nabble | Edit this page |