/* * 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.entity.condition.EntityCondition import org.apache.ofbiz.entity.condition.EntityOperator import org.apache.ofbiz.entity.util.EntityUtil import org.apache.ofbiz.order.shoppingcart.* import org.apache.ofbiz.product.catalog.CatalogWorker shoppingCart = ShoppingCartEvents.getCartObject(request) context.cart = shoppingCart // get applicable agreements for order entry if ('PURCHASE_ORDER'.equals(shoppingCart.getOrderType())) { // for a purchase order, orderPartyId = billFromVendor (the supplier) supplierPartyId = shoppingCart.getOrderPartyId() customerPartyId = shoppingCart.getBillToCustomerPartyId() // the agreement for a purchse order is from us to the supplier agreementCondition = EntityCondition.makeCondition([ EntityCondition.makeCondition('partyIdTo', EntityOperator.EQUALS, supplierPartyId), EntityCondition.makeCondition('partyIdFrom', EntityOperator.EQUALS, customerPartyId) ], EntityOperator.AND) agreementRoleCondition = EntityCondition.makeCondition([ EntityCondition.makeCondition('partyId', EntityOperator.EQUALS, supplierPartyId), EntityCondition.makeCondition('roleTypeId', EntityOperator.EQUALS, 'SUPPLIER') ], EntityOperator.AND) } else { // for a sales order, orderPartyId = billToCustomer (the customer) customerPartyId = shoppingCart.getOrderPartyId() companyPartyId = shoppingCart.getBillFromVendorPartyId() // the agreement for a sales order is from the customer to us agreementCondition = EntityCondition.makeCondition([ EntityCondition.makeCondition('partyIdTo', EntityOperator.EQUALS, companyPartyId), EntityCondition.makeCondition('partyIdFrom', EntityOperator.EQUALS, customerPartyId) ], EntityOperator.AND) agreementRoleCondition = EntityCondition.makeCondition([ EntityCondition.makeCondition('partyId', EntityOperator.EQUALS, customerPartyId), EntityCondition.makeCondition('roleTypeId', EntityOperator.EQUALS, 'CUSTOMER') ], EntityOperator.AND) } agreements = from("Agreement").where(agreementCondition).filterByDate().cache(true).queryList() if (agreements) { context.agreements = agreements } agreementRoles = from("AgreementRole").where(agreementRoleCondition).cache(true).queryList() if (agreementRoles) { context.agreementRoles = agreementRoles } // catalog id collection, current catalog id and name productStoreId = shoppingCart.getProductStoreId() if ('SALES_ORDER' == shoppingCart.getOrderType() && productStoreId) { catalogCol = CatalogWorker.getCatalogIdsAvailable(delegator, productStoreId, shoppingCart.getOrderPartyId()) } else { catalogCol = CatalogWorker.getAllCatalogIds(request) } if (catalogCol) { context.catalogCol = catalogCol currentCatalogId = catalogCol.get(0) context.currentCatalogId = currentCatalogId context.currentCatalogName = CatalogWorker.getCatalogName(request, currentCatalogId) } // currencies and shopping cart currency context.currencies = from("Uom").where("uomTypeId", "CURRENCY_MEASURE").cache(true).queryList() context.currencyUomId = shoppingCart.getCurrency()