Problems, need help? Have a tip or advice? Post it here.
6 posts Page 1 of 1
Hi!

I have a data bound form which makes use of cms:securefiles and tries to submit some other values into the template as well. However the files indicated in the securefiles cms:input only are getting saved if cms:db_persist_form is entirely empty. Once I try to persist some other data with it it's not happening any more - deleting works however?!

Code: Select all
<cms:db_persist_form />
                           
<cms:set action="<cms:gpc 'action' />" />

<cms:if action='Back' >
   
   <cms:db_persist_form
   
      ccdb_survey_step='7'
   
   />

<cms:else_if action='Next' />

   <cms:db_persist_form
   
      ccdb_survey_step='9'
      
   />

</cms:if>

<cms:db_persist_form

   survey_files_available=frm_survey_add_files
   
   ccdb_remarks=frm_ccdb_remarks
   
/>


[...]

<div id="k_element_ccdb_file1_title">

   <label>Titel</label>
   <cms:input name="ccdb_file1_title" type='text' required='0' value="<cms:show ccdb_file1_title/>" not_active=my_cond/>
   
   <cms:input name='ccdb_file1' type='bound' />
   
</div>


Any ideas?
and this?
Posted code perfectly describes the problem, is complete and easy to reproduce locally (actually not :shock: ).
Point taken! Hoped it was something with the general approach or know. Anyhow, here is the full code of the form (cut shorter by reducing securefile-fields by 2 each)

Code: Select all
<cms:form
masterpage=k_template_name
mode='edit'
page_id=k_page_id
enctype='multipart/form-data'
method='post'
anchor='0'
>

<cms:if k_success >
   
   <cms:db_persist_form />
   
   <cms:set action="<cms:gpc 'action' />" />
   
   <cms:if action='Back' >
      
      <cms:db_persist_form
      
         ccdb_survey_step='7'
      
      />
   
   <cms:else_if action='Next' />
   
      <cms:db_persist_form
      
         ccdb_survey_step='9'
         
      />

   </cms:if>
   
   <cms:db_persist_form
   
      survey_files_available=frm_survey_add_files
      
      ccdb_remarks=frm_ccdb_remarks
      
      ccdb_files_nr=frm_survey_add_files_nr
      
      ccdb_file1_title=frm_ccdb_file1_title
      ccdb_file2_title=frm_ccdb_file2_title
      
      ccdb_images_nr=frm_survey_add_images_nr
      
      ccdb_image1_title=frm_ccdb_image1_title
      ccdb_image2_title=frm_ccdb_image2_title
      
   />
   
   <cms:if "<cms:not k_persist_error />">
      <cms:redirect url="<cms:show k_page_link />" />
   </cms:if>
   
</cms:if>

<cms:if k_error >
   <div class="error">
   <p>
      <cms:each k_error >
         <span style="color:red"><br><cms:show item /></span>
      </cms:each>
   </p>
   </div>
</cms:if>


<div class="row uniform">
   
   <div class="12u 12u(2) 12u$(4)">

   Do you whish to add further remarks or files?
      <cms:input name="survey_add_files" type='radio' opt_values='<span></span>Yes=1 | <span></span>No=2' opt_selected="<cms:show survey_files_available/>"/>
      
      <hr/>
      
      <cms:func _into='my_cond' survey_add_files=''>
         <cms:if survey_add_files='1'>show<cms:else />hide</cms:if>
      </cms:func>
      
      <div id="k_element_ccdb_remarks">
      
         <h4>Additional remarks</h4>
         <cms:input name='ccdb_remarks' type='textarea' not_active=my_cond><cms:show ccdb_remarks/></cms:input>
         
         <hr/>
         
         How many files (.pdf, max. 4MB each) do you want to upload?
         <cms:input name="survey_add_files_nr" type='radio' opt_values='<span></span>0=0 |<span></span>1=1 | <span></span>2=2 | <span></span>3=3 | <span></span>4=4' opt_selected="<cms:show ccdb_files_nr/>"/>
         
         <cms:func _into='my_cond' survey_add_files_nr=''>
            <cms:if survey_add_files_nr ge '1'>show<cms:else />hide</cms:if>
         </cms:func>
         
         <div id="k_element_ccdb_file1_title">
         <label>Titel</label>
         <cms:input name="ccdb_file1_title" type='text' required='0' value="<cms:show ccdb_file1_title/>" not_active=my_cond/>
         <cms:input name='ccdb_file1' type='bound' />
         </div>
         
         <cms:func _into='my_cond' survey_add_files_nr=''>
            <cms:if survey_add_files_nr ge '2'>show<cms:else />hide</cms:if>
         </cms:func>
         
         <div id="k_element_ccdb_file2_title">
         <cms:input name="ccdb_file2_title" type='text' required='0' value="<cms:show ccdb_file2_title/>" not_active=my_cond/>
         <cms:input name='ccdb_file2' type='bound' />
         </div>
         
         <hr/>
         
         How many images (.jpg, max. 2MB each) do you want to upload?
         <cms:input name="survey_add_images_nr" type='radio' opt_values='<span></span>0=0 |<span></span>1=1 | <span></span>2=2 | <span></span>3=3 | <span></span>4=4' opt_selected="<cms:show ccdb_images_nr/>"/>
         
         <cms:func _into='my_cond' survey_add_images_nr=''>
            <cms:if survey_add_images_nr ge '1'>show<cms:else />hide</cms:if>
         </cms:func>
         
         <div id="k_element_ccdb_image1_title">
         <cms:input name="ccdb_image1_title" type='text' required='0' value="<cms:show ccdb_image1_title/>" not_active=my_cond/>
         <cms:input name='ccdb_image1' type='bound' />
         </div>
         
         <cms:func _into='my_cond' survey_add_images_nr=''>
            <cms:if survey_add_images_nr ge '2'>show<cms:else />hide</cms:if>
         </cms:func>
         
         <div id="k_element_ccdb_image2_title">
         <cms:input name="ccdb_image2_title" type='text' required='0' value="<cms:show ccdb_image2_title/>" not_active=my_cond/>
         <cms:input name='ccdb_image2' type='bound' />
         </div>
      
      </div>
      
   </div>
   
   <div class="12u 12u(2) 12u$(4)">
   
      <hr/>
   
      <input type="submit" name="action" value="Back"/>
      <input type="submit" name="action" value="Next"/>   
   
   </div>
   
</div>

</cms:form>
and the editables ;)

Code: Select all
<cms:editable name='files_remarks' label='Files and remarks' desc='' type='group' >

   <cms:editable
      name='survey_files_available'
      label='Files and images available'
      desc=""
      opt_values='Yes=1 | No=2'
      opt_selected='2'
      type='radio'
      order='-10'
      />
   
   <cms:editable
      name='ccdb_remarks'
      label='Further remarks'
      desc=''
      type='textarea'
      />
      
   <cms:editable name='row7' type='row' label='Files - .pdf' collapsed='1'>
   
      <cms:editable
         name='ccdb_files_nr'
         label='Nr of available files'
         desc=""
         opt_values='0|1|2|3|4'
         opt_selected='0'
         type='radio'
         order='-10'
         />
         
      <cms:editable
         name='ccdb_file1_title'
         label='Title of file 1'
         desc=''
         type='text'
         class='col-xs-12'
         />
      
      <cms:editable
         name='ccdb_file1'
         label='Downloadable File 1'
         desc='Upload the file here'
         allowed_ext='pdf'
         max_size='4096'
         type='securefile'
         class='col-xs-12'
         />
         
      <cms:editable
         name='ccdb_file2_title'
         label='Title of file 2'
         desc=''
         type='text'
         class='col-xs-12'
         />
      
      <cms:editable
         name='ccdb_file2'
         label='Downloadable File 2'
         desc='Upload the file here'
         allowed_ext='pdf'
         max_size='4096'
         type='securefile'
         class='col-xs-12'
         />
      
   </cms:editable>
   
   <cms:editable name='row8' type='row' label='Images - .jpg' collapsed='1'>
   
      <cms:editable
         name='ccdb_images_nr'
         label='Nr of available images'
         desc=""
         opt_values='0|1|2|3|4'
         opt_selected='0'
         type='radio'
         order='-10'
         />
      
      <cms:editable
         name='ccdb_image1_title'
         label='Title of Image 1'
         desc=''
         type='text'
         class='col-xs-12'
         />
      
      <cms:editable
         name='ccdb_image1'
         label='Image 1'
         allowed_ext='jpg, jpeg'
         max_size='2048'
         type='securefile'

         thumb_width='200'
         show_preview='1'
         use_thumb_for_preview='1'
         class='col-xs-12'
         />
         
      <cms:editable
         name='ccdb_image2_title'
         label='Title of Image 2'
         desc=''
         type='text'
         class='col-xs-12'
         />
      
      <cms:editable
         name='ccdb_image2'
         label='Image 2'
         allowed_ext='jpg, jpeg'
         max_size='2048'
         type='securefile'

         thumb_width='200'
         show_preview='1'
         use_thumb_for_preview='1'
         class='col-xs-12'
         />
      
   </cms:editable>

</cms:editable>
Apparently securefiles don't like too many <cms:db_persist_form />'s . The first one was not necessary anyhow. Duplicating then the other variables into each persist of the different actions did the trick - although I was sure I had the same setup already... but it's working now!
6 posts Page 1 of 1