You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by de...@apache.org on 2016/05/26 11:54:55 UTC

svn commit: r1745592 - in /ofbiz/trunk/applications: datamodel/entitydef/ product/src/org/ofbiz/product/product/ product/template/inventory/ product/template/returns/ product/widget/catalog/

Author: deepak
Date: Thu May 26 11:54:55 2016
New Revision: 1745592

URL: http://svn.apache.org/viewvc?rev=1745592&view=rev
Log:
(OFBIZ-7079) Applied modified patch from jira ticket.
=======================================
Extend Product entity and add serialized field
=======================================

Thanks Avnindra for your patch.

Modified:
    ofbiz/trunk/applications/datamodel/entitydef/product-entitymodel.xml
    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
    ofbiz/trunk/applications/product/template/inventory/ReceiveInventory.ftl
    ofbiz/trunk/applications/product/template/returns/ReceiveReturn.ftl
    ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml

Modified: ofbiz/trunk/applications/datamodel/entitydef/product-entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/datamodel/entitydef/product-entitymodel.xml?rev=1745592&r1=1745591&r2=1745592&view=diff
==============================================================================
--- ofbiz/trunk/applications/datamodel/entitydef/product-entitymodel.xml (original)
+++ ofbiz/trunk/applications/datamodel/entitydef/product-entitymodel.xml Thu May 26 11:54:55 2016
@@ -2724,6 +2724,7 @@ under the License.
       <field name="originalImageUrl" type="url"></field>
       <field name="detailScreen" type="long-varchar"></field>
       <field name="inventoryMessage" type="description"></field>
+      <field name="inventoryItemTypeId" type="id"></field>
       <field name="requireInventory" type="indicator"></field>
       <field name="quantityUomId" type="id"></field>
       <field name="quantityIncluded" type="fixed-point"><description>If you have a six-pack of 12oz soda cans you would have quantityIncluded=12, quantityUomId=oz, piecesIncluded=6.</description></field> 
@@ -2831,6 +2832,10 @@ under the License.
       <relation type="one" fk-name="PROD_SHBX_TYPE" title="Default" rel-entity-name="ShipmentBoxType">
           <key-map field-name="defaultShipmentBoxTypeId" rel-field-name="shipmentBoxTypeId"/>
       </relation>
+      <relation type="one" fk-name="INV_ITEM_TYPE" rel-entity-name="InventoryItemType">
+          <key-map field-name="inventoryItemTypeId" rel-field-name="inventoryItemTypeId"/>
+      </relation>
+
     </entity>
     <entity entity-name="ProductAssoc"
             package-name="org.ofbiz.product.product"

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java?rev=1745592&r1=1745591&r2=1745592&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java Thu May 26 11:54:55 2016
@@ -131,6 +131,17 @@ public class ProductWorker {
         }
         return false;
     }
+    public static boolean isSerialized (Delegator delegator, String productId) {
+        try {
+            GenericValue product = EntityQuery.use(delegator).from("Product").where("productId", productId).cache().queryOne();
+            if (UtilValidate.isNotEmpty(product)) {
+                return "SERIALIZED_INV_ITEM".equals(product.getString("inventoryItemTypeId"));
+            }
+        } catch (GenericEntityException e) {
+            Debug.logWarning(e.getMessage(), module);
+        }
+        return false;
+    }
 
     public static boolean taxApplies(GenericValue product) {
         String errMsg = "";

Modified: ofbiz/trunk/applications/product/template/inventory/ReceiveInventory.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/template/inventory/ReceiveInventory.ftl?rev=1745592&r1=1745591&r2=1745592&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/template/inventory/ReceiveInventory.ftl (original)
+++ ofbiz/trunk/applications/product/template/inventory/ReceiveInventory.ftl Thu May 26 11:54:55 2016
@@ -137,6 +137,11 @@ under the License.
                 <td width="6%" align="right" nowrap="nowrap" class="label">${uiLabelMap.ProductInventoryItemType}</td>
                 <td width="6%">&nbsp;</td>
                 <td width="74%">
+                  <#if product.inventoryItemTypeId?has_content>
+                    <input name="inventoryItemTypeId" type="hidden" value="${product.inventoryItemTypeId}" />
+                    <#assign inventoryItemType = product.getRelatedOne("InventoryItemType", true)! />
+                    ${inventoryItemType.description!}
+                  <#else>
                   <select name="inventoryItemTypeId" size="1">
                     <#list inventoryItemTypes as nextInventoryItemType>
                       <option value="${nextInventoryItemType.inventoryItemTypeId}"
@@ -146,8 +151,20 @@ under the License.
                       >${nextInventoryItemType.get("description",locale)?default(nextInventoryItemType.inventoryItemTypeId)}</option>
                     </#list>
                   </select>
+                  </#if>
                 </td>
               </tr>
+              <#assign isSeriazed = Static["org.ofbiz.product.product.ProductWorker"].isSerialized(delegator, product.productId)!/>
+              <#if isSeriazed?has_content>
+                <tr>
+                  <td width="14%">&nbsp;</td>
+                  <td width="6%" align="right" nowrap="nowrap" class="label">${uiLabelMap.ProductSerialNumber}</td>
+                  <td width="6%">&nbsp;</td>
+                  <td width="74%">
+                      <input type="text" name="serialNumber" value="${parameters.serialNumber!}" />
+                  </td>
+                </tr>
+              </#if>
               <tr>
                 <td colspan="4">&nbsp;</td>
               </tr>
@@ -437,6 +454,11 @@ under the License.
                         <tr>
                           <td width="45%">
                             ${uiLabelMap.ProductInventoryItemType} :&nbsp;
+                            <#if product.inventoryItemTypeId?has_content>
+                              <input name="inventoryItemTypeId_o_${rowCount}" type="hidden" value="${product.inventoryItemTypeId}" />
+                              <#assign inventoryItemType = product.getRelatedOne("InventoryItemType", true)! />
+                              ${inventoryItemType.description!}
+                            <#else>
                             <select name="inventoryItemTypeId_o_${rowCount}" size="1">
                               <#list inventoryItemTypes as nextInventoryItemType>
                               <option value="${nextInventoryItemType.inventoryItemTypeId}"
@@ -446,6 +468,7 @@ under the License.
                               >${nextInventoryItemType.get("description",locale)?default(nextInventoryItemType.inventoryItemTypeId)}</option>
                               </#list>
                             </select>
+                            </#if>
                           </td>
                           <td align="right">${uiLabelMap.ProductRejectionReason} :</td>
                           <td align="right">
@@ -461,13 +484,19 @@ under the License.
                             <input type="text" name="quantityRejected_o_${rowCount}" value="0" size="6"/>
                           </td>
                           <tr>
-                            <td>&nbsp;</td>
+                            <td width="45%">
+                              <#assign isSeriazed = Static["org.ofbiz.product.product.ProductWorker"].isSerialized(delegator, product.productId)!/>
+                              <#if isSeriazed?has_content>
+                                ${uiLabelMap.ProductSerialNumber} :&nbsp;
+                                <input type="text" name="serialNumber_o_${rowCount}" value="" />
+                            </#if>
+                            </td>
                             <#if !product.lotIdFilledIn?has_content || product.lotIdFilledIn != "Forbidden">
                               <td align="right">${uiLabelMap.ProductLotId}</td>
                               <td align="right">
                                 <input type="text" name="lotId_o_${rowCount}" size="20" />
                               </td>
-                            <#else />
+                            <#else>
                               <td align="right">&nbsp;</td>
                               <td align="right">&nbsp;</td>
                             </#if>

Modified: ofbiz/trunk/applications/product/template/returns/ReceiveReturn.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/template/returns/ReceiveReturn.ftl?rev=1745592&r1=1745591&r2=1745592&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/template/returns/ReceiveReturn.ftl (original)
+++ ofbiz/trunk/applications/product/template/returns/ReceiveReturn.ftl Thu May 26 11:54:55 2016
@@ -167,7 +167,12 @@ under the License.
                         </tr>
                         <tr>
                            <td width='10%'>
-                              <select name="inventoryItemTypeId_o_${rowCount}" size="1" id="inventoryItemTypeId_o_${rowCount}" onchange="javascript:setInventoryItemStatus(this,${rowCount});">
+                             <#if product.inventoryItemTypeId?has_content>
+                               <input name="inventoryItemTypeId_o_${rowCount}" type="hidden" value="${product.inventoryItemTypeId}" />
+                               <#assign inventoryItemType = product.getRelatedOne("InventoryItemType", true)! />
+                                 ${inventoryItemType.description!}
+                             <#else>
+                               <select name="inventoryItemTypeId_o_${rowCount}" size="1" id="inventoryItemTypeId_o_${rowCount}" onchange="javascript:setInventoryItemStatus(this,${rowCount});">
                                  <#list inventoryItemTypes as nextInventoryItemType>
                                     <option value='${nextInventoryItemType.inventoryItemTypeId}'
                                  <#if (facility.defaultInventoryItemTypeId?has_content) && (nextInventoryItemType.inventoryItemTypeId == facility.defaultInventoryItemTypeId)>
@@ -175,7 +180,8 @@ under the License.
                                   </#if>
                                  >${nextInventoryItemType.get("description",locale)?default(nextInventoryItemType.inventoryItemTypeId)}</option>
                                  </#list>
-                              </select>
+                               </select>
+                             </#if>
                           </td>
                           <td width="35%">
                             <span class="label">${uiLabelMap.ProductInitialInventoryItemStatus}:</span>&nbsp;&nbsp;

Modified: ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml?rev=1745592&r1=1745591&r2=1745592&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml (original)
+++ ofbiz/trunk/applications/product/widget/catalog/ProductForms.xml Thu May 26 11:54:55 2016
@@ -122,6 +122,11 @@ under the License.
             <drop-down allow-empty="true"><option key="Y" description="${uiLabelMap.CommonY}"/><option key="N" description="${uiLabelMap.CommonN}"/></drop-down>
         </field>
         <field name="inventoryMessage" title="${uiLabelMap.ProductInventoryMessage}"><text size="20" maxlength="255"/></field>
+        <field name="inventoryItemTypeId" title="${uiLabelMap.ProductInventoryItemTypeId}">
+            <drop-down allow-empty="true">
+                <entity-options entity-name="InventoryItemType" key-field-name="inventoryItemTypeId"/>
+            </drop-down>
+        </field>
 
         <field name="lotIdFilledIn" title="${uiLabelMap.ProductLotId}">
             <drop-down allow-empty="false">
@@ -296,6 +301,7 @@ under the License.
             <field-group title="${uiLabelMap.CommonInventory}" collapsible="true" initially-collapsed="true">
                 <sort-field name="salesDiscWhenNotAvail"/>
                 <sort-field name="requirementMethodEnumId"/>
+                <sort-field name="inventoryItemTypeId"/>
                 <sort-field name="requireInventory"/>
                 <sort-field name="inventoryMessage"/>
                 <sort-field name="lotIdFilledIn"/>