diff --git a/CHANGELOG b/CHANGELOG index 93dc3425..4f2371b0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -52,8 +52,8 @@ WHERE 1; DROP TABLE `sessions2`; /* Add sort order feature to questionnaire sample table */ -ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '0'; -UPDATE `questionnaire_sample` SET sort_order = sample_import_id; +/* after update just open "Assign & Sort questionnaire samples" admin page (assignsample.php) and set required sort_order*/ +ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '1'; /* Add default outcomes feature */ @@ -70,6 +70,14 @@ ALTER TABLE `questionnaire` ADD `outcomes` VARCHAR(256) NULL DEFAULT '1,2,3,7,9, UPDATE `questionnaire` SET `outcomes` = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,40,41,42,43,44,45' ; +!!-- IMPORTANT --!! +If you had more than 1 sample assigned to a questionaire before "samplesort" update, you'll need to have different sort_order values (llike 0,1,2 e.t.c.)for each sample per questionnaire to make "samplesort" feature work. + +Easy way: unassign samples from quesionnaires (no more than 1 could be left per questionnaire) and reassign them back. + +Check that you have different "Sort order" values for each sample per questionnaire, test order change with up/down arrows. +!! + queXS 1.13.1 - Changes since 1.13.0 Fixed Bug: Remove references to old DEFAULT_TIME_ZONE config constant (use get_settings instead) diff --git a/admin/assignsample.php b/admin/assignsample.php index 7d9eaa94..7ad615d9 100644 --- a/admin/assignsample.php +++ b/admin/assignsample.php @@ -93,11 +93,8 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET[' $an = 0; if (isset($_GET['allownew'])) $an = 1; - $sql = "SELECT MAX(sort_order) + 1 - FROM questionnaire_sample - WHERE questionnaire_id = '$questionnaire_id'"; - - $so = $db->GetOne($sql); + $sql = "SELECT MAX(sort_order) + 1 FROM questionnaire_sample"; + if(!$so = $db->GetOne($sql)) $so = 1; $sql = "INSERT INTO questionnaire_sample(questionnaire_id,sample_import_id,call_max,call_attempt_max,random_select,answering_machine_messages,allow_new,sort_order) VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am', '$an', '$so')"; @@ -191,15 +188,15 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) if (isset($_GET['edit'])) { $subtitle = T_("Edit assignment parameters"); - xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js") + xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle); $sql = "SELECT si.description as description, qr.description as qdescription, q.call_max, q.call_attempt_max, q.random_select, - q.answering_machine_messages, - q.allow_new + q.answering_machine_messages, + q.allow_new FROM questionnaire_sample as q, sample_import as si, questionnaire as qr WHERE q.sample_import_id = si.sample_import_id AND q.questionnaire_id = '$questionnaire_id' @@ -210,9 +207,9 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) //print "