But since you did, can I just say that the event handlers aren't really 
intended for data preparation which should be done in the view handling :-)

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 27/04/2010, at 10:53 AM, Marc Morin wrote:

> Not sure you wanted to post this to d...@ofbiz mailing list!!!!
> 
> Marc Morin
> Emforium Group Inc. 
> ALL-IN Software
> 519-772-6824 ext 201 
> [email protected] 
> 
> ----- "Robert Morley" <[email protected]> wrote:
> 
>> We ran into a problem where we have now properly modeled all  
>> parameters to controller requests with the "parameter" element; for  
>> example here is a properly modeled link ...
>> 
>>         <menu-item name="Items" title="${uiLabelMap.Items}">
>>             <link target="ViewSalesOrder">
>>              <parameter param-name="orderId" from- 
>> field="parameters.orderId"/>
>>             </link>
>>         </menu-item>
>> 
>> What ofbiz does when it attempts to render this link, is determine if 
>> 
>> it should render it as an anchor or with a hidden form.  The  
>> determining factor here is if the controller request "ViewSalesOrder" 
>> 
>> has an event defined.  If it has an event, it must render as a hidden 
>> 
>> form for security reasons.  In this case, ViewSalesOrder will call an 
>> 
>> event to properly create and save the ShoppingCart object into the  
>> session.  As a result, we now render this as a POST instead of a GET 
>> 
>> (when the parameters were defined as query string arguments).
>> 
>> After this happens, there may be a number of things that happen to the
>> 
>> page that require us to do a page refresh.  This is typically done as 
>> 
>> part of a modal box operation.  What we had done in the past was use 
>> 
>> the document.location.href to refresh the page.  Now that these  
>> navigation links are rendered as POSTs this no longer works, and a  
>> number of bugs had been created around "missing orderId" and similar 
>> 
>> problems as part of that refresh.
>> 
>> Our solution right now was to fix how we do a refresh page.  I have  
>> created a "reloadPage" javascript snippet that gets rendered on all  
>> Emforium themed pages in the footer.  This uses the request to build a
>> 
>> proper request to reload the page with the url, parameters, and  
>> request method.  The modal box inclusion now uses this function  
>> instead of its own location.href refreshing mechanism.  A number of  
>> parameters that were setting this success function directly have been 
>> 
>> removed in favor of this new method.
>> 
>> This was checked in as part of revision 13393 and has resolved a few 
>> 
>> tickets such as EMF-3403.
>> 
>> There should be no direct developer impact.  After an svn refresh you 
>> 
>> may be assigned tickets that were related to this problem and have now
>> 
>> been fixed.  Please let me know if you have any questions or
>> concerns.
>> 
>> 
>> Robert Morley
>> Senior Software Developer
>> Emforium Group Inc.
>> ALL-IN Softwareâ„¢
>> 519-772-6824 ext 220
>> [email protected]

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to