blob: e2764fd8d0db67019b7a38ee84af26a5bd321b2a [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.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()