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

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment