Registration

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
08678Bug reports[All Projects] Survey designpublic2014-02-06 22:022016-08-25 16:18
ReporterJondays 
Assigned ToLouisGac 
PrioritynormalSeverityminor 
StatusresolvedResolutionfixed 
Product Version2.06+ 
Target VersionFixed in Version 
Summary08678: Using Expressions as default value for text fields questions when index is activated
DescriptionWhen using expressions as default values for text fields (to populate text box with answers from previous questions in previous groups), the expressions don't get filled.

For example, in question group 1, you answer Q1 to Q5. In Group 2 you have a question with a large text box. You set the default value as {Q1.shown}, {Q2.shown}, {Q3.shown}, {Q4.shown}, {Q5.shown}. When you run the survey, when you answer group 1, and then click next, you will see in text box: , , ,
withouth the expressions being replace by the answers (you get a blank)
Steps To ReproduceSee .lss file for a "working" example of the bug.

Create a group with your questions. In a second group, create a text field question. In the default value text box enter the expression (as above). Try the survey.

In the forum, tpartner suggested that this issue may be happening only one the index feature is enabled: http://www.limesurvey.org/en/forum/design-issues/95939-using-expressions-as-default-value-in-free-text-field#104721 [^]
Additional InformationThe attached dummy survey reproduces the error
Complete LimeSurvey version number (& build)Version 2.05+ Build 140204
I will donate to the project if issue is resolvedNo
BrowserChrome, IE, Firefox, all of them
Database & DB-VersionMySQL Server 5.1
Operating System (Server)Windows NT 6.1 build 7600 (Windows Server 2008 R2 Standard Edition) i586
Webserver software & versionWindows NT 6.1 build 7600 (Windows Server 2008 R2 Standard Edition) i586
PHP VersionPHP Version 5.4.14
Attached Files? file icon limesurvey_survey_465241.lss [^] (20,803 bytes) 2014-02-06 22:02

- Relationships

-  Notes
(28764)
c_schmitz (administrator)
2014-02-16 17:41

This only happens if the question index is set to full.
(40490)
LouisGac (developer)
2016-08-25 12:13

First impression:

var_dumping the session variable shows that the values of the previous questions are correctly saved (bot in question index full or disabled).
(40493)
LouisGac (developer)
2016-08-25 13:26

In SurveyRuntimeHelper::createFullQuestionIndexByGroup(), this snippet cause the bug:

$stepInfo = LimeExpressionManager::singleton()->_ValidateGroup($key);
(40495)
LouisGac (developer)
2016-08-25 14:37
edited on: 2016-08-25 14:37

after further investigation, the problem is deeper than it seemed:
Deactivating the question index partially solve the problem.

Even with no index:
1. Answer A to the first question on first page
2. Click next
3. In second page, A is shown (ok)
4. Click prev
5. Change your answer from A to B
6. Click next
7. A is still shown as the answer (wrong, should be B).

Maybe we should document about it, saying that for now, using expression should not be done in survey allowing "Previous" or "Index"

(40496)
LouisGac (developer)
2016-08-25 14:45

after a discussion with Carsten, it seems that the wanted behavior (default values is used only the first time)
(40497)
LouisGac (developer)
2016-08-25 15:15

So, here my bet:

the function _ValidateGroup is called at the very start of the survey, to build the menu. Doing it, it's saving the (empty) values of the answer to session, overriding the default values.

Possible solution:
Only apply _ValidateGroup to the previous group.
(40499)
LouisGac (developer)
2016-08-25 15:40

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=20241 [^]

- Related Changesets
LimeSurvey: master 44cbdd16
Timestamp: 2016-08-25 13:40:09
Author: LouisGac
Committer: LouisGac
Details ] Diff ]
Fixed issue 08678: Using Expressions as default value for text fields questions when index is activated
mod - application/helpers/SurveyRuntimeHelper.php Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-02-06 22:02 Jondays New Issue
2014-02-06 22:02 Jondays File Added: limesurvey_survey_465241.lss
2014-02-16 17:37 c_schmitz Assigned To => c_schmitz
2014-02-16 17:37 c_schmitz Status new => assigned
2014-02-16 17:40 c_schmitz Assigned To c_schmitz => sammousa
2014-02-16 17:41 c_schmitz Note Added: 28764
2016-01-20 11:00 sammousa Assigned To sammousa =>
2016-01-21 09:09 DenisChenu Status assigned => new
2016-03-15 11:33 LouisGac Product Version => 2.06+
2016-08-25 11:43 LouisGac Sticky Issue No => Yes
2016-08-25 12:13 LouisGac Note Added: 40490
2016-08-25 13:26 LouisGac Note Added: 40493
2016-08-25 14:37 LouisGac Note Added: 40495
2016-08-25 14:37 LouisGac Note Edited: 40495 View Revisions
2016-08-25 14:45 LouisGac Note Added: 40496
2016-08-25 15:15 LouisGac Note Added: 40497
2016-08-25 15:40 LouisGac Changeset attached => LimeSurvey master 44cbdd16
2016-08-25 15:40 LouisGac Note Added: 40499
2016-08-25 15:40 LouisGac Assigned To => LouisGac
2016-08-25 15:40 LouisGac Resolution open => fixed
2016-08-25 16:18 LouisGac Status new => resolved


Copyright © 2000 - 2016 MantisBT Team
Powered by Mantis Bugtracker