From 530e431314ff43daa54313c97ce82f4ac1dce1c4 Mon Sep 17 00:00:00 2001 From: Adam Zammit Date: Tue, 18 Jun 2013 14:39:27 +1000 Subject: [PATCH] Allow for editing of assigned sample details --- admin/assignsample.php | 103 +++++++++++++++++++++++++++++++++++------ 1 file changed, 88 insertions(+), 15 deletions(-) diff --git a/admin/assignsample.php b/admin/assignsample.php index 5967a8e7..679039bd 100644 --- a/admin/assignsample.php +++ b/admin/assignsample.php @@ -78,14 +78,24 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET[' } -if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) +if (isset($_POST['edit'])) { - //need to remove rsid from questionnaire + //need to add sample to questionnaire - $questionnaire_id = bigintval($_GET['questionnaire_id']); - $sid = bigintval($_GET['rsid']); + $questionnaire_id = bigintval($_POST['questionnaire_id']); + $sid = bigintval($_POST['sample_import_id']); + $cm = bigintval($_POST['call_max']); + $cam = bigintval($_POST['call_attempt_max']); + $am = bigintval($_POST['answering_machine_messages']); + $selecttype = 0; + if (isset($_POST['selecttype'])) $selecttype = 1; - $sql = "DELETE FROM questionnaire_sample + + $sql = "UPDATE questionnaire_sample + SET call_max = '$cm', + call_attempt_max = '$cam', + random_select = '$selecttype', + answering_machine_messages = '$am' WHERE questionnaire_id = '$questionnaire_id' AND sample_import_id = '$sid'"; @@ -94,10 +104,70 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) } + +if (isset($_GET['questionnaire_id']) && isset($_GET['rsid'])) +{ + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $sid = bigintval($_GET['rsid']); + + if (isset($_GET['edit'])) + { + xhtml_head(T_("Assign Sample: Select sample to assign"),true,array("../css/table.css"),array("../js/window.js")); + + $sql = "SELECT si.description as description, + qr.description as qdescription, + q.call_max, + q.call_attempt_max, + q.random_select, + q.answering_machine_messages + 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' + AND si.sample_import_id = '$sid' + AND qr.questionnaire_id = q.questionnaire_id"; + + $qs = $db->GetRow($sql); + + print "

" . T_("Edit sample details") . "

"; + print "

" . T_("Questionnaire") . ": " . $qs['qdescription'] . "

"; + print "

" . T_("Sample") . ": " . $qs['description'] . "

"; + + print "

" . T_("Go back") . "

"; + + $selected =""; + if ($qs['random_select'] == 1) + $selected = "checked=\"checked\""; + + ?> +
+
+
+
+ />
+ + + "/>

+
+ Execute($sql); + } +} + + $questionnaire_id = false; if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); -xhtml_head(T_("Assign Sample: Select sample to assign"),true,false,array("../js/window.js")); +xhtml_head(T_("Assign Sample: Select sample to assign"),true,array("../css/table.css"),array("../js/window.js")); print "

" . T_("Select a questionnaire from the list below") . "

"; display_questionnaire_chooser($questionnaire_id); @@ -106,20 +176,23 @@ if ($questionnaire_id != false) { print "

" . T_("Samples selected for this questionnaire") . "

"; - $sql = "SELECT q.sample_import_id as sample_import_id,si.description as description, q.call_max, q.call_attempt_max, q.random_select + $sql = "SELECT si.description as description, + CASE WHEN q.call_max = 0 THEN '" . T_("Unlimited") . "' ELSE q.call_max END as call_max, + CASE WHEN q.call_attempt_max = 0 THEN '" . T_("Unlimited") . "' ELSE q.call_attempt_max END AS call_attempt_max, + CASE WHEN q.random_select = 0 THEN '" . T_("Sequential") . "' ELSE '". T_("Random") . "' END as random_select, + CASE WHEN q.answering_machine_messages = 0 THEN '" . T_("Never") . "' ELSE q.answering_machine_messages END as answering_machine_messages, + CONCAT('" . T_("Edit") ."') as edit, + CONCAT('" . T_("Click to unassign") ."') as unassign FROM questionnaire_sample as q, sample_import as si WHERE q.sample_import_id = si.sample_import_id AND q.questionnaire_id = '$questionnaire_id'"; $qs = $db->GetAll($sql); - foreach($qs as $q) - { - if ($q['random_select'] == 0) $rs = T_("Sequentially selected"); - else $rs = T_("Randomly selected"); - print "

{$q['sample_import_id']} - {$q['description']}: " . T_("Max calls:") . " {$q['call_max']} " . T_("Max call attempts:") . " {$q['call_attempt_max']} $rs (" . T_("Click to unassign") . ")

"; - } - + if (!empty($qs)) + xhtml_table($qs,array("description","call_max","call_attempt_max","answering_machine_messages","random_select","edit","unassign"),array(T_("Sample"), T_("Max calls"), T_("Max call attempts"), T_("Answering machine messages"), T_("Selection type"), T_("Edit"), T_("Unassign sample") )); + else + print "

" . T_("No samples selected for this questionnaire") . "

"; $sql = "SELECT si.sample_import_id,si.description FROM sample_import as si @@ -151,7 +224,7 @@ if ($questionnaire_id != false)

-

+ "/>