Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-11414 Improve the BI component
  3. OFBIZ-11465

prepareProductDimensionData does not load correct fields in ProductDimension

    XMLWordPrintableJSON

    Details

      Description

      With the implementation of the patch ofOFBIZ-10948 an error was introduced that led to fields in the ProductDimension to be populated in a wrong way.

      The replaced minilang code encompassed:

      <simple-method method-name="prepareProductDimensionData" short-description="">
               <entity-one entity-name="Product" value-field="product"/>
               <if-empty field="product">
                   <add-error>
                       <fail-property resource="ProductUiLabels" property="ProductProductNotFoundWithProduct"/>
                   </add-error>
               </if-empty>
               <check-errors/>
               <make-value entity-name="ProductDimension" value-field="productDimension"/>
               <set-nonpk-fields map="product" value-field="productDimension"/>
      
               <get-related-one value-field="product" relation-name="ProductType" to-value-field="productType"/>
               <set field="productDimension.productType" from-field="productType.description"/>
      
               <field-to-result field="productDimension"/>
           </simple-method>
      

      This was replace with groovy code:

      def prepareProductDimensionData() {
           GenericValue product = from("Product").where("productId", parameters.productId).queryOne()
           if (product == null) {
               return error(UtilProperties.getMessage('ProductUiLabels', 'ProductProductNotFoundWithProduct', locale))
           }
           productDimension = delegator.makeValue("ProductDimension")
           productDimension.setNonPKFields(parameters)
           GenericValue productType = select("description").from("Product").where("productId", parameters.productId).queryOne()
           productDimension.productType = productType.description
           Map result = success()
           result.productDimension = productDimension
           return result
       }
      

      2 things happened:

      • the key-value pairs of the product were not injected into the projectDimension object, but rather only parameters (not including these parse);
      • the description of the productType associated with the product was not injected into the productDimension object, but rather the description of the product.

        Attachments

          Activity

            People

            • Assignee:
              pawan Pawan Verma
              Reporter:
              pierresmits Pierre Smits
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: