diff --git a/application/controllers/survey/index.php b/application/controllers/survey/index.php index 76008b58bbd..03c3096400d 100644 --- a/application/controllers/survey/index.php +++ b/application/controllers/survey/index.php @@ -210,12 +210,14 @@ public function action() unset($clienttoken); } - /* Reset session if survey is set to finished in all condition issue #18585 */ - if ($this->isSurveyFinished($surveyid)) { + // No test for response update + if ($this->isSurveyFinished($surveyid) && ($thissurvey['alloweditaftercompletion'] != 'Y' || $thissurvey['tokenanswerspersistence'] != 'Y')) { $aReloadUrlParam = array('lang' => App()->language, 'newtest' => 'Y'); + if (!empty($clienttoken)) { $aReloadUrlParam['token'] = $clienttoken; } + $aErrors = array(gT('Previous session is set to be finished.')); $aMessage = array(gT('Your browser reports that it was used previously to answer this survey. We are resetting the session so that you can start from the beginning.'),); $aUrl = array(