+1 Pritam, we should log it in JIRA. Best regards,
Pranay Pandey HotWax Systems http://www.hotwaxsystems.com/ On Sat, Jun 18, 2016 at 5:49 PM, Pritam Kute <[email protected]> wrote: > Hello Devs, > > Any thoughts on this? Should I log JIRA issue for the same?? > > Thanks & Regards, > -- > *Pritam Kute* > *HotWax Systems* | www.hotwaxsystems.com > > On Wed, Jun 15, 2016 at 2:26 PM, Pritam Kute < > [email protected]> > wrote: > > > Hello OFBiz Developers, > > > > While working on the issue OFBIZ-7252 > > <https://issues.apache.org/jira/browse/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. > > > > Is this is intentionally done or we are missing something? > > > > Thanks & Regards, > > -- > > *Pritam Kute* > > *HotWax Systems* | www.hotwaxsystems.com > > >
