You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mr...@apache.org on 2007/12/31 16:01:11 UTC

svn commit: r607738 [2/2] - in /ofbiz/trunk/applications/product: config/ webapp/catalog/category/ webapp/catalog/product/ widget/catalog/

Modified: ofbiz/trunk/applications/product/webapp/catalog/product/EditProductInventoryItems.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/product/EditProductInventoryItems.ftl?rev=607738&r1=607737&r2=607738&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/product/EditProductInventoryItems.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/product/EditProductInventoryItems.ftl Mon Dec 31 07:00:53 2007
@@ -22,172 +22,184 @@
 <#else>
 <a href="EditProductInventoryItems?productId=${productId}&amp;showAllFacilities=Y" class="buttontext">${uiLabelMap.ProductShowAllFacilities}</a>
 </#if>
-<table cellspacing="0" class="basic-table">
-    <tr class="header-row">
-        <td><b>${uiLabelMap.ProductFacility}</b></td>
-        <td><b>${uiLabelMap.ProductAtp}</b></td>
-        <td><b>${uiLabelMap.ProductQoh}</b></td>
-        <td><b>${uiLabelMap.ProductMarketingPackageATP}</b></td>
-        <td><b>${uiLabelMap.ProductMarketingPackageQOH}</b></td>
-        <td><b>${uiLabelMap.ProductIncomingShipments}</b></td>
-        <td><b>${uiLabelMap.ProductIncomingProductionRuns}</b></td>
-        <td><b>${uiLabelMap.ProductOutgoingProductionRuns}</b></td>
-    </tr>
-    <#assign rowClass = "2">
-    <#list quantitySummaryByFacility.values() as quantitySummary>
-        <#if quantitySummary.facilityId?exists>
-            <#assign facilityId = quantitySummary.facilityId>
-            <#assign facility = delegator.findByPrimaryKey("Facility", Static["org.ofbiz.base.util.UtilMisc"].toMap("facilityId", facilityId))>
-            <#assign manufacturingInQuantitySummary = manufacturingInQuantitySummaryByFacility.get(facilityId)?if_exists>
-            <#assign manufacturingOutQuantitySummary = manufacturingOutQuantitySummaryByFacility.get(facilityId)?if_exists>
-            <#assign totalQuantityOnHand = quantitySummary.totalQuantityOnHand?if_exists>
-            <#assign totalAvailableToPromise = quantitySummary.totalAvailableToPromise?if_exists>
-            <#assign mktgPkgATP = quantitySummary.mktgPkgATP?if_exists>
-            <#assign mktgPkgQOH = quantitySummary.mktgPkgQOH?if_exists>
-            <#assign incomingShipmentAndItemList = quantitySummary.incomingShipmentAndItemList?if_exists>
-            <#assign incomingProductionRunList = manufacturingInQuantitySummary.incomingProductionRunList?if_exists>
-            <#assign incomingQuantityTotal = manufacturingInQuantitySummary.estimatedQuantityTotal?if_exists>
-            <#assign outgoingProductionRunList = manufacturingOutQuantitySummary.outgoingProductionRunList?if_exists>
-            <#assign outgoingQuantityTotal = manufacturingOutQuantitySummary.estimatedQuantityTotal?if_exists>
-            <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                <td>${(facility.facilityName)?if_exists} [${facilityId?default("[No Facility]")}] 
-                <a href="/facility/control/ReceiveInventory?facilityId=${facilityId}&productId=${productId}&externLoginKey=${externalLoginKey}" class="buttontext">${uiLabelMap.ProductInventoryReceive}</a></td>
-                <td><#if totalAvailableToPromise?exists>${totalAvailableToPromise}<#else>&nbsp;</#if></td>
-                <td><#if totalQuantityOnHand?exists>${totalQuantityOnHand}<#else>&nbsp;</#if></td>
-                <td><#if mktgPkgATP?exists>${mktgPkgATP}<#else>&nbsp;</#if></td>
-                <td><#if mktgPkgQOH?exists>${mktgPkgQOH}<#else>&nbsp;</#if></td>
-                <td>
-                    <#if incomingShipmentAndItemList?has_content>
-                        <#list incomingShipmentAndItemList as incomingShipmentAndItem>
-                            <div>${incomingShipmentAndItem.shipmentId}:${incomingShipmentAndItem.shipmentItemSeqId}-${(incomingShipmentAndItem.estimatedArrivalDate.toString())?if_exists}-<#if incomingShipmentAndItem.quantity?exists>${incomingShipmentAndItem.quantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
-                        </#list>
-                    <#else>
-                        <div>&nbsp;</div>
-                    </#if>
-                </td>
-                <td>
-                    <#if incomingProductionRunList?has_content>
-                        <#list incomingProductionRunList as incomingProductionRun>
-                            <div>${incomingProductionRun.workEffortId}-${(incomingProductionRun.estimatedCompletionDate.toString())?if_exists}-<#if incomingProductionRun.estimatedQuantity?exists>${incomingProductionRun.estimatedQuantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
-                        </#list>
-                        <div><b>${uiLabelMap.CommonTotal}:&nbsp;${incomingQuantityTotal?if_exists}</b></div>
-                    <#else>
-                        <div>&nbsp;</div>
-                    </#if>
-                </td>
-                <td>
-                    <#if outgoingProductionRunList?has_content>
-                        <#list outgoingProductionRunList as outgoingProductionRun>
-                            <div>${outgoingProductionRun.workEffortParentId?default("")}:${outgoingProductionRun.workEffortId}-${(outgoingProductionRun.estimatedStartDate.toString())?if_exists}-<#if outgoingProductionRun.estimatedQuantity?exists>${outgoingProductionRun.estimatedQuantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
-                        </#list>
-                        <div><b>${uiLabelMap.CommonTotal}:&nbsp;${outgoingQuantityTotal?if_exists}</b></div>
-                    <#else>
-                        <div>&nbsp;</div>
-                    </#if>
-                </td>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.ProductVariantProductInventorySummary}</h3>
+    </div>
+    <div class="screenlet-body"> 
+        <table cellspacing="0" class="basic-table">
+            <tr class="header-row">
+                <td><b>${uiLabelMap.ProductFacility}</b></td>
+                <td><b>${uiLabelMap.ProductAtp}</b></td>
+                <td><b>${uiLabelMap.ProductQoh}</b></td>
+                <td><b>${uiLabelMap.ProductMarketingPackageATP}</b></td>
+                <td><b>${uiLabelMap.ProductMarketingPackageQOH}</b></td>
+                <td><b>${uiLabelMap.ProductIncomingShipments}</b></td>
+                <td><b>${uiLabelMap.ProductIncomingProductionRuns}</b></td>
+                <td><b>${uiLabelMap.ProductOutgoingProductionRuns}</b></td>
             </tr>
-        </#if>
-        <#-- toggle the row color -->
-        <#if rowClass == "2">
-            <#assign rowClass = "1">
-        <#else>
             <#assign rowClass = "2">
-        </#if>
-    </#list>
-</table>
-<br/>
-<h1>${uiLabelMap.ProductInventoryItems} ${uiLabelMap.CommonFor} <#if product?exists>${(product.internalName)?if_exists} </#if> [${uiLabelMap.CommonId}:${productId?if_exists}]</h1>
-<#if productId?has_content>
-    <a href="/facility/control/EditInventoryItem?productId=${productId}${externalKeyParam}" class="buttontext">${uiLabelMap.ProductCreateNewInventoryItemProduct}</a>
-    <#if showEmpty>
-        <a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.ProductHideEmptyItems}</a>
-    <#else>
-        <a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.ProductShowEmptyItems}</a>
-    </#if>
-</#if>
-<br/>
-<#if productId?exists>
-    <table cellspacing="0" class="basic-table">
-    <tr class="header-row">
-        <td><b>${uiLabelMap.ProductItemId}</b></td>
-        <td><b>${uiLabelMap.ProductItemType}</b></td>
-        <td><b>${uiLabelMap.ProductStatus}</b></td>
-        <td><b>${uiLabelMap.CommonReceived}</b></td>
-        <td><b>${uiLabelMap.CommonExpire}</b></td>
-        <td><b>${uiLabelMap.ProductFacilityContainerId}</b></td>
-        <td><b>${uiLabelMap.ProductLocation}</b></td>
-        <td><b>${uiLabelMap.ProductLotId}</b></td>
-        <td><b>${uiLabelMap.ProductBinNum}</b></td>
-        <td><b>${uiLabelMap.ProductPerUnitPrice}</b></td>
-        <td><b>${uiLabelMap.ProductAtpQohSerial}</b></td>
-    </tr>
-    <#assign rowClass = "2">
-    <#list productInventoryItems as inventoryItem>
-       <#-- NOTE: Delivered for serialized inventory means shipped to customer so they should not be displayed here any more -->
-       <#if showEmpty || (inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM" && inventoryItem.statusId?if_exists != "INV_DELIVERED")
-                      || (inventoryItem.inventoryItemTypeId?if_exists == "NON_SERIAL_INV_ITEM" && ((inventoryItem.availableToPromiseTotal?exists && inventoryItem.availableToPromiseTotal != 0) || (inventoryItem.quantityOnHandTotal?exists && inventoryItem.quantityOnHandTotal != 0)))>
-            <#assign curInventoryItemType = inventoryItem.getRelatedOne("InventoryItemType")>
-            <#if inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
-                <#assign curStatusItem = inventoryItem.getRelatedOneCache("StatusItem")?if_exists>
-            </#if>
-            <#assign facilityLocation = inventoryItem.getRelatedOne("FacilityLocation")?if_exists>
-            <#assign facilityLocationTypeEnum = (facilityLocation.getRelatedOneCache("TypeEnumeration"))?if_exists>
-            <#if curInventoryItemType?exists>
-                <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                    <td><a href="/facility/control/EditInventoryItem?inventoryItemId=${(inventoryItem.inventoryItemId)?if_exists}${externalKeyParam}" class="buttontext">${(inventoryItem.inventoryItemId)?if_exists}</a></td>
-                    <td>&nbsp;${(curInventoryItemType.get("description",locale))?if_exists}</td>
-                    <td>
-                        <div>
-                            <#if inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
-                                <#if curStatusItem?has_content>
-                                    ${(curStatusItem.get("description",locale))?if_exists}
-                                <#elseif inventoryItem.statusId?has_content>
-                                    [${inventoryItem.statusId}]
-                                <#else>
-                                    ${uiLabelMap.CommonNotSet}&nbsp;
-                                </#if>
+            <#list quantitySummaryByFacility.values() as quantitySummary>
+                <#if quantitySummary.facilityId?exists>
+                    <#assign facilityId = quantitySummary.facilityId>
+                    <#assign facility = delegator.findByPrimaryKey("Facility", Static["org.ofbiz.base.util.UtilMisc"].toMap("facilityId", facilityId))>
+                    <#assign manufacturingInQuantitySummary = manufacturingInQuantitySummaryByFacility.get(facilityId)?if_exists>
+                    <#assign manufacturingOutQuantitySummary = manufacturingOutQuantitySummaryByFacility.get(facilityId)?if_exists>
+                    <#assign totalQuantityOnHand = quantitySummary.totalQuantityOnHand?if_exists>
+                    <#assign totalAvailableToPromise = quantitySummary.totalAvailableToPromise?if_exists>
+                    <#assign mktgPkgATP = quantitySummary.mktgPkgATP?if_exists>
+                    <#assign mktgPkgQOH = quantitySummary.mktgPkgQOH?if_exists>
+                    <#assign incomingShipmentAndItemList = quantitySummary.incomingShipmentAndItemList?if_exists>
+                    <#assign incomingProductionRunList = manufacturingInQuantitySummary.incomingProductionRunList?if_exists>
+                    <#assign incomingQuantityTotal = manufacturingInQuantitySummary.estimatedQuantityTotal?if_exists>
+                    <#assign outgoingProductionRunList = manufacturingOutQuantitySummary.outgoingProductionRunList?if_exists>
+                    <#assign outgoingQuantityTotal = manufacturingOutQuantitySummary.estimatedQuantityTotal?if_exists>
+                    <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                        <td>${(facility.facilityName)?if_exists} [${facilityId?default("[No Facility]")}] 
+                        <a href="/facility/control/ReceiveInventory?facilityId=${facilityId}&productId=${productId}&externLoginKey=${externalLoginKey}" class="buttontext">${uiLabelMap.ProductInventoryReceive}</a></td>
+                        <td><#if totalAvailableToPromise?exists>${totalAvailableToPromise}<#else>&nbsp;</#if></td>
+                        <td><#if totalQuantityOnHand?exists>${totalQuantityOnHand}<#else>&nbsp;</#if></td>
+                        <td><#if mktgPkgATP?exists>${mktgPkgATP}<#else>&nbsp;</#if></td>
+                        <td><#if mktgPkgQOH?exists>${mktgPkgQOH}<#else>&nbsp;</#if></td>
+                        <td>
+                            <#if incomingShipmentAndItemList?has_content>
+                                <#list incomingShipmentAndItemList as incomingShipmentAndItem>
+                                    <div>${incomingShipmentAndItem.shipmentId}:${incomingShipmentAndItem.shipmentItemSeqId}-${(incomingShipmentAndItem.estimatedArrivalDate.toString())?if_exists}-<#if incomingShipmentAndItem.quantity?exists>${incomingShipmentAndItem.quantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
+                                </#list>
                             <#else>
-                                &nbsp;
+                                <div>&nbsp;</div>
                             </#if>
-                        </div>
-                    </td>
-                    <td>&nbsp;${(inventoryItem.datetimeReceived)?if_exists}</td>
-                    <td>&nbsp;${(inventoryItem.expireDate)?if_exists}</td>
-                    <#if inventoryItem.facilityId?exists && inventoryItem.containerId?exists>
-                        <td style="color: red;">${uiLabelMap.ProductErrorFacility} (${inventoryItem.facilityId})
-                            ${uiLabelMap.ProductAndContainer} (${inventoryItem.containerId}) ${uiLabelMap.CommonSpecified}</td>
-                    <#elseif inventoryItem.facilityId?exists>
-                        <td>${uiLabelMap.ProductFacilityLetter}:&nbsp;<a href="/facility/control/EditFacility?facilityId=${inventoryItem.facilityId}${externalKeyParam}" class="linktext">${inventoryItem.facilityId}</a></td>
-                    <#elseif (inventoryItem.containerId)?exists>
-                        <td>${uiLabelMap.ProductContainerLetter}:&nbsp;<a href="<@ofbizUrl>EditContainer?containerId=${inventoryItem.containerId }</...@ofbizUrl>" class="linktext">${inventoryItem.containerId}</a></td>
-                    <#else>
-                        <td>&nbsp;</td>
-                    </#if>
-                    <td><a href="/facility/control/EditFacilityLocation?facilityId=${(inventoryItem.facilityId)?if_exists}&locationSeqId=${(inventoryItem.locationSeqId)?if_exists}${externalKeyParam}" class="linktext"><#if facilityLocation?exists>${facilityLocation.areaId?if_exists}:${facilityLocation.aisleId?if_exists}:${facilityLocation.sectionId?if_exists}:${facilityLocation.levelId?if_exists}:${facilityLocation.positionId?if_exists}</#if><#if facilityLocationTypeEnum?has_content> (${facilityLocationTypeEnum.get("description",locale)})</#if> [${(inventoryItem.locationSeqId)?if_exists}]</a></td>
-                    <td>&nbsp;${(inventoryItem.lotId)?if_exists}</td>
-                    <td>&nbsp;${(inventoryItem.binNumber)?if_exists}</td>
-                    <td align="right">&nbsp;<@ofbizCurrency amount=inventoryItem.unitCost isoCode=inventoryItem.currencyUomId/></td>
-                    <#if inventoryItem.inventoryItemTypeId?if_exists == "NON_SERIAL_INV_ITEM">
+                        </td>
                         <td>
-                            <div>${(inventoryItem.availableToPromiseTotal)?default("NA")}
-                            / ${(inventoryItem.quantityOnHandTotal)?default("NA")}</div>
+                            <#if incomingProductionRunList?has_content>
+                                <#list incomingProductionRunList as incomingProductionRun>
+                                    <div>${incomingProductionRun.workEffortId}-${(incomingProductionRun.estimatedCompletionDate.toString())?if_exists}-<#if incomingProductionRun.estimatedQuantity?exists>${incomingProductionRun.estimatedQuantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
+                                </#list>
+                                <div><b>${uiLabelMap.CommonTotal}:&nbsp;${incomingQuantityTotal?if_exists}</b></div>
+                            <#else>
+                                <div>&nbsp;</div>
+                            </#if>
                         </td>
-                    <#elseif inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
-                        <td>&nbsp;${(inventoryItem.serialNumber)?if_exists}</td>
-                    <#else>
-                        <td style="color: red;">${uiLabelMap.ProductErrorType} ${(inventoryItem.inventoryItemTypeId)?if_exists} ${uiLabelMap.ProductUnknownSerialNumber} (${(inventoryItem.serialNumber)?if_exists})
-                            ${uiLabelMap.ProductAndQuantityOnHand} (${(inventoryItem.quantityOnHandTotal)?if_exists} ${uiLabelMap.CommonSpecified}</td>
-                        <td>&nbsp;</td>
-                    </#if>
-                </tr>
+                        <td>
+                            <#if outgoingProductionRunList?has_content>
+                                <#list outgoingProductionRunList as outgoingProductionRun>
+                                    <div>${outgoingProductionRun.workEffortParentId?default("")}:${outgoingProductionRun.workEffortId}-${(outgoingProductionRun.estimatedStartDate.toString())?if_exists}-<#if outgoingProductionRun.estimatedQuantity?exists>${outgoingProductionRun.estimatedQuantity?string.number}<#else>[${uiLabelMap.ProductQuantityNotSet}]</#if></div>
+                                </#list>
+                                <div><b>${uiLabelMap.CommonTotal}:&nbsp;${outgoingQuantityTotal?if_exists}</b></div>
+                            <#else>
+                                <div>&nbsp;</div>
+                            </#if>
+                        </td>
+                    </tr>
+                </#if>
+                <#-- toggle the row color -->
+                <#if rowClass == "2">
+                    <#assign rowClass = "1">
+                <#else>
+                    <#assign rowClass = "2">
+                </#if>
+            </#list>
+        </table>
+    </div>
+</div>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.ProductInventoryItems} ${uiLabelMap.CommonFor} <#if product?exists>${(product.internalName)?if_exists} </#if> [${uiLabelMap.CommonId}:${productId?if_exists}]</h3>
+    </div>
+    <div class="screenlet-body"> 
+        <#if productId?has_content>
+            <a href="/facility/control/EditInventoryItem?productId=${productId}${externalKeyParam}" class="buttontext">${uiLabelMap.ProductCreateNewInventoryItemProduct}</a>
+            <#if showEmpty>
+                <a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.ProductHideEmptyItems}</a>
+            <#else>
+                <a href="<@o...@ofbizUrl>" class="buttontext">${uiLabelMap.ProductShowEmptyItems}</a>
             </#if>
         </#if>
-        <#-- toggle the row color -->
-        <#if rowClass == "2">
-            <#assign rowClass = "1">
-        <#else>
+        <br/>
+        <#if productId?exists>
+            <table cellspacing="0" class="basic-table">
+            <tr class="header-row">
+                <td><b>${uiLabelMap.ProductItemId}</b></td>
+                <td><b>${uiLabelMap.ProductItemType}</b></td>
+                <td><b>${uiLabelMap.ProductStatus}</b></td>
+                <td><b>${uiLabelMap.CommonReceived}</b></td>
+                <td><b>${uiLabelMap.CommonExpire}</b></td>
+                <td><b>${uiLabelMap.ProductFacilityContainerId}</b></td>
+                <td><b>${uiLabelMap.ProductLocation}</b></td>
+                <td><b>${uiLabelMap.ProductLotId}</b></td>
+                <td><b>${uiLabelMap.ProductBinNum}</b></td>
+                <td><b>${uiLabelMap.ProductPerUnitPrice}</b></td>
+                <td><b>${uiLabelMap.ProductAtpQohSerial}</b></td>
+            </tr>
             <#assign rowClass = "2">
+            <#list productInventoryItems as inventoryItem>
+               <#-- NOTE: Delivered for serialized inventory means shipped to customer so they should not be displayed here any more -->
+               <#if showEmpty || (inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM" && inventoryItem.statusId?if_exists != "INV_DELIVERED")
+                              || (inventoryItem.inventoryItemTypeId?if_exists == "NON_SERIAL_INV_ITEM" && ((inventoryItem.availableToPromiseTotal?exists && inventoryItem.availableToPromiseTotal != 0) || (inventoryItem.quantityOnHandTotal?exists && inventoryItem.quantityOnHandTotal != 0)))>
+                    <#assign curInventoryItemType = inventoryItem.getRelatedOne("InventoryItemType")>
+                    <#if inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
+                        <#assign curStatusItem = inventoryItem.getRelatedOneCache("StatusItem")?if_exists>
+                    </#if>
+                    <#assign facilityLocation = inventoryItem.getRelatedOne("FacilityLocation")?if_exists>
+                    <#assign facilityLocationTypeEnum = (facilityLocation.getRelatedOneCache("TypeEnumeration"))?if_exists>
+                    <#if curInventoryItemType?exists>
+                        <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                            <td><a href="/facility/control/EditInventoryItem?inventoryItemId=${(inventoryItem.inventoryItemId)?if_exists}${externalKeyParam}" class="buttontext">${(inventoryItem.inventoryItemId)?if_exists}</a></td>
+                            <td>&nbsp;${(curInventoryItemType.get("description",locale))?if_exists}</td>
+                            <td>
+                                <div>
+                                    <#if inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
+                                        <#if curStatusItem?has_content>
+                                            ${(curStatusItem.get("description",locale))?if_exists}
+                                        <#elseif inventoryItem.statusId?has_content>
+                                            [${inventoryItem.statusId}]
+                                        <#else>
+                                            ${uiLabelMap.CommonNotSet}&nbsp;
+                                        </#if>
+                                    <#else>
+                                        &nbsp;
+                                    </#if>
+                                </div>
+                            </td>
+                            <td>&nbsp;${(inventoryItem.datetimeReceived)?if_exists}</td>
+                            <td>&nbsp;${(inventoryItem.expireDate)?if_exists}</td>
+                            <#if inventoryItem.facilityId?exists && inventoryItem.containerId?exists>
+                                <td style="color: red;">${uiLabelMap.ProductErrorFacility} (${inventoryItem.facilityId})
+                                    ${uiLabelMap.ProductAndContainer} (${inventoryItem.containerId}) ${uiLabelMap.CommonSpecified}</td>
+                            <#elseif inventoryItem.facilityId?exists>
+                                <td>${uiLabelMap.ProductFacilityLetter}:&nbsp;<a href="/facility/control/EditFacility?facilityId=${inventoryItem.facilityId}${externalKeyParam}" class="linktext">${inventoryItem.facilityId}</a></td>
+                            <#elseif (inventoryItem.containerId)?exists>
+                                <td>${uiLabelMap.ProductContainerLetter}:&nbsp;<a href="<@ofbizUrl>EditContainer?containerId=${inventoryItem.containerId }</...@ofbizUrl>" class="linktext">${inventoryItem.containerId}</a></td>
+                            <#else>
+                                <td>&nbsp;</td>
+                            </#if>
+                            <td><a href="/facility/control/EditFacilityLocation?facilityId=${(inventoryItem.facilityId)?if_exists}&locationSeqId=${(inventoryItem.locationSeqId)?if_exists}${externalKeyParam}" class="linktext"><#if facilityLocation?exists>${facilityLocation.areaId?if_exists}:${facilityLocation.aisleId?if_exists}:${facilityLocation.sectionId?if_exists}:${facilityLocation.levelId?if_exists}:${facilityLocation.positionId?if_exists}</#if><#if facilityLocationTypeEnum?has_content> (${facilityLocationTypeEnum.get("description",locale)})</#if> [${(inventoryItem.locationSeqId)?if_exists}]</a></td>
+                            <td>&nbsp;${(inventoryItem.lotId)?if_exists}</td>
+                            <td>&nbsp;${(inventoryItem.binNumber)?if_exists}</td>
+                            <td align="right">&nbsp;<@ofbizCurrency amount=inventoryItem.unitCost isoCode=inventoryItem.currencyUomId/></td>
+                            <#if inventoryItem.inventoryItemTypeId?if_exists == "NON_SERIAL_INV_ITEM">
+                                <td>
+                                    <div>${(inventoryItem.availableToPromiseTotal)?default("NA")}
+                                    / ${(inventoryItem.quantityOnHandTotal)?default("NA")}</div>
+                                </td>
+                            <#elseif inventoryItem.inventoryItemTypeId?if_exists == "SERIALIZED_INV_ITEM">
+                                <td>&nbsp;${(inventoryItem.serialNumber)?if_exists}</td>
+                            <#else>
+                                <td style="color: red;">${uiLabelMap.ProductErrorType} ${(inventoryItem.inventoryItemTypeId)?if_exists} ${uiLabelMap.ProductUnknownSerialNumber} (${(inventoryItem.serialNumber)?if_exists})
+                                    ${uiLabelMap.ProductAndQuantityOnHand} (${(inventoryItem.quantityOnHandTotal)?if_exists} ${uiLabelMap.CommonSpecified}</td>
+                                <td>&nbsp;</td>
+                            </#if>
+                        </tr>
+                    </#if>
+                </#if>
+                <#-- toggle the row color -->
+                <#if rowClass == "2">
+                    <#assign rowClass = "1">
+                <#else>
+                    <#assign rowClass = "2">
+                </#if>
+            </#list>
+          </table>
         </#if>
-    </#list>
-  </table>
-</#if>
\ No newline at end of file
+    </div>
+</div>
\ No newline at end of file

Modified: ofbiz/trunk/applications/product/webapp/catalog/product/EditProductQuickAdmin.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/product/EditProductQuickAdmin.ftl?rev=607738&r1=607737&r2=607738&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/product/EditProductQuickAdmin.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/product/EditProductQuickAdmin.ftl Mon Dec 31 07:00:53 2007
@@ -17,9 +17,7 @@
 under the License.
 -->
 <#assign externalKeyParam = "&externalLoginKey=" + requestAttributes.externalLoginKey?if_exists>
-
-  <#if product?has_content>
-
+<#if product?has_content>
 <!-- First some general forms and scripts -->
 <form name="removeAssocForm" action="<@o...@ofbizUrl>">
     <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
@@ -58,46 +56,55 @@
 }
 
 </script>
-
-    <!-- Name update section -->
-    <form action="<@o...@ofbizUrl>" method="post" style="margin: 0;" name="editProduct">
-        <input type="hidden" name="productId" value="${productId?if_exists}"/>
-        <#if (product.isVirtual)?if_exists == "Y">
-            <input type="hidden" name="isVirtual" value="Y"/>
-        </#if>
-        <table cellspacing="0" class="basic-table">
-            <tr>
-                <td><h2>${productId?if_exists}<h2></td>
-                <td><input type="text" name="productName" size="40" maxlength="40" value="${product.productName?if_exists}"/></td>
-                <td align="left"><input type="submit" value="${uiLabelMap.UpdateName}"/></td>
-            </tr>
-        </table>
-    </form>
-
-    <!-- ***************************************************** Selectable features section -->
-    <#if (product.isVirtual)?if_exists == "Y">
-        <br/>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.PageTitleEditProductQuickAdmin}</h3>
+    </div>
+    <div class="screenlet-body">
+        <!-- Name update section -->
+        <form action="<@o...@ofbizUrl>" method="post" style="margin: 0;" name="editProduct">
+            <input type="hidden" name="productId" value="${productId?if_exists}"/>
+            <#if (product.isVirtual)?if_exists == "Y">
+                <input type="hidden" name="isVirtual" value="Y"/>
+            </#if>
+            <table cellspacing="0" class="basic-table">
+                <tr>
+                    <td><h2>${productId?if_exists}<h2></td>
+                    <td><input type="text" name="productName" size="40" maxlength="40" value="${product.productName?if_exists}"/></td>
+                    <td align="left"><input type="submit" value="${uiLabelMap.UpdateName}"/></td>
+                </tr>
+            </table>
+        </form>
+    </div>
+</div>
+<#if (product.isVirtual)?if_exists == "Y">
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.SelectableFeatures}</h3>
+    </div>
+    <div class="screenlet-body">
+        <!-- ***************************************************** Selectable features section -->
         <form action="<@o...@ofbizUrl>" method="post" style="margin: 0;" name="selectableFeatureTypeSelector">
-        <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
-        <table cellspacing="0" class="basic-table">
-            <tr>
-                <td colspan="2"><h2>${uiLabelMap.SelectableFeatures}</h2></td>
-                <td colspan="2"><span class="label">${uiLabelMap.CommonType}</span>
-                    <select name="productFeatureTypeId" onchange="javascript:document.selectableFeatureTypeSelector.submit();">
-                        <option value="~~any~~">${uiLabelMap.AnyFeatureType}</option>
-                        <#list featureTypes as featureType>
-                            <#if (featureType.productFeatureTypeId)?if_exists == (productFeatureTypeId)?if_exists>
-                                <#assign selected="selected"/>
-                            <#else>
-                                <#assign selected=""/>
-                            </#if>
-                            <option ${selected} value="${featureType.productFeatureTypeId?if_exists}">${featureType.get("description",locale)?if_exists}</option>
-                        </#list>
-                    </select>
-                </td>
-            </tr>
-        </table>
+            <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
+            <table cellspacing="0" class="basic-table">
+                <tr>
+                    <td colspan="2"><span class="label">${uiLabelMap.CommonType}</span>
+                        <select name="productFeatureTypeId" onchange="javascript:document.selectableFeatureTypeSelector.submit();">
+                            <option value="~~any~~">${uiLabelMap.AnyFeatureType}</option>
+                            <#list featureTypes as featureType>
+                                <#if (featureType.productFeatureTypeId)?if_exists == (productFeatureTypeId)?if_exists>
+                                    <#assign selected="selected"/>
+                                <#else>
+                                    <#assign selected=""/>
+                                </#if>
+                                <option ${selected} value="${featureType.productFeatureTypeId?if_exists}">${featureType.get("description",locale)?if_exists}</option>
+                            </#list>
+                        </select>
+                    </td>
+                </tr>
+            </table>
         </form>
+        <br/>
         <form action="<@o...@ofbizUrl>" method="post" style="margin: 0;" name="selectableFeature">
         <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
         <input type="hidden" name="productFeatureTypeId" value="${(productFeatureTypeId)?if_exists}"/>
@@ -156,146 +163,28 @@
             </tr>
             </table>
         </form>
-        <br/>
-    </#if>
-    <#if (product.isVariant)?if_exists == "Y">
+    </div>
+</div>
+</#if>
+<#if (product.isVariant)?if_exists == "Y">
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.DistinguishingFeatures}</h3>
+    </div>
+    <div class="screenlet-body">
         <form action="<@o...@ofbizUrl>" method="post" style="margin: 0;" name="distFeature">
             <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
             <table cellspacing="0" class="basic-table">
-            <tr class="header-row">
-                <td colspan="3"><h2>${uiLabelMap.DistinguishingFeatures}</h2></td>
-            </tr>
-            <tr class="header-row">
-                <td><b>${uiLabelMap.ProductProductId}</b></td>
-                <td><b>&nbsp;</b></td>
-                <td><b>&nbsp;</b></td>
-            </tr>
-        <#assign idx=0/>
-        <#assign rowClass = "2">
-        <#list distinguishingFeatures as distinguishingFeature>
-            <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                <td><a href="<@o...@ofbizUrl>">x</a></td>
-                <td>${distinguishingFeature.productFeatureId} ${productFeatureTypeLookup.get(distinguishingFeature.productFeatureId).get("description",locale)}: ${distinguishingFeature.get("description",locale)} </td>
-                <td>&nbsp;</td>
-            </tr>
-            <#-- toggle the row color -->
-            <#if rowClass == "2">
-                <#assign rowClass = "1">
-            <#else>
-                <#assign rowClass = "2">
-            </#if>
-        </#list>
-
-            </table>
-        </form>
-    </#if>
-
-    <!-- ***************************************************** end Selectable features section -->
-
-
-    <!-- ***************************************************** Shipping dimensions section -->
-    <br/>
-    <form action="<@o...@ofbizUrl>" method="post" name="updateShipping">
-        <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
-        <input type="hidden" name="heightUomId" value="LEN_in"/>
-        <input type="hidden" name="widthUomId" value="LEN_in"/>
-        <input type="hidden" name="depthUomId" value="LEN_in"/>
-        <input type="hidden" name="weightUomId" value="WT_oz"/>
-        <table cellspacing="0" class="basic-table">
-            <tr class="header-row">
-                <td colspan=2><h2>${uiLabelMap.ShippingDimensionsAndWeights}</h2></td>
-                <td><b>${uiLabelMap.ProductProductHeight}</b></td>
-                <td><b>${uiLabelMap.ProductProductWidth}</b></td>
-                <td><b>${uiLabelMap.ProductProductDepth}</b></td>
-                <td><b>${uiLabelMap.ProductWeight}</b></td>
-                <td><b>${uiLabelMap.ProductFlOz}</b></td>
-                <td><b>${uiLabelMap.ProductML}</b></td>
-                <td><b>${uiLabelMap.ProductNtWt}</b></td>
-                <td><b>${uiLabelMap.ProductGrams}</b></td>
-                <td><b>${uiLabelMap.ProductHZ}</b></td>
-                <td><b>${uiLabelMap.ProductST}</b></td>
-                <td><b>${uiLabelMap.ProductTD}</b></td>
-            </tr>
-    <#if (product.isVirtual)?if_exists == "Y">
-        <#assign idx=0/>
-        <#assign rowClass = "2">
-        <#list assocProducts as assocProduct>
-            <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                <td nowrap>${assocProduct.productId?if_exists}</td>
-                <td width="100%">${assocProduct.internalName?if_exists}<input type="hidden" name="productId${idx}" value="${assocProduct.productId?if_exists}"/></td>
-                <td><input type="text" name="productHeight${idx}" size="6" maxlength="20" value="${assocProduct.productHeight?if_exists}"/></td>
-                <td><input type="text" name="productWidth${idx}" size="6" maxlength="20" value="${assocProduct.productWidth?if_exists}"/></td>
-                <td><input type="text" name="productDepth${idx}" size="6" maxlength="20" value="${assocProduct.productDepth?if_exists}"/></td>
-                <td><input type="text" name="weight${idx}" size="6" maxlength="20" value="${assocProduct.weight?if_exists}"/></td>
-                <td><input type="text" name="~floz${idx}" size="6" maxlength="20" value="${featureFloz.get(assocProduct.productId)?if_exists}"/></td>
-                <td><input type="text" name="~ml${idx}" size="6" maxlength="20" value="${featureMl.get(assocProduct.productId)?if_exists}"/></td>
-                <td><input type="text" name="~ntwt${idx}" size="6" maxlength="20" value="${featureNtwt.get(assocProduct.productId)?if_exists}"/></td>
-                <td><input type="text" name="~grams${idx}" size="6" maxlength="20" value="${featureGrams.get(assocProduct.productId)?if_exists}"/></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureHazmat.get(assocProduct.productId)?if_exists}</a></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureSalesThru.get(assocProduct.productId)?if_exists}</a></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureThruDate.get(assocProduct.productId)?if_exists}</a></td>
-            </tr>
-            <#assign idx = idx + 1/>
-            <#-- toggle the row color -->
-            <#if rowClass == "2">
-                <#assign rowClass = "1">
-            <#else>
+                <tr class="header-row">
+                    <td><b>${uiLabelMap.ProductProductId}</b></td>
+                </tr>
+                <#assign idx=0/>
                 <#assign rowClass = "2">
-            </#if>
-        </#list>
-            <tr>
-                <td colspan=10 align="right"><input name="applyToAll" type="submit" value="${uiLabelMap.ApplyToAll}"/>
-                &nbsp;&nbsp;<input name="updateShipping" type="submit" value="${uiLabelMap.UpdateShipping}"/></td>
-            </tr>
-    <#else>
-            <tr>
-                <td>${productId?if_exists}</td>
-                <td>${product.internalName?if_exists}</td>
-                <td><input type="text" name="productHeight" size="6" maxlength="20" value="${product.productHeight?if_exists}"></td>
-                <td><input type="text" name="productWidth" size="6" maxlength="20" value="${product.productWidth?if_exists}"></td>
-                <td><input type="text" name="productDepth" size="6" maxlength="20" value="${product.productDepth?if_exists}"></td>
-                <td><input type="text" name="weight" size="6" maxlength="20" value="${product.weight?if_exists}"></td>
-                <td><input type="text" name="~floz" size="6" maxlength="20" value="${floz?if_exists}"></td>
-                <td><input type="text" name="~ml" size="6" maxlength="20" value="${ml?if_exists}"></td>
-                <td><input type="text" name="~ntwt" size="6" maxlength="20" value="${ntwt?if_exists}"></td>
-                <td><input type="text" name="~grams" size="6" maxlength="20" value="${grams?if_exists}"></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${hazmat?if_exists}</a></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${salesthru?if_exists}</a></td>
-                <td><a class="buttontext" href="<@o...@ofbizUrl>">${thrudate?if_exists}</a></td>
-            </tr>
-            <tr>
-                <td colspan=10 align="right"><input type="submit" value="${uiLabelMap.UpdateShipping}"></td>
-            </tr>
-    </#if>
-
-        </table>
-    </form>
-    <!--  **************************************************** end - Shipping dimensions section -->
-
-    <!--  **************************************************** Standard Features section -->
-    <br/>
-    <table cellspacing="0" class="basic-table">
-    <tr>
-    <td>
-        <form method="post" action="<@o...@ofbizUrl>" name="addFeatureById">
-        <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
-        <input type="hidden" name="productFeatureApplTypeId" value="STANDARD_FEATURE"/>
-        <input type="hidden" name="fromDate" value="${nowTimestampString}"/>
-        <table cellspacing="0" class="basic-table">
-            <tr class="header-row">
-                <td colspan="2"><h2>${uiLabelMap.StandardFeatures}</h2></td>
-            </tr>
-            <#assign rowClass = "2">
-            <#list addedFeatureTypeIds as addedFeatureTypeId>
+                <#list distinguishingFeatures as distinguishingFeature>
                 <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                    <td align="right">${addedFeatureTypes.get(addedFeatureTypeId).description}</td>
-                    <td>
-                        <select name="productFeatureId">
-                            <option value="~~any~~">${uiLabelMap.AnyFeatureType}</option>
-                        <#list featuresByType.get(addedFeatureTypeId) as feature>
-                            <option value="${feature.getString("productFeatureId")}">${feature.description}</option>
-                        </#list>
-                        </select>
+                    <td><a href="<@o...@ofbizUrl>" class="buttontext">x</a>&nbsp;
+                    ${distinguishingFeature.productFeatureId} ${productFeatureTypeLookup.get(distinguishingFeature.productFeatureId).get("description",locale)}: ${distinguishingFeature.get("description",locale)}
+                    &nbsp;
                     </td>
                 </tr>
                 <#-- toggle the row color -->
@@ -304,22 +193,59 @@
                 <#else>
                     <#assign rowClass = "2">
                 </#if>
-            </#list>
-            <tr><td colspan="2" align="right"><input type="submit" value="${uiLabelMap.AddFeatures}"/></td></tr>
-        </table>
+                </#list>
+            </table>
         </form>
-    </td>
-    <td width="20">&nbsp;</td>
-    <td valign="top">
-        <table cellspacing="0" class="basic-table">
+    </div>
+</div>
+</#if>
+<!-- ***************************************************** end Selectable features section -->
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.ShippingDimensionsAndWeights}</h3>
+    </div>
+    <div class="screenlet-body">
+        <!-- ***************************************************** Shipping dimensions section -->
+        <form action="<@o...@ofbizUrl>" method="post" name="updateShipping">
+            <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
+            <input type="hidden" name="heightUomId" value="LEN_in"/>
+            <input type="hidden" name="widthUomId" value="LEN_in"/>
+            <input type="hidden" name="depthUomId" value="LEN_in"/>
+            <input type="hidden" name="weightUomId" value="WT_oz"/>
+            <table cellspacing="0" class="basic-table">
+                <tr class="header-row">
+                    <td><b>${uiLabelMap.ProductProductHeight}</b></td>
+                    <td><b>${uiLabelMap.ProductProductWidth}</b></td>
+                    <td><b>${uiLabelMap.ProductProductDepth}</b></td>
+                    <td><b>${uiLabelMap.ProductWeight}</b></td>
+                    <td><b>${uiLabelMap.ProductFlOz}</b></td>
+                    <td><b>${uiLabelMap.ProductML}</b></td>
+                    <td><b>${uiLabelMap.ProductNtWt}</b></td>
+                    <td><b>${uiLabelMap.ProductGrams}</b></td>
+                    <td><b>${uiLabelMap.ProductHZ}</b></td>
+                    <td><b>${uiLabelMap.ProductST}</b></td>
+                    <td><b>${uiLabelMap.ProductTD}</b></td>
+                </tr>
+        <#if (product.isVirtual)?if_exists == "Y">
+            <#assign idx=0/>
             <#assign rowClass = "2">
-            <#list standardFeatureAppls as standardFeatureAppl>
-                <#assign featureId = standardFeatureAppl.productFeatureId/>
+            <#list assocProducts as assocProduct>
                 <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                    <td><a href='<@o...@ofbizUrl>' class="buttontext">x</a></td>
-                    <td>${productFeatureTypeLookup.get(featureId).description}:
-                            ${standardFeatureLookup.get(featureId).description}</td>
+                    <td nowrap>${assocProduct.productId?if_exists}</td>
+                    <td width="100%">${assocProduct.internalName?if_exists}<input type="hidden" name="productId${idx}" value="${assocProduct.productId?if_exists}"/></td>
+                    <td><input type="text" name="productHeight${idx}" size="6" maxlength="20" value="${assocProduct.productHeight?if_exists}"/></td>
+                    <td><input type="text" name="productWidth${idx}" size="6" maxlength="20" value="${assocProduct.productWidth?if_exists}"/></td>
+                    <td><input type="text" name="productDepth${idx}" size="6" maxlength="20" value="${assocProduct.productDepth?if_exists}"/></td>
+                    <td><input type="text" name="weight${idx}" size="6" maxlength="20" value="${assocProduct.weight?if_exists}"/></td>
+                    <td><input type="text" name="~floz${idx}" size="6" maxlength="20" value="${featureFloz.get(assocProduct.productId)?if_exists}"/></td>
+                    <td><input type="text" name="~ml${idx}" size="6" maxlength="20" value="${featureMl.get(assocProduct.productId)?if_exists}"/></td>
+                    <td><input type="text" name="~ntwt${idx}" size="6" maxlength="20" value="${featureNtwt.get(assocProduct.productId)?if_exists}"/></td>
+                    <td><input type="text" name="~grams${idx}" size="6" maxlength="20" value="${featureGrams.get(assocProduct.productId)?if_exists}"/></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureHazmat.get(assocProduct.productId)?if_exists}</a></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureSalesThru.get(assocProduct.productId)?if_exists}</a></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${featureThruDate.get(assocProduct.productId)?if_exists}</a></td>
                 </tr>
+                <#assign idx = idx + 1/>
                 <#-- toggle the row color -->
                 <#if rowClass == "2">
                     <#assign rowClass = "1">
@@ -327,11 +253,99 @@
                     <#assign rowClass = "2">
                 </#if>
             </#list>
+                <tr>
+                    <td colspan=10 align="right"><input name="applyToAll" type="submit" value="${uiLabelMap.ApplyToAll}"/>
+                    &nbsp;&nbsp;<input name="updateShipping" type="submit" value="${uiLabelMap.UpdateShipping}"/></td>
+                </tr>
+        <#else>
+                <tr>
+                    <td>${productId?if_exists}</td>
+                    <td>${product.internalName?if_exists}</td>
+                    <td><input type="text" name="productHeight" size="6" maxlength="20" value="${product.productHeight?if_exists}"></td>
+                    <td><input type="text" name="productWidth" size="6" maxlength="20" value="${product.productWidth?if_exists}"></td>
+                    <td><input type="text" name="productDepth" size="6" maxlength="20" value="${product.productDepth?if_exists}"></td>
+                    <td><input type="text" name="weight" size="6" maxlength="20" value="${product.weight?if_exists}"></td>
+                    <td><input type="text" name="~floz" size="6" maxlength="20" value="${floz?if_exists}"></td>
+                    <td><input type="text" name="~ml" size="6" maxlength="20" value="${ml?if_exists}"></td>
+                    <td><input type="text" name="~ntwt" size="6" maxlength="20" value="${ntwt?if_exists}"></td>
+                    <td><input type="text" name="~grams" size="6" maxlength="20" value="${grams?if_exists}"></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${hazmat?if_exists}</a></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${salesthru?if_exists}</a></td>
+                    <td><a class="buttontext" href="<@o...@ofbizUrl>">${thrudate?if_exists}</a></td>
+                </tr>
+                <tr>
+                    <td colspan=10 align="right"><input type="submit" value="${uiLabelMap.UpdateShipping}"></td>
+                </tr>
+        </#if>
+    
+            </table>
+        </form>
+    <!--  **************************************************** end - Shipping dimensions section -->
+    </div>
+</div>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.StandardFeatures}</h3>
+    </div>
+    <div class="screenlet-body">
+        <!--  **************************************************** Standard Features section -->
+        <table cellspacing="0" class="basic-table">
+        <tr>
+        <td>
+            <#if addedFeatureTypeIds.size() &gt; 0>
+            <form method="post" action="<@o...@ofbizUrl>" name="addFeatureById">
+            <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
+            <input type="hidden" name="productFeatureApplTypeId" value="STANDARD_FEATURE"/>
+            <input type="hidden" name="fromDate" value="${nowTimestampString}"/>
+            <table cellspacing="0" class="basic-table">
+                <#assign rowClass = "2">
+                <#list addedFeatureTypeIds as addedFeatureTypeId>
+                    <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                        <td align="right">${addedFeatureTypes.get(addedFeatureTypeId).description}</td>
+                        <td>
+                            <select name="productFeatureId">
+                                <option value="~~any~~">${uiLabelMap.AnyFeatureType}</option>
+                            <#list featuresByType.get(addedFeatureTypeId) as feature>
+                                <option value="${feature.getString("productFeatureId")}">${feature.description}</option>
+                            </#list>
+                            </select>
+                        </td>
+                    </tr>
+                    <#-- toggle the row color -->
+                    <#if rowClass == "2">
+                        <#assign rowClass = "1">
+                    <#else>
+                        <#assign rowClass = "2">
+                    </#if>
+                </#list>
+                <tr><td colspan="2" align="right"><input type="submit" value="${uiLabelMap.AddFeatures}"/></td></tr>
+            </table>
+            </form>
+            </#if>
+        </td>
+        <td width="20">&nbsp;</td>
+        <td valign="top">
+            <table cellspacing="0" class="basic-table">
+                <#assign rowClass = "2">
+                <#list standardFeatureAppls as standardFeatureAppl>
+                    <#assign featureId = standardFeatureAppl.productFeatureId/>
+                    <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                        <td colspan="2"><a href='<@o...@ofbizUrl>' class="buttontext">x</a>
+                        ${productFeatureTypeLookup.get(featureId).description}: ${standardFeatureLookup.get(featureId).description}
+                        </td>
+                    </tr>
+                    <#-- toggle the row color -->
+                    <#if rowClass == "2">
+                        <#assign rowClass = "1">
+                    <#else>
+                        <#assign rowClass = "2">
+                    </#if>
+                </#list>
+            </table>
+        </td>
+        </tr>
         </table>
-    </td>
-    </tr>
-    </table>
-    <br/>
+        <br/>
         <form action="<@o...@ofbizUrl>">
         <input type="hidden" name="productFeatureTypeId" value="${(productFeatureTypeId)?if_exists}"/>
         <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
@@ -339,9 +353,9 @@
             <tr>
                 <td align="right">${uiLabelMap.FeatureTypes}</td>
                 <td>
-                    <select multiple name="addFeatureTypeId">
+                    <select multiple="multiple" name="addFeatureTypeId">
                         <#list featureTypes as featureType>
-                            <option value="${featureType.productFeatureTypeId?if_exists}">${featureType.get("description",locale)?if_exists}
+                            <option value="${featureType.productFeatureTypeId?if_exists}">${featureType.get("description",locale)?if_exists}</option>
                         </#list>
                     </select>
                 </td>
@@ -349,57 +363,65 @@
             </tr>
         </table>
         </form>
-    <!--  **************************************************** end - Standard Features section -->
-
-    <!--  **************************************************** Categories section -->
-    <br/>
-    <form action="<@o...@ofbizUrl>">
-    <input type="hidden" name="fromDate" value="${nowTimestampString}"/>
-    <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
-    <table cellspacing="0" class="basic-table">
-    <tr>
-    <td>
-        <table cellspacing="0" class="basic-table">
+        <!--  **************************************************** end - Standard Features section -->
+    </div>
+</div>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.Categories}</h3>
+    </div>
+    <div class="screenlet-body">
+        <!--  **************************************************** Categories section -->
+        <form action="<@o...@ofbizUrl>">
+            <input type="hidden" name="fromDate" value="${nowTimestampString}"/>
+            <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
+            <table cellspacing="0" class="basic-table">
             <tr>
-                <td align="right">${uiLabelMap.Categories}</td>
-                <td>
-                    <select multiple="true" name="categoryId">
-                        <#list allCategories as category>
-                            <option value="${category.productCategoryId?if_exists}">${category.description?if_exists} ${category.productCategoryId}</option>
-                        </#list>
-                    </select>&nbsp;
-                </td>
-            </tr>
-        </table>
-    <td valign="top">
-        <table cellspacing="0" class="basic-table">
-            <#assign rowClass = "2">
-            <#list productCategoryMembers as prodCatMemb>
-                <#assign prodCat = prodCatMemb.getRelatedOne("ProductCategory")/>
-                <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-                    <td><a href='<@o...@ofbizUrl>' class="buttontext">x</a></td>
-                    <td>${prodCat.description?if_exists} ${prodCat.productCategoryId}</td>
-                </tr>
-                <#-- toggle the row color -->
-                <#if rowClass == "2">
-                    <#assign rowClass = "1">
-                <#else>
+            <td>
+                <table cellspacing="0" class="basic-table">
+                    <tr>
+                        <td>
+                            <select multiple="true" name="categoryId">
+                                <#list allCategories as category>
+                                    <option value="${category.productCategoryId?if_exists}">${category.description?if_exists} ${category.productCategoryId}</option>
+                                </#list>
+                            </select>&nbsp;
+                        </td>
+                    </tr>
+                </table>
+            <td valign="top">
+                <table cellspacing="0" class="basic-table">
                     <#assign rowClass = "2">
-                </#if>
-            </#list>
-        </table>
-    </td>
-    </tr>
-    <tr>
-        <td colspan=2 align="right"><input type="submit" value="${uiLabelMap.UpdateCategories}"/></td>
-    </tr>
-    </table>
-    </form>
-
-    <!--  **************************************************** end - Categories section -->
-
+                    <#list productCategoryMembers as prodCatMemb>
+                        <#assign prodCat = prodCatMemb.getRelatedOne("ProductCategory")/>
+                        <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                            <td colspan="2"><a href='<@o...@ofbizUrl>' class="buttontext">x</a>
+                            ${prodCat.description?if_exists} ${prodCat.productCategoryId}</td>
+                        </tr>
+                        <#-- toggle the row color -->
+                        <#if rowClass == "2">
+                            <#assign rowClass = "1">
+                        <#else>
+                            <#assign rowClass = "2">
+                        </#if>
+                    </#list>
+                </table>
+            </td>
+            </tr>
+            <tr>
+                <td colspan="2" align="right"><input type="submit" value="${uiLabelMap.UpdateCategories}"/></td>
+            </tr>
+            </table>
+        </form>
+        <!--  **************************************************** end - Categories section -->
+    </div>
+</div>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.PublishAndView}</h3>
+    </div>
+    <div class="screenlet-body">
     <!--  **************************************************** publish section -->
-    <br/>
     <#if (showPublish == "true")>
         <form action="<@o...@ofbizUrl>" name="publish">
         <input type="hidden" name="productId" value="${product.productId?if_exists}"/>
@@ -433,10 +455,9 @@
         </table>
         </form>
     </#if>
-
-
     <!--  **************************************************** end - publish section -->
-    
+    </div>
+</div>    
   <#else>
     <h3>${uiLabelMap.ProductProductNotFound} ${productId?if_exists}</h3>
   </#if>

Modified: ofbiz/trunk/applications/product/webapp/catalog/product/EditVirtualProductInventory.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/product/EditVirtualProductInventory.ftl?rev=607738&r1=607737&r2=607738&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/product/EditVirtualProductInventory.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/product/EditVirtualProductInventory.ftl Mon Dec 31 07:00:53 2007
@@ -16,31 +16,38 @@
 specific language governing permissions and limitations
 under the License.
 -->
-<table cellspacing="0" class="basic-table">
-    <tr class="header-row">
-        <td>${uiLabelMap.ProductProductId}</td>
-            <#list featureTypeIds as featureTypeId>
-                <#assign featureType = delegator.findByPrimaryKey("ProductFeatureType", Static["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", featureTypeId))>
-                <td>${featureType.description}&nbsp;</td>
+<div class="screenlet">
+    <div class="screenlet-title-bar">
+        <h3>${uiLabelMap.ProductInventorySummary}</h3>
+    </div>
+    <div class="screenlet-body">
+        <table cellspacing="0" class="basic-table">
+            <tr class="header-row">
+                <td>${uiLabelMap.ProductProductId}</td>
+                    <#list featureTypeIds as featureTypeId>
+                        <#assign featureType = delegator.findByPrimaryKey("ProductFeatureType", Static["org.ofbiz.base.util.UtilMisc"].toMap("productFeatureTypeId", featureTypeId))>
+                        <td>${featureType.description}&nbsp;</td>
+                    </#list>
+                <td>${uiLabelMap.ProductQoh}</td>
+                <td>${uiLabelMap.ProductAtp}</td>
+            </tr>
+            <#assign rowClass = "2">
+            <#list variantInventorySummaries as variantSummary>
+            <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
+                <td><a href="/catalog/control/EditProductInventoryItems?productId=${variantSummary.productId}" class="buttontext">${variantSummary.productId}</a></td>
+                    <#list featureTypeIds as featureTypeId>
+                        <td>${(variantSummary[featureTypeId].description)?default(featureTypeId)}</td>
+                    </#list>
+                <td>${variantSummary.quantityOnHandTotal}</td>
+                <td>${variantSummary.availableToPromiseTotal}</td>
+            </tr>
+            <#-- toggle the row color -->
+            <#if rowClass == "2">
+                <#assign rowClass = "1">
+            <#else>
+                <#assign rowClass = "2">
+            </#if>
             </#list>
-        <td>${uiLabelMap.ProductQoh}</td>
-        <td>${uiLabelMap.ProductAtp}</td>
-    </tr>
-    <#assign rowClass = "2">
-    <#list variantInventorySummaries as variantSummary>
-    <tr valign="middle"<#if rowClass == "1"> class="alternate-row"</#if>>
-        <td><a href="/catalog/control/EditProductInventoryItems?productId=${variantSummary.productId}" class="buttontext">${variantSummary.productId}</a></td>
-            <#list featureTypeIds as featureTypeId>
-                <td>${(variantSummary[featureTypeId].description)?default(featureTypeId)}</td>
-            </#list>
-        <td>${variantSummary.quantityOnHandTotal}</td>
-        <td>${variantSummary.availableToPromiseTotal}</td>
-    </tr>
-    <#-- toggle the row color -->
-    <#if rowClass == "2">
-        <#assign rowClass = "1">
-    <#else>
-        <#assign rowClass = "2">
-    </#if>
-    </#list>
-</table>
\ No newline at end of file
+        </table>
+    </div>
+</div>
\ No newline at end of file

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml?rev=607738&r1=607737&r2=607738&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/ProductScreens.xml Mon Dec 31 07:00:53 2007
@@ -617,22 +617,13 @@
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                        <container style="screenlet">
-                            <container style="screenlet-title-bar">
-                                <container style="head4">
-                                    <label text="${uiLabelMap.PageTitleEditProductQuickAdmin}"/>
-                                </container>
-                            </container>
-                            <container style="screenlet-body">
-                                <section>
-                                    <widgets>
-                                        <platform-specific>
-                                            <html><html-template location="component://product/webapp/catalog/product/EditProductQuickAdmin.ftl"/></html>
-                                        </platform-specific>
-                                    </widgets>
-                                </section>
-                            </container>
-                        </container>
+                        <section>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template location="component://product/webapp/catalog/product/EditProductQuickAdmin.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                        </section>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -814,41 +805,35 @@
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                           <container style="screenlet">
-                               <container style="screenlet-title-bar">
-                                <container style="head4">
-                                    <section>
-                                        <condition>
-                                            <if-compare field-name="product.isVirtual" operator="equals" type="String" value="Y"/>
-                                        </condition>
-                                        <widgets>
-                                            <label text="${uiLabelMap.ProductVariantProductInventorySummary}"/>
-                                        </widgets>
-                                        <fail-widgets>
-                                            <label text="${uiLabelMap.ProductInventorySummary}"/>
-                                        </fail-widgets>
-                                    </section>
+                        <section>
+                            <condition>
+                                <if-compare field-name="product.isVirtual" operator="equals" type="String" value="Y"/>
+                            </condition>
+                            <widgets>
+                                <platform-specific>
+                                    <html><html-template location="component://product/webapp/catalog/product/EditVirtualProductInventory.ftl"/></html>
+                                </platform-specific>
+                            </widgets>
+                            <fail-widgets>
+                                <platform-specific>
+                                    <html><html-template location="component://product/webapp/catalog/product/EditProductInventoryItems.ftl"/></html>
+                                </platform-specific>
+                                <container style="screenlet">
+                                    <container style="screenlet-title-bar">
+                                        <container style="head4">
+                                            <label text="${uiLabelMap.ProductOutstandingPurchaseOrders}"/>
+                                        </container>
+                                    </container>
+                                    <container style="screenlet-body">
+                                        <section>
+                                            <widgets>
+                                                <include-form name="OutstandingPurchaseOrders" location="component://product/webapp/catalog/product/ProductForms.xml"/>
+                                            </widgets>
+                                        </section>
+                                    </container>
                                 </container>
-                            </container>
-                            <container style="screenlet-body">
-                                <section>
-                                    <condition>
-                                        <if-compare field-name="product.isVirtual" operator="equals" type="String" value="Y"/>
-                                    </condition>
-                                    <widgets>
-                                        <platform-specific>
-                                            <html><html-template location="component://product/webapp/catalog/product/EditVirtualProductInventory.ftl"/></html>
-                                        </platform-specific>
-                                    </widgets>
-                                    <fail-widgets>
-                                        <platform-specific>
-                                            <html><html-template location="component://product/webapp/catalog/product/EditProductInventoryItems.ftl"/></html>
-                                        </platform-specific>
-                                        <include-form name="OutstandingPurchaseOrders" location="component://product/webapp/catalog/product/ProductForms.xml"/>
-                                    </fail-widgets>
-                                </section>
-                            </container>
-                        </container>
+                            </fail-widgets>
+                        </section>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -1045,21 +1030,14 @@
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                        <container style="screenlet">
-                            <container style="screenlet-title-bar">
-                                <container style="head4">
-                                    <label text="${uiLabelMap.PageTitleEditProductFeatures}"/>
-                                </container>
-                            </container>
-                            <container style="screenlet-body">
-                                <section>
-                                    <widgets>
-                                        <platform-specific>
-                                            <html><html-template location="component://product/webapp/catalog/product/EditProductFeatures.ftl"/></html>
-                                        </platform-specific>
-                                    </widgets>
-                                </section>
-                            </container>
+                        <container>
+                            <section>
+                                <widgets>
+                                    <platform-specific>
+                                        <html><html-template location="component://product/webapp/catalog/product/EditProductFeatures.ftl"/></html>
+                                    </platform-specific>
+                                </widgets>
+                            </section>
                         </container>
                         <container style="screenlet">
                             <container style="screenlet-title-bar">
@@ -1359,23 +1337,15 @@
             <widgets>
                 <decorator-screen name="CommonProductDecorator" location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
-                        <container style="screenlet">
-                            <container style="screenlet-title-bar">
-                                <container style="head4">
-                                    <label text="${uiLabelMap.PageTitleEditProductAssociations}"/>
-                                </container>
-                            </container>
-                            <container style="screenlet-body">
-                                <section>
-                                    <widgets>
-                                        <platform-specific>
-                                            <html><html-template location="component://product/webapp/catalog/product/EditProductAssoc.ftl"/></html>
-                                        </platform-specific>
-                                    </widgets>
-                                </section>
-                            </container>
-                        </container>         
-                        
+                        <container>
+                            <section>
+                                <widgets>
+                                    <platform-specific>
+                                        <html><html-template location="component://product/webapp/catalog/product/EditProductAssoc.ftl"/></html>
+                                    </platform-specific>
+                                </widgets>
+                            </section>
+                        </container>
                     </decorator-section>
                 </decorator-screen>
             </widgets>