Resume later on anonymous surveys

More
4 years 2 months ago #99194 by DeveloperChris
DeveloperChris created the topic: Resume later on anonymous surveys
Hi

I have put together a survey where the requirement is for anonymity but also to be able to resume later

when completing the survey there is a "resume later button". When filled out there is NO confirmation that the survey was saved. It simply returns you to the survey. This is confusing.

If someone tries to save it twice an error is generated even when using different credential
"Internal Server Error
The active record cannot be inserted to database because it is not new.
An internal error occurred while the Web server was processing your request. Please contact the webmaster to report this problem.
Thank you. "

After saving a survey you cannot return to it to resume

There is no "load saved survey button" so no one can restart a saved survey. Obviously this is a problem no one can resume a survey. Also if you come back to the survey on the same computer it automatically restarts the same survey. This could be a problem on shared computers.


As far as the resume goes. am I doing something wrong? perhaps a missing element in the template?
This is all I can see...
      <td class="save-all">
            {SAVE}
        </td>

I assume the internal error is a bug. I'll report it if I cannot resolve it.

I guess this question has 3 parts to it
  1. No "saved message"
  2. Unable to resume previously saved survey
  3. saving twice causes an server error
Version 2.00+ Build 130708

Please Log in to join the conversation.

More
4 years 2 months ago #99219 by DeveloperChris
DeveloperChris replied the topic: Resume later on anonymous surveys
One problem resolved


You MUST have the welcome page active if you want people to be able to load an unfinished survey

Because our surveys are branching from another survey I had the welcome screen disabled.

Is there a way to enable the load unfinished survey on other screens as part of the navigation? I don't mind hacking the core this is a very specific survey and must work as requested.

Please Log in to join the conversation.

More
4 years 2 months ago - 4 years 2 months ago #99222 by DeveloperChris
DeveloperChris replied the topic: Resume later on anonymous surveys
If anyone else needs a fix so users can load an existing survey but there is no welcome page...

The following is a diff of replacements_helper.php this is the file that needs to be edited
diff --git a/public_html/application/helpers/replacements_helper.php b/public_html/application/helpers/replacements_helper.php
index 601da2e..fd51625 100644
--- a/public_html/application/helpers/replacements_helper.php
+++ b/public_html/application/helpers/replacements_helper.php
@@ -472,7 +472,9 @@ function templatereplace($line, $replacements = array(), &$redata = array(), $de
         }
         else
         {
-            $_saveall = "<input type='button' name='saveallbtn' value='" . $clang->gT("Resume later") . "' class='saveall' onclick=\"javascript:document.limesurvey.move.value = this.value;addHiddenField(document.getElementById('limesurvey'),'saveall',this.value);document.getElementById('limesurvey').submit();\" " . (($thissurvey['active'] != "Y") ? "disabled='disabled'" : "") . "/>";  // Show Save So Far button
+                $_saveall = "\t\t\t<input type='button' name='loadall' value='" . $clang->gT("Load unfinished survey") . "' class='saveall' onclick=\"javascript:addHiddenField(document.getElementById('limesurvey'),'loadall',this.value);document.getElementById('limesurvey').submit();\" " . (($thissurvey['active'] != "Y") ? "disabled='disabled'" : "") . "/>"
+                . "\n\t\t\t<input type='button' name='saveallbtn' value='" . $clang->gT("Resume later") . "' class='saveall' onclick=\"javascript:document.limesurvey.move.value = this.value;addHiddenField(document.getElementById('limesurvey'),'saveall',this.value);document.getElementById('limesurvey').submit();\" " . (($thissurvey['active'] != "Y") ? "disabled='disabled'" : "") . "/>";  // Show Save So Far button
+//            $_saveall = "<input type='button' name='saveallbtn' value='" . $clang->gT("Resume later") . "' class='saveall' onclick=\"javascript:document.limesurvey.move.value = this.value;addHiddenField(document.getElementById('limesurvey'),'saveall',this.value);document.getElementById('limesurvey').submit();\" " . (($thissurvey['active'] != "Y") ? "disabled='disabled'" : "") . "/>";  // Show Save So Far button
         }
     }
     else
@@ -584,7 +586,7 @@ function templatereplace($line, $replacements = array(), &$redata = array(), $de
     }
     $_saveform .= "' /></td></tr>\n";
     if ( isset($thissurvey['usecaptcha']) && function_exists("ImageCreate") && isCaptchaEnabled('saveandloadscreen', $thissurvey['usecaptcha']))
-    {                                                                                                                                                                                                     
+    {
         $_saveform .="<tr><td align='right'>" . $clang->gT("Security question") . ":</td><td><table><tr><td valign='middle'><img src='".Yii::app()->getController()->createUrl('/verification/image/sid/'.((isset($surveyid)) ? $surveyid : ''))."' alt6='' /></td><td valign='middle' style='text-align:left'><input type='text' size='5' maxlength='3' name='loadsecurity' value='' /></td></tr></table></td></tr>\n";
     }
     $_saveform .= "<tr><td align='right'></td><td></td></tr>\n"
Last Edit: 4 years 2 months ago by DeveloperChris. Reason: formatting

Please Log in to join the conversation.

More
4 years 2 months ago #99229 by DenisChenu
DenisChenu replied the topic: Resume later on anonymous surveys
Hi,

Great,

You can :
- Put the bug report
- Pull request on GitHub

Please, remind : LimeSurvey is a Free Software, and become what user do. Lot of devlopper (me) are not retributed when contribute to LimeSurvey.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!