| /* |
| * 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() |