View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
16776 | Bug reports | Survey taking | public | 2020-10-22 14:39 | 2021-03-06 10:39 |
Reporter | Mazi | Assigned To | gabrieljenik | ||
Priority | none | Severity | block | ||
Status | closed | Resolution | fixed | ||
Product Version | 4.3.22 | ||||
Fixed in Version | 4.4.7 | ||||
Summary | 16776: Question index marks pages with fully answered questions as unanswered | ||||
Description | When answering all questions of page 1 at the attached sample survey and then clicking next, that groups is still makred as unanswered at the question index on page 2, see attached screenshot. | ||||
Steps To Reproduce | Import an dactivate the attached survey. | ||||
Additional Information | This is an URGENT issue for us since the customer wants to go live at the end of the month. I can reproduce the issue with shipped and custom template so it may not be a template issue but be related to the survey engine and marking pages as completed. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Bug heat | 6 | ||||
Complete LimeSurvey version number (& build) | Version 4.3.22+201019 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | Chrome | ||||
Database type & version | MySQL 5 | ||||
Server OS (if known) | Ubuntu 18 | ||||
Webserver software & version (if known) | Apache | ||||
PHP Version | 7.3 | ||||
@cdorin, can you have a look and if you can reproduce, maybe assign it to @gabrieljenik directly since he is also involved at this project? |
|
This is the code that checks if a SQ is unanswered.
A SQ is marked as unanswered if the question is null or blank. The question here is: blanks mean unanswered? Put in other words, @Mazi, when do you expect a question should be marked unanswered? |
|
Thanks for debugging this, @gabrieljenik. I think your question is difficult to answer. My first guess would be "a single answer at each row". But for other setup it could be for each column or for the whole question. Hard to tell. |
|
|
|
Correct, relevance/conditions. Usually there should be a difference between NULL and empty values at the DB. One of them was for indicating skipped questions the other for unanswered questions. |
|
I think that's being taken care: skipped questions shouldn't count as unanswered. |
|
Yes, I think assuming that for a multi choice question or even an array of checkboxes, we should not assume that every single checkbox has to be checked before we treat that question as answered. That would be a little too much. |
|
My opinion :
+1
+1 for multiple choice and multiple choice with comment |
|
I think we need to go to the roots:
From there:
From the code, I think "unaswered" means empty responses. |
|
Maybe : «if this question was mandatory it was invalid» This mean : all array answered, checkbox count > 1 . I don't know for checkbox with comment. |
|
Summing up yesterday's DEV meeting, most people recommend treating question as completed as follows: @c_schmitz, what do you think? Should it be implemented it like this? |
|
Not answered must follow mandatory rules … |
|
@Mazi, I missed yeterday's debate. Sorry.
I feel the current behaviour is OK as it is: Those checkboxes are marked as answered. A new example:
So, the dilema is: A non selected checkbox counts as answered? I think yes. |
|
@gabrieljenik, as for the diseases example: That looks correct. If a checkbox was checked the question should be treated as answered, otherwise not. We should NOT add any code to replace a checkbox by radio buttons with yes/no labels. That would be a huge change. |
|
Then : there are no issue finally ? |
|
THere still is an issue. For the array with checkboxes the question onyl gets treated as completed if ALL (!) checkboxes are checked. That's surely wrong. |
|
OK :) Array number + options checkbox : |
|
Actually I meant the other way arround. If non checkbox is checked, still, that should be treated as answered.
Agree. It was an example of how checkbox compares to radio button.
OK. Let me pickup on this specific part of the bug then. |
|
@DenisChenu @Mazi What if we add a new case type in this line? For Numeric Array question types with Checkbox layout, if is enough for mandatory, we flag it as answered. What do you think? I think this is the first part of a broader solution for other quesiton types, but let's start with this small change. |
|
@gabrieljenik : it seems it does that for multiple checkbox, then : yes : seems a good idea :) |
|
PR: https://github.com/LimeSurvey/LimeSurvey/pull/1652 I guess we all agree that code needs major refactroning, right? :) |
|
Like WHOLE ExpressionManager ;) |
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=30783 |
|
LimeSurvey: master 4f0bb4e3 2020-12-10 18:55 Committer: GitHub Details Diff |
Fixed issue 16776 question index marks pages with fully answered questions as unanswered (#1652) * Fixed issue 16776: Question index marks pages with fully answered questions as unanswered For Numeric Array question types with Checkbox layout, if is enough for mandatory, we flag it as answered. If not, we flag it as anunserwed. * Fixed issue 16776: Question index marks pages with fully answered questions as unanswered For Numeric Array question types with Checkbox layout, if is enough for mandatory, we flag it as answered. If not, we flag it as anunserwed. * Fixed issue 16776: Question index marks pages with fully answered questions as unanswered Dummy change to trigger travis |
Affected Issues 16776 |
|
mod - application/helpers/expressions/em_manager_helper.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-10-22 14:39 | Mazi | New Issue | |
2020-10-22 14:39 | Mazi | File Added: limesurvey_survey_698548-question-index-problem.lss | |
2020-10-22 14:39 | Mazi | File Added: index_error.png | |
2020-10-22 14:39 | Mazi | Note Added: 60363 | |
2020-10-23 19:02 | cdorin | Assigned To | => gabrieljenik |
2020-10-23 19:02 | cdorin | Status | new => assigned |
2020-10-27 14:29 | gabrieljenik | Note Added: 60425 | |
2020-10-27 14:42 | Mazi | Note Added: 60426 | |
2020-10-27 15:44 | gabrieljenik | Note Added: 60429 | |
2020-10-27 21:05 | Mazi | Note Added: 60431 | |
2020-10-27 23:42 | gabrieljenik | Note Added: 60432 | |
2020-10-28 08:32 | Mazi | Note Added: 60433 | |
2020-10-28 09:48 | DenisChenu | Note Added: 60434 | |
2020-10-28 09:48 | DenisChenu | Note Edited: 60434 | |
2020-10-28 13:45 | gabrieljenik | Note Added: 60442 | |
2020-10-28 14:27 | DenisChenu | Note Added: 60445 | |
2020-11-04 08:50 | Mazi | Note Added: 60528 | |
2020-11-04 09:03 | DenisChenu | Note Added: 60529 | |
2020-11-04 15:18 | gabrieljenik | Note Added: 60537 | |
2020-11-04 16:07 | Mazi | Note Added: 60539 | |
2020-11-04 16:10 | DenisChenu | Note Added: 60540 | |
2020-11-04 17:23 | Mazi | Note Added: 60543 | |
2020-11-04 18:42 | DenisChenu | Note Added: 60544 | |
2020-11-04 21:57 | gabrieljenik | Note Added: 60547 | |
2020-11-05 20:35 | gabrieljenik | Note Added: 60571 | |
2020-11-06 08:29 | DenisChenu | Note Added: 60575 | |
2020-11-12 15:25 | gabrieljenik | Note Added: 60625 | |
2020-11-12 15:29 | DenisChenu | Note Added: 60627 | |
2020-12-10 17:58 | gabrieljenik | Changeset attached | => LimeSurvey master 4f0bb4e3 |
2020-12-10 17:58 | gabrieljenik | Note Added: 60922 | |
2020-12-10 17:58 | gabrieljenik | Resolution | open => fixed |
2021-03-03 16:11 | ollehar | Status | assigned => closed |
2021-03-03 16:11 | ollehar | Fixed in Version | => 4.4.7 |
2021-03-06 10:39 | DenisChenu | Relationship added | related to 15892 |