Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-7513

alt-target tag is not working as expected in Form Widget

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Trunk
    • Fix Version/s: 14.12.01, 15.12.01
    • Component/s: framework
    • Labels:
      None

      Description

      While working on the issue OFBIZ-7252, I found one problem in Form Widgets. When we use <alt-target> attribute in child form, the system should consider overridden <alt-target> in child form. This is default expected behaviour. But in this case, it is always considering the <alt-target> of the parent form.

      For example:

      <form name="ParentForm" .....>
        <alt-target use-when="xyz != abc" target="executeParentTarget"/>
        ........
      </form>
      
      <form name="ChildForm" extends="ParentForm" extend-resource="........>
        <alt-target use-when="xyz != abc" target="executeChildTarget"/>
        ........
      </form>
      

      In above example, expectation is 'executeChildTarget' target should get executed but actually 'executeParentTarget' is getting executed.

      When we looked into framework level code of Form Widgets, we got the following code snippets:

      ModelForm.java (Line: 380-388)

      ArrayList<AltTarget> altTargets = new ArrayList<AltTarget>();
      if (parentModel != null) {
          altTargets.addAll(parentModel.altTargets);
      }
      for (Element altTargetElement : UtilXml.childElementList(formElement, "alt-target")) {
          altTargets.add(new AltTarget(altTargetElement));
      }
      altTargets.trimToSize();
      this.altTargets = Collections.unmodifiableList(altTargets);
      

      Here we can see that all alt-targets present in parent form are added to the list first and then all alt-targets present in child form are added.

      This causes a problem as method getTarget() of ModelForm.java (Line: 1352-1384) returns the first element in the list as alt-target.

        Attachments

        1. OFBIZ-7513-Trunk.patch
          1 kB
          Pritam Kute

          Activity

            People

            • Assignee:
              toashishvijay Ashish Vijaywargiya
              Reporter:
              pritam.kute Pritam Kute
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: