You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Ognen Ivanovski (JIRA)" <de...@tapestry.apache.org> on 2008/06/11 17:40:45 UTC

[jira] Created: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
------------------------------------------------------------------------------------------------

                 Key: TAPESTRY-2453
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
             Project: Tapestry
          Issue Type: Bug
          Components: tapestry-core
    Affects Versions: 5.0.13
            Reporter: Ognen Ivanovski


The following snipped describes the situation:

    <t:form>

      <ul>
        <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
          <t:submitnotifier>
                <t:upload value="currentValue.uploadedFile" />
            <t:removerowlink>remove</t:removerowlink>
          </t:submitnotifier>
          <t:parameter name="addRow">
            <t:addrowlink>Add a row</t:addrowlink>
          </t:parameter>
        </li>
      </ul>
     <t:submit>Submit</t:submit>

    </t:form>

Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Updated: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAPESTRY-2453:
-------------------------------------------

    Priority: Minor  (was: Major)

The workaround is to ensure that the Form is always using the multipart encoding type (even if it does not contain a file upload).  This could be accomplished with a simple mixin to the form.  Dynamically managing the enctype on the client-side is possible in theory, but would be a bit on the unwieldy side.

> Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2453
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Ognen Ivanovski
>            Priority: Minor
>
> The following snipped describes the situation:
>     <t:form>
>       <ul>
>         <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
>           <t:submitnotifier>
>                 <t:upload value="currentValue.uploadedFile" />
>             <t:removerowlink>remove</t:removerowlink>
>           </t:submitnotifier>
>           <t:parameter name="addRow">
>             <t:addrowlink>Add a row</t:addrowlink>
>           </t:parameter>
>         </li>
>       </ul>
>      <t:submit>Submit</t:submit>
>     </t:form>
> Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Closed: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAPESTRY-2453.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0.15

> Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2453
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Ognen Ivanovski
>            Assignee: Howard M. Lewis Ship
>            Priority: Minor
>             Fix For: 5.0.15
>
>
> The following snipped describes the situation:
>     <t:form>
>       <ul>
>         <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
>           <t:submitnotifier>
>                 <t:upload value="currentValue.uploadedFile" />
>             <t:removerowlink>remove</t:removerowlink>
>           </t:submitnotifier>
>           <t:parameter name="addRow">
>             <t:addrowlink>Add a row</t:addrowlink>
>           </t:parameter>
>         </li>
>       </ul>
>      <t:submit>Submit</t:submit>
>     </t:form>
> Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12629891#action_12629891 ] 

Howard M. Lewis Ship commented on TAPESTRY-2453:
------------------------------------------------

Added some manual testing, as its not (to my knowledge) possible to test the upload element using Selenium.

> Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2453
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Ognen Ivanovski
>            Priority: Minor
>
> The following snipped describes the situation:
>     <t:form>
>       <ul>
>         <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
>           <t:submitnotifier>
>                 <t:upload value="currentValue.uploadedFile" />
>             <t:removerowlink>remove</t:removerowlink>
>           </t:submitnotifier>
>           <t:parameter name="addRow">
>             <t:addrowlink>Add a row</t:addrowlink>
>           </t:parameter>
>         </li>
>       </ul>
>      <t:submit>Submit</t:submit>
>     </t:form>
> Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Commented: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Posted by "Ognen Ivanovski (JIRA)" <de...@tapestry.apache.org>.
    [ https://issues.apache.org/jira/browse/TAPESTRY-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606553#action_12606553 ] 

Ognen Ivanovski commented on TAPESTRY-2453:
-------------------------------------------

I agree, fiddling with the enctype on the client-side does sound shaky. 

But, since the elements inside the AjaxFormLoop are the same all the time, perhaps fixing the enctype to multipart can be done automatically by the loop (if it can peek down inside and "see" that there is an upload component within)?


> Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2453
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Ognen Ivanovski
>            Priority: Minor
>
> The following snipped describes the situation:
>     <t:form>
>       <ul>
>         <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
>           <t:submitnotifier>
>                 <t:upload value="currentValue.uploadedFile" />
>             <t:removerowlink>remove</t:removerowlink>
>           </t:submitnotifier>
>           <t:parameter name="addRow">
>             <t:addrowlink>Add a row</t:addrowlink>
>           </t:parameter>
>         </li>
>       </ul>
>      <t:submit>Submit</t:submit>
>     </t:form>
> Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


[jira] Assigned: (TAPESTRY-2453) Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop

Posted by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org>.
     [ https://issues.apache.org/jira/browse/TAPESTRY-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAPESTRY-2453:
----------------------------------------------

    Assignee: Howard M. Lewis Ship

> Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
> ------------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2453
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2453
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.0.13
>            Reporter: Ognen Ivanovski
>            Assignee: Howard M. Lewis Ship
>            Priority: Minor
>             Fix For: 5.0.15
>
>
> The following snipped describes the situation:
>     <t:form>
>       <ul>
>         <li t:id="loop" t:type="AjaxFormLoop" source="uploads" value="currentValue"  encoder="encoder">
>           <t:submitnotifier>
>                 <t:upload value="currentValue.uploadedFile" />
>             <t:removerowlink>remove</t:removerowlink>
>           </t:submitnotifier>
>           <t:parameter name="addRow">
>             <t:addrowlink>Add a row</t:addrowlink>
>           </t:parameter>
>         </li>
>       </ul>
>      <t:submit>Submit</t:submit>
>     </t:form>
> Adding a row to this form causes an addition of a Upload component. However when doing so the enctype of the form tag should be updated to "multipart/form-data". However this does not happen. I suppose that reverting the enctype back to normal when the last upload component is removed doesn't happen too.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org