/* | |
* Licensed to the Apache Software Foundation (ASF) under one | |
* or more contributor license agreements. See the NOTICE file | |
* distributed with this work for additional information | |
* regarding copyright ownership. The ASF licenses this file | |
* to you under the Apache License, Version 2.0 (the | |
* "License"); you may not use this file except in compliance | |
* with the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, | |
* software distributed under the License is distributed on an | |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
* KIND, either express or implied. See the License for the | |
* specific language governing permissions and limitations | |
* under the License. | |
*/ | |
import org.apache.ofbiz.base.util.UtilValidate | |
import org.apache.ofbiz.entity.util.EntityUtil | |
import org.apache.ofbiz.product.catalog.CatalogWorker | |
prodCatalog = null | |
prodCatalogId = parameters.prodCatalogId | |
showScreen = "origin" | |
List errMsgList = [] | |
productStore = EntityUtil.getFirst(delegator.findByAnd("ProductStore", [payToPartyId: partyId], null, false)) | |
if(productStore){ | |
context.productStoreId = productStore.productStoreId | |
} | |
if(UtilValidate.isEmpty(productStore)){ | |
errMsgList.add("Product Store not set!") | |
showScreen = "message" | |
} else { | |
facility = delegator.findOne("Facility", [facilityId : productStore.inventoryFacilityId], false) | |
webSite = EntityUtil.getFirst(delegator.findByAnd("WebSite", [productStoreId: productStore.productStoreId], null, false)) | |
if(UtilValidate.isEmpty(facility)){ | |
errMsgList.add("Facility not set!") | |
showScreen = "message" | |
} | |
if(UtilValidate.isEmpty(webSite)){ | |
errMsgList.add("WebSite not set!") | |
showScreen = "message" | |
} | |
} | |
if (errMsgList) { | |
request.setAttribute("_ERROR_MESSAGE_LIST_", errMsgList) | |
return | |
} | |
productStoreCatalog = EntityUtil.getFirst(delegator.findByAnd("ProductStoreCatalog", [productStoreId: productStore.productStoreId], null, false)) | |
if(productStoreCatalog){ | |
prodCatalog = productStoreCatalog.getRelatedOne("ProdCatalog", false) | |
prodCatalogId = prodCatalog.prodCatalogId | |
} | |
context.prodCatalog = prodCatalog | |
context.prodCatalogId = prodCatalogId | |
context.showScreen = showScreen | |
if(("productcategory".equals(tabButtonItem)) || ("product".equals(tabButtonItem))){ | |
productCategory = null | |
productCategoryId = parameters.productCategoryId | |
showErrorMsg = "N" | |
if(UtilValidate.isEmpty(prodCatalogId)){ | |
errMsgList.add("Product Catalog not set!") | |
showErrorMsg = "Y" | |
} | |
prodCatalogCategory = EntityUtil.getFirst(delegator.findByAnd("ProdCatalogCategory", [prodCatalogId: prodCatalogId, sequenceNum: new Long(1)], null, false)) | |
if(prodCatalogCategory){ | |
productCategory = EntityUtil.getFirst(delegator.findByAnd("ProductCategory", [primaryParentCategoryId : prodCatalogCategory.productCategoryId], null, false)) | |
if(productCategory){ | |
productCategoryId = productCategory.productCategoryId | |
} | |
} | |
context.productCategoryId = productCategoryId | |
context.productCategory = productCategory | |
if("product".equals(tabButtonItem)){ | |
productId = parameters.productId | |
product = null | |
if(UtilValidate.isEmpty(productCategoryId)){ | |
errMsgList.add("Product Category not set!") | |
showErrorMsg = "Y" | |
} | |
/**************** get product from ProductCategory ******************/ | |
productCategoryMember = EntityUtil.getFirst(delegator.findByAnd("ProductCategoryMember", [productCategoryId: productCategoryId], null, false)) | |
if(productCategoryMember){ | |
product = productCategoryMember.getRelatedOne("Product", false) | |
productId = product.productId | |
// Average cost | |
averageCostValues = delegator.findByAnd("ProductPrice", [productId : productId, productPricePurposeId : "PURCHASE", productPriceTypeId : "AVERAGE_COST"], null, false) | |
if(averageCostValues){ | |
averageCostValue = EntityUtil.getFirst(EntityUtil.filterByDate(averageCostValues)) | |
if (averageCostValue?.price != null) { | |
context.averageCost = averageCostValue.price | |
} | |
} | |
// Default cost | |
defaultPriceValues = delegator.findByAnd("ProductPrice", [productId : productId, productPricePurposeId : "PURCHASE", productPriceTypeId : "DEFAULT_PRICE"], null, false) | |
if(defaultPriceValues){ | |
defaultPrice = EntityUtil.getFirst(EntityUtil.filterByDate(defaultPriceValues)) | |
if (defaultPrice?.price != null) { | |
context.defaultPrice = defaultPrice.price | |
} | |
} | |
} | |
// get promotion category | |
promoCat = CatalogWorker.getCatalogPromotionsCategoryId(request, prodCatalogId) | |
context.productId = productId | |
context.product = product | |
context.promoCat = promoCat | |
} | |
if (errMsgList) { | |
request.setAttribute("_ERROR_MESSAGE_LIST_", errMsgList) | |
return | |
} | |
context.showErrorMsg = showErrorMsg | |
} |