Author: jacopoc Date: Tue Sep 12 07:59:28 2006 New Revision: 442612 URL: http://svn.apache.org/viewvc?view=rev&rev=442612 Log: Added link to create "drop shipment" shipments from a purchase order (when the ship-to-address is not one of the company's facilities).
Modified: incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/orderview.bsh incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderheader.ftl incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml Modified: incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties (original) +++ incubator/ofbiz/trunk/applications/order/config/OrderUiLabels.properties Tue Sep 12 07:59:28 2006 @@ -152,6 +152,7 @@ OrderNewRequestItem = New Request Item OrderNewRequirement = New Requirement OrderNewShipment = New Shipment +OrderNewDropShipmentForShipGroup = New Drop Shipment For Ship Group OrderNewShipmentForShipGroup = New Shipment For Ship Group OrderNoChannel = No Channel OrderNoGiftWrap = No Gift Wrap Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/orderview.bsh URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/orderview.bsh?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/orderview.bsh (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/order/orderview.bsh Tue Sep 12 07:59:28 2006 @@ -245,10 +245,23 @@ context.put("mktgPkgATPMap", inventorySummary.get("mktgPkgATPMap")); context.put("mktgPkgQOHMap", inventorySummary.get("mktgPkgQOHMap")); - // get a list of facilities for purchase orders to receive against. These facilities must be owned by the bill-to party of the purchase order. + // Get a list of facilities for purchase orders to receive against. + // These facilities must be owned by the bill-to party of the purchase order. + // For a given ship group, the allowed facilities are the ones associated + // to the same contact mech of the ship group. if ("PURCHASE_ORDER".equals(orderType)) { - facilities = delegator.findByAndCache("Facility", UtilMisc.toMap("ownerPartyId", orderReadHelper.getBillToParty().getString("partyId"))); - context.put("facilities", facilities); + Map facilitiesForShipGroup = new HashMap(); + String ownerPartyId = orderReadHelper.getBillToParty().getString("partyId"); + for (int i = 0; i < shipGroups.size(); i++) { + GenericValue shipGroup = (GenericValue)shipGroups.get(i); + Map lookupMap = UtilMisc.toMap("ownerPartyId", ownerPartyId); + if (shipGroup.get("contactMechId") != null) { + lookupMap.put("contactMechId", shipGroup.getString("contactMechId")); + } + List facilities = delegator.findByAndCache("FacilityAndContactMech", lookupMap); + facilitiesForShipGroup.put(shipGroup.getString("shipGroupSeqId"), facilities); + } + context.put("facilitiesForShipGroup", facilitiesForShipGroup); } // set the type of return based on type of order Modified: incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderheader.ftl URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderheader.ftl?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderheader.ftl (original) +++ incubator/ofbiz/trunk/applications/order/webapp/ordermgr/order/orderheader.ftl Tue Sep 12 07:59:28 2006 @@ -887,6 +887,7 @@ <a href="<@ofbizUrl>quickShipOrder?${paramString}</@ofbizUrl>" class="buttontext">${uiLabelMap.OrderQuickShipEntireOrder}</a> </#if> <#else> <#-- PURCHASE_ORDER --> + <#assign facilities = facilitiesForShipGroup.get(shipGroup.shipGroupSeqId)> <#if facilities?has_content> <form action="/facility/control/quickShipPurchaseOrder" method="POST"> <input type="hidden" name="initialSelected" value="Y"/> @@ -900,8 +901,6 @@ </select> <input type="submit" class="smallSubmit" value="${uiLabelMap.OrderQuickReceivePurchaseOrder}"> </form> - <#else> - ${uiLabelMap.ProductErrorNoFacilityAvailable} </#if> </#if> </div> @@ -925,6 +924,7 @@ </#if> <#else> <div class="tabletext"> + <#assign facilities = facilitiesForShipGroup.get(shipGroup.shipGroupSeqId)> <#if facilities?has_content> <form action="/facility/control/createShipment" method="GET"> <input type="hidden" name="primaryOrderId" value="${orderId}"/> @@ -941,7 +941,7 @@ </div> </form> <#else> - ${uiLabelMap.ProductErrorNoFacilityAvailable} + <div class="tabletext"><a href="/facility/control/createShipment?primaryOrderId=${orderId}&primaryShipGroupSeqId=${shipGroup.shipGroupSeqId}&shipmentTypeId=DROP_SHIPMENT&statusId=PURCH_SHIP_CREATED&externalLoginKey=${externalLoginKey}" class="buttontext">${uiLabelMap.OrderNewDropShipmentForShipGroup} [${shipGroup.shipGroupSeqId}]</a></div> </#if> </div> </#if> Modified: incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml (original) +++ incubator/ofbiz/trunk/applications/product/entitydef/entitygroup.xml Tue Sep 12 07:59:28 2006 @@ -208,6 +208,7 @@ <entity-group group="org.ofbiz" entity="FacilityRole" /> <entity-group group="org.ofbiz" entity="FacilityType" /> <entity-group group="org.ofbiz" entity="FacilityTypeAttr" /> + <entity-group group="org.ofbiz" entity="FacilityAndContactMech" /> <!-- ========================================================= --> <!-- org.ofbiz.product.store --> Modified: incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml (original) +++ incubator/ofbiz/trunk/applications/product/entitydef/entitymodel.xml Tue Sep 12 07:59:28 2006 @@ -3885,4 +3885,15 @@ <field name="description" type="description"></field> <prim-key field="supplierRatingTypeId"/> </entity> + <view-entity entity-name="FacilityAndContactMech" + package-name="org.ofbiz.product.storage" + title="Facility and Contact Mech View Entity"> + <member-entity entity-alias="FA" entity-name="Facility"/> + <member-entity entity-alias="CM" entity-name="FacilityContactMech"/> + <alias-all entity-alias="FA"/> + <alias-all entity-alias="CM"/> + <view-link entity-alias="FA" rel-entity-alias="CM"> + <key-map field-name="facilityId"/> + </view-link> + </view-entity> </entitymodel> Modified: incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml?view=diff&rev=442612&r1=442611&r2=442612 ============================================================================== --- incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml (original) +++ incubator/ofbiz/trunk/applications/product/script/org/ofbiz/shipment/shipment/ShipmentServices.xml Tue Sep 12 07:59:28 2006 @@ -310,7 +310,9 @@ <set value="SALES_SHIPMENT" field="shipment.shipmentTypeId"/> </if-compare> <if-compare field-name="orderHeader.orderTypeId" operator="equals" value="PURCHASE_ORDER"> - <set value="PURCHASE_SHIPMENT" field="shipment.shipmentTypeId"/> + <if-compare field-name="shipment.shipmentTypeId" operator="not-equals" value="DROP_SHIPMENT"> + <set value="PURCHASE_SHIPMENT" field="shipment.shipmentTypeId"/> + </if-compare> </if-compare> <!-- set the facility if we are from a store with a single facility -->