From f71bb07faf76d9235b333ed07715e6a5c98ccd3b Mon Sep 17 00:00:00 2001 From: Olle Haerstedt Date: Tue, 24 Apr 2018 10:43:09 +0200 Subject: [PATCH] Fixed issue #13590: Check data integrity shows 'errorneous question group order' for all surveys --- application/controllers/admin/checkintegrity.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/application/controllers/admin/checkintegrity.php b/application/controllers/admin/checkintegrity.php index 3fe1749a998..84043602e27 100644 --- a/application/controllers/admin/checkintegrity.php +++ b/application/controllers/admin/checkintegrity.php @@ -861,11 +861,12 @@ protected function checkGroupOrderDuplicates() { $sQuery = " SELECT - sid - FROM - {{groups}} - GROUP BY sid - HAVING COUNT(DISTINCT group_order) != COUNT(gid)"; + g.sid + FROM {{groups}} g + JOIN {{surveys}} s ON s.sid = g.sid + WHERE g.language = s.language + GROUP BY g.sid + HAVING COUNT(DISTINCT g.group_order) != COUNT(g.gid)"; $result = Yii::app()->db->createCommand($sQuery)->queryAll(); if (!empty($result)) { foreach ($result as &$survey) { @@ -894,6 +895,8 @@ protected function checkQuestionOrderDuplicates() q.parent_qid FROM {{questions}} q JOIN {{groups}} g ON q.gid = g.gid + JOIN {{surveys}} s ON s.sid = q.sid + WHERE q.language = s.language AND g.language = s.language GROUP BY q.sid, q.gid, q.parent_qid HAVING COUNT(DISTINCT question_order) != COUNT(qid); ";