diff --git a/admin/assignsample.php b/admin/assignsample.php
index a4ce3bda..cc0268f0 100644
--- a/admin/assignsample.php
+++ b/admin/assignsample.php
@@ -137,11 +137,44 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET['
foreach($rs as $r)
{
- set_time_limit(30);
+ $count++;
+ set_time_limit(30);
+ //only if a valid email
if (validate_email($r['email'])) {
- if (add_case($r['sample_id'],$questionnaire_id,"NULL",$testing,41, $addsample) === false) {
- $error = "Could not add case - please ensure there enough additional attributes available in your Limesurvey participant table";
- break;
+ $case_id = add_case($r['sample_id'],$questionnaire_id,"NULL",$testing,41, $addsample);
+ if ($case_id === false) {
+ $error .= "Could not add case - please ensure there enough additional attributes available in your Limesurvey participant table";
+ $error .= "
Failed to add case for record #$count";
+ } else {
+ //add call and call attempt records
+ $resp_id = 0;
+
+ $sql = "SELECT respondent_id
+ FROM respondent
+ WHERE case_id = $case_id";
+ $rsp = $db->GetOne($sql);
+
+ if (!empty($rsp)) {
+ $resp_id = $rsp;
+ }
+
+ $sql = "INSERT INTO call_attempt (case_id,operator_id,respondent_id,start,end)
+ VALUES ($case_id, 1, $resp_id, NOW(), NOW())";
+ $db->Execute($sql);
+
+ $call_attempt_id = $db->Insert_ID();
+
+ $sql = "INSERT INTO `call` (operator_id,respondent_id,case_id,contact_phone_id,call_attempt_id,start,end,outcome_id,state)
+ VALUES (1,$resp_id,$case_id,0,$call_attempt_id,NOW(),NOW(),41,5)";
+ $db->Execute($sql);
+
+ $call_id = $db->Insert_ID();
+
+ $sql = "UPDATE `case`
+ SET last_call_id = $call_id
+ WHERE case_id = $case_id";
+
+ $db->Execute($sql);
}
}
}
diff --git a/admin/samplesearch.php b/admin/samplesearch.php
index c8a87431..017d6d29 100644
--- a/admin/samplesearch.php
+++ b/admin/samplesearch.php
@@ -138,6 +138,24 @@ if (isset($_GET['sample_id']))
print "
" . T_("Sample ID") . " " . $sample_id . " " . T_("Deleted") . ".
" . T_("Added") . " " . $cases . " " . T_("Cases") . ".