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

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

            Dates

              Created:
              Updated:
              Resolved: