From 14e951863ca05b73a8457b8251a6e539d6026530 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Tue, 22 May 2007 21:47:13 +0000 Subject: [PATCH] fix: survey in response driven mode sometimes won't terminate correctly --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Wobject/Survey.pm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index c0f5c86f7..be319054c 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -26,6 +26,7 @@ http://www.plainblack.com/bugs/tracker/webgui-hangs-on-package-export - fix: spectre fails on Admin.pm because of env_proxy http://www.plainblack.com/bugs/tracker/spectre-fails-on-admin.pm-because-of-env_proxy + - fix: survey in response driven mode sometimes won't terminate correctly 7.3.17 diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index 2cb2b2e90..bc9691420 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -485,7 +485,7 @@ sub getResponseDrivenQuestionIds { ($questionId) = $self->session->db->quickArray("select gotoQuestion from Survey_question where Survey_questionId=".$self->session->db->quote($previousResponse->{Survey_questionId})); } - unless ($questionId) { # terminate survey + if (!$questionId || $questionId eq '-1') { # terminate survey $self->completeResponse($responseId); return (); } @@ -689,8 +689,8 @@ sub view { if ($var->{'questions.soFar.count'} > 0) { $var->{'questions.correct.percent'} = round(($var->{'questions.correct.count'}/$var->{'questions.soFar.count'})*100) } - $var->{'response.isComplete'} = $self->responseIsComplete($var->{'response.Id'}); $var->{question_loop} = $self->getQuestionsLoop($var->{'response.Id'}); + $var->{'response.isComplete'} = $self->responseIsComplete($var->{'response.Id'}); } } $var->{'form.header'} = WebGUI::Form::formHeader($self->session,{action=>$self->getUrl})