Hmm... Thanks for pointing that out. Do you know know how to do that without 
storing state? Does wonder do something like that anywhere?



> On Mar 14, 2017, at 10:46 AM, Samuel Pelletier <sam...@samkar.com> wrote:
> 
> Ricardo,
> 
> This patch seem dangerous to first. I do not thing it is safe to have state 
> in WODynamicElement. I think they can be reused by the framework.
> 
> The correct way is to make sure the condition does not change during RR loop 
> cycle, same apply to WORepetition list for example.
> 
> Regards,
> 
> Samuel
> 
>> Le 14 mars 2017 à 09:53, Ricardo Parada <rpar...@mac.com> a écrit :
>> 
>> Thanks Samuel.  I see that now.
>> 
>> Have others experienced a problem where a form is submitted and then during 
>> takeValuesFtomTequest a condition that was false when the page was rendered 
>> becomes true all of a sudden causing some input elements (textfields, pop-up 
>> list, etc.) to participate in takeValuesFromRequest even though those 
>> elements were not on the page when the form was submitted? This causes those 
>> elements to be set to null.   I've ran into such bugs in the past many times.
>> 
>> I have been able to prevent that from happening by using the following code: 
>> 
>> 
>> public class MPVWOConditional extends ERXWOConditional {
>> 
>>    protected boolean conditionValue = false;
>> 
>>    public MPVWOConditional(String name, NSDictionary dict, WOElement 
>> element) {
>>       super(name, dict, element);
>>    }
>> 
>>    @Override
>>    public void appendToResponse(WOResponse woresponse, WOContext wocontext) {
>>       // Cache the condition every time the page is being rendered
>>       conditionValue = 
>> _condition.booleanValueInComponent(wocontext.component());
>>       super.appendToResponse(woresponse, wocontext);
>>    }
>> 
>>    /**
>>     * Returns the value for the condition binding cached during 
>> appendToResponse.
>>     * This makes the takeValuesFromRequest consistent with the 
>> appendToResponse
>>     * preceding it by making sure that input elements that were not present 
>> on
>>     * the page at the time the form was submitted do not participate in
>>     * takeValuesFromRequest inadvertently.
>>     */
>>     @Override
>>     protected boolean conditionInComponent(WOComponent wocomponent) {
>>        return conditionValue;
>>     }
>> }
>> 
>> 
>> 
>> 
>>> On Mar 14, 2017, at 9:39 AM, Samuel Pelletier <sam...@samkar.com> wrote:
>>> 
>>> Hi,
>>> 
>>> If you use inline bindings with ONGL, the class WOHelperFunctionTagRegistry 
>>> registers classes mapped to tag 
>>> 
>>>             WOHelperFunctionTagRegistry.registerTagShortcut("ERXElse", 
>>> "else");
>>>             
>>> WOHelperFunctionTagRegistry.registerTagShortcut("ERXWOConditional", "if");
>>>             
>>> WOHelperFunctionTagRegistry.registerTagShortcut("ERXWOConditional", 
>>> "conditional");
>>> 
>>> Samuel
>>> 
>>> 
>>>> Le 13 mars 2017 à 19:46, Ricardo Parada <rpar...@mac.com> a écrit :
>>>> 
>>>> Hi all,
>>>> 
>>>> Does anybody know where does ERXWOConditional install to replace 
>>>> WOConditional?
>>>> 
>>>> I created an MPVWOConditional which extends ERXWOConditional and fixes a 
>>>> bug and want to install it as the one to use for WOConditional. 
>>>> 
>>>> I checked in ERXPatches but it does not seem to be getting installed 
>>>> there.  Does anybody know?
>>>> 
>>>> Thanks
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com
>>>> 
>>>> This email sent to sam...@samkar.com
>> 
> 
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to