Relationship Graph View Issue Dependency Graph
related to child of duplicate of

View Issue Details

IDProjectCategoryView StatusLast Update
14955Bug reports[All Projects] Conditionspublic2019-06-13 13:34
ReportergabrieljenikAssigned To 
PrioritynoneSeveritymajor 
Status newResolutionopen 
Product Version3.15.x 
Target VersionFixed in Version 
Summary14955: Question relevance is not reassessed after group is shown
Description

Sample Survey Structure:

GA - Always shown
QA1 - Always shown
QA2 - Always shown
GB - Shown if QA2 > 1
QB1 - Shown if QA1 > 1

As how the questions are answered (ordered), GB will be shown after QA2 is answered.
QB1 is expected to be shown, but its not.

Additional Information

I have debugged and seen that its relevance is not evaluated when QA1 is answered as its group not shown at that time.
Suggestion: Revealuate questions' relevance when its parent group is shown.

TagsNo tags attached.
Complete LimeSurvey version number (& build)Version 3.15.9+190214
I will donate to the project if issue is resolvedNo
Browser
Database & DB-VersionMysql
Server OS (if known)
Webserver software & version (if known)
PHP Version7

Activities

DenisChenu

DenisChenu

2019-05-30 14:16

developer   ~52250

I think it's already resolved in 3.17 : Please send a sample lss

https://github.com/LimeSurvey/LimeSurvey/blob/c058ddae78ef5c4ae95e9531a1aa8a9aaa7a2265/docs/release_notes.txt#L294
https://github.com/LimeSurvey/LimeSurvey/commit/24b57b56847d205fd42d3171a1955420a1576979

gabrieljenik

gabrieljenik

2019-06-02 15:26

partner  

limesurvey_survey_126764.lss (15,718 bytes)
gabrieljenik

gabrieljenik

2019-06-02 15:26

partner   ~52264

Please find attached sample.
Retested with Version 3.17.4+190529

I saw the github change.
I believe the relevance of child questions should be reevaluated when its group is shown (relevance: on).
At least, i believve that's the issue here.

Thanks!

DenisChenu

DenisChenu

2019-06-02 17:41

developer   ~52265

Yes, confirm the issue … it's not the same but is near https://bugs.limesurvey.org/view.php?id=14467 … meaning : order of expression have an importance .

I mean : the function to hide/show Question happen before the function hide/show group …

Can be fixed adding group relevance to question .

Or to check all condition when group appear …

There are surely othis issue with such things like that:

G2Q1 : Show G2Q2 (Yes/No) Default value to Y
G2Q2 : relevance set to G2Q1 == "Y" (must be shown by default)

DenisChenu

DenisChenu

2019-06-02 17:47

developer   ~52266

PS : seems there are a «start point of checking for All in one survey» here : https://github.com/LimeSurvey/LimeSurvey/blob/5ff4910ea13e97a057bd6ab784b1ab1902ffe622/application/helpers/expressions/em_manager_helper.php#L7824-L7826

But like the other : only for equation …

DenisChenu

DenisChenu

2019-06-02 17:51

developer   ~52267

Ou … better solution :

When checking of question must be shown : current JS test relevanceOfQuestion && relevanceOfGroup BUT : it muts test only relevanceOfQuestion because we can show question inside a hidden group

But : it seems to be …

if ((LEMval('showQuestion.NAOK')  == 'Y'))
{
  $('#question10967').trigger('relevance:on');
  relChange10967=true;
  $('#relevance10967').val('1');
}
else {
  $('#question10967').trigger('relevance:off');
  if ($('#relevance10967').val()=='1') { relChange10967=true; }
  $('#relevance10967').val('0');
}
gabrieljenik

gabrieljenik

2019-06-03 21:00

partner   ~52282

Not sure if I should reply something.
I think I agree with you :)

As per this line:

$('#relevance10967').val('1');

Not sure why is that set

DenisChenu

DenisChenu

2019-06-04 09:50

developer   ~52285

#relevance10967 is used to check QCODE.relevanceStatus , if it's 0 : QCODE.NAOK send null in all condition.

In fact : checking group.relevance && question.relevance is needed if the question is used in another question …

Recheck all question relevance when a group is shown can be done BUT :
JS relevance system is linked to an update of another question : https://github.com/LimeSurvey/LimeSurvey/blob/5ff4910ea13e97a057bd6ab784b1ab1902ffe622/application/helpers/expressions/em_manager_helper.php#L7839-L7840 (sgqa)

This is needed to check if sgqa is used in this function …

Else : you get JS loop : https://bugs.limesurvey.org/view.php?id=14958

Issue History

Date Modified Username Field Change
2019-05-29 18:28 gabrieljenik New Issue
2019-05-30 14:16 DenisChenu Note Added: 52250
2019-05-30 14:16 DenisChenu Relationship added related to 14467
2019-05-30 14:16 DenisChenu Relationship added related to 14465
2019-06-02 15:26 gabrieljenik File Added: limesurvey_survey_126764.lss
2019-06-02 15:26 gabrieljenik Note Added: 52264
2019-06-02 17:41 DenisChenu Note Added: 52265
2019-06-02 17:47 DenisChenu Note Added: 52266
2019-06-02 17:51 DenisChenu Note Added: 52267
2019-06-03 21:00 gabrieljenik Note Added: 52282
2019-06-04 09:50 DenisChenu Note Added: 52285