Page MenuHomePhabricator

Show on Select fields - All divs's are parsed regardless of which one is selected.
Closed, ResolvedPublic

Description

Author: mitchell_neill

Description:
Hi.

I'm using SF 1.9.1. I have the following:

{| class="formtable"
! width=25%|Area Grouping:

{{{fieldArea Groupsdefault=Noneshow on select=None=>none;North and

East Hampshire=>ne_hampshire;West Hampshire=>w_hampshire;South East
Hampshire=>se_hampshire}}}

}

<div id="none">
{| class="formtable"
! width=10%|Areas:

{{{fieldAreasinput type=checkboxesno autocompleteproperty=Area}}}
}

</div>
<div id="ne_hampshire">
{| class="formtable"
! width=10%|Areas:

{{{fieldAreasinput type=checkboxesno

autocomplete|property=Area|default=Basingstoke & Deane Borough,Hart
District,East Hampshire District,Rushmoor District,North and East
Hampshire}}}

}

</div>
<div id="w_hampshire">
{| class="formtable"
! width=10%|Areas:

{{{fieldAreasinput type=checkboxesno

autocomplete|property=Area|default=New Forest District,Test
Valley,Eastleigh,Winchester City,West Hampshire}}}

}

</div>
<div id="se_hampshire">
{| class="formtable"
! width=10%|Areas:

{{{fieldAreasinput type=checkboxesno

autocomplete|property=Area|default=Havant Borough,Gosport Borough,
Fareham Borough,South East Hampshire}}}

}

So, for example, if you select "North and East Hampshire", it correctly
defaults the areas to the ones specified in the ne_hampshire div.

However, it then seems to process the other divs regardless and ends up
setting the default= areas for w_hampshire, se_hampshire as well. When
you save the form you end up with ALL the default= property values in
all the div's set for the area property, not just the ne_hampshire ones.

This is obviously a major issue and has caused a massive data integrity headache.

Thanks
Neill.


Version: unspecified
Severity: enhancement

Details

Reference
bz24828

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:59 PM
bzimport set Reference to bz24828.

I wouldn't call this a major issue - even if those default values get set, you could use #if calls in the template to ignore those values if the right conditions aren't met. I'm changing the severity from "critical" to "enhancement".

mitchell_neill wrote:

Hi Yaron.

I guess this will be covered off with the more dynamic forms that have been discussed on the mailing list. Looking forward to that functionality. So enhancement is definitely the right category :)

Cheers
Neill.

I think this has been fixed in v2.0.6, in that fields that are hidden due to "show on select" now no longer get their contents submitted. I'm marking this as "fixed" - feel free to re-open if not.

mitchell_neill wrote:

Great Yaron. Thanks a lot for that. I will check it out.

Cheers
Neill.