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)
-
+ "/>