blob: 9a595aff69cf93e920ecdc81e2378e26dd082909 [file] [log] [blame]
/*
* 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
}