cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Baptiste Quenot (JIRA)" <>
Subject [jira] Created: (COCOON-1720) Form.js overwrites the CFormsInstance attribute
Date Wed, 21 Dec 2005 10:15:32 GMT
Form.js overwrites the CFormsInstance attribute

         Key: COCOON-1720
     Project: Cocoon
        Type: Bug
  Components: Blocks: Forms  
    Versions: 2.1.9-dev (current SVN)    
    Reporter: Jean-Baptiste Quenot
 Attachments: 20051214-Form.js

In Form.js the function showForm() stores the form in an attribute of the viewdata (the optional
JS object passed by the user) called CFormsInstance .  When invoking showForm() on two different
forms but with the same viewdata, Form.js overwrites the attribute in viewdata.  When resuming
the continuation of the first form, an error occurs because the second form is referenced
in the viewdata, and of course it doesn't have the same set of widgets.

In other words: when the flow attributes are shared across multiple showForm(), Form.js overwrites
the CFormsInstance attribute, which causes failure when reactivating the continuation of a
previous screen.

Please see attached patch: the solution is to make a copy of the JS object.

*** There's also an improvement possible in Form.js provided in the same patch: to add a sendForm()
function that does the same as showForm() except that no continuation is produced, to simplify
development when no continuation is needed, and to reduce memory usage. ***

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message