diff --git a/admin/callhistory.php b/admin/callhistory.php index 5b300ab4..4da810b5 100644 --- a/admin/callhistory.php +++ b/admin/callhistory.php @@ -72,7 +72,7 @@ $operator_id = get_operator_id(); Modified Call history list to have more information more suitable way with filtering, soring, paging and submenu for Cse history with asterisk records.... Need to be linked with cdr records from asterisk!! for monitoring (requires addtional field for call_attempt table to request and store asterisk UniqueID as a reference to CDR .wav file list at /var/spool/asterisk/monitor/ ) */ - + if ($operator_id) { if (isset($_GET['questionnaire_id'])) $qid = $_GET['questionnaire_id']; @@ -85,9 +85,9 @@ if ($operator_id) $sql .= " as case_id, q.description as qd , contact_phone.phone as cpi, sample_import.description as spl FROM `call` as c - JOIN (operator as op, respondent as r) on (op.operator_id = '$operator_id' and r.respondent_id = c.respondent_id)"; - if ($qid) $quest = "$qid and q.questionnaire_id= $qid"; else $quest = "q.questionnaire_id"; - if ($sid) $samimpid = "$sid and sample_import.sample_import_id=$sid"; else $samimpid = "sample_import.sample_import_id"; + JOIN (operator as op, respondent as r) on (op.operator_id = '$operator_id' AND r.respondent_id = c.respondent_id)"; + if ($qid) $quest = "$qid AND q.questionnaire_id= $qid"; else $quest = "q.questionnaire_id"; + if ($sid) $samimpid = "$sid AND sample_import.sample_import_id=$sid"; else $samimpid = "sample_import.sample_import_id"; $sql .= " JOIN (`case` as ca, questionnaire as q) ON (ca.case_id = c.case_id AND ca.questionnaire_id = $quest) @@ -102,11 +102,10 @@ if ($operator_id) $sql .= " LIMIT 500"; else $sql .= " LIMIT 5000"; - $rs = $db->Execute($sql); - + $rs = $db->Execute($sql); if (empty($rs)) { - print "
" . T_("No calls ever made") . "
"; + print "

" . T_("No calls ever made") . "

"; } else { @@ -131,16 +130,24 @@ if ($operator_id) } exit; - } + } else { - $rs = $rs->GetArray(); - translate_array($rs,array("des")); xhtml_head(T_("Call History List"),true,$css,$js_head); + echo "
 " . T_("Go back") . "
"; - $datacol = array("start_date", "start_time","end","case_id","qd","spl","cpi","opname","descr","casenotes","firstName"); - $headers = array(T_("Date"), T_("Start time"), T_("End time"),T_("Case ID"),T_("Questionnaire"),T_("Sample"),T_("Phone number"),T_("Operator"),T_("Outcome"),T_("Case notes"),T_("Respondent")); + $rs = $rs->GetArray(); + if (count($rs) ==0) + { + print "

" . T_("NO Call history records for Your query") . "

"; + } + else + { + translate_array($rs,array("des")); + + $datacol = array("start_date", "start_time","end","case_id","qd","spl","cpi","opname","descr","casenotes","firstName"); + $headers = array(T_("Date"), T_("Start time"), T_("End time"),T_("Case ID"),T_("Questionnaire"),T_("Sample"),T_("Phone number"),T_("Operator"),T_("Outcome"),T_("Case notes"),T_("Respondent")); if (isset($_GET['questionnaire_id'])){ $sql = "SELECT description FROM `questionnaire` WHERE `questionnaire_id` = $qid "; @@ -154,9 +161,12 @@ if ($operator_id) print "

" . T_("Sample") . " ID: $sid " . $ds . "

"; unset($datacol[5]); unset($headers[5]); } - print " " . T_("Download Call History List") . ""; + print "  " . T_("Download Call History List") . " + "; // " . T_("Go to Call History Report") . "  + + xhtml_table($rs,$datacol,$headers,"tclass",false,false,"bs-table"); - xhtml_table($rs,$datacol,$headers,"tclass",false,false,"bs-table"); + } } } } diff --git a/admin/casestatus.php b/admin/casestatus.php index 084ff1f2..2b319303 100644 --- a/admin/casestatus.php +++ b/admin/casestatus.php @@ -78,14 +78,14 @@ function case_status_report($questionnaire_id = false, $sample_id = false, $outc $sql = "SELECT CONCAT('', c.case_id, '') as case_id, o.description as outcomes, - si.description as samples, s.Time_zone_name as timezone, (SELECT COUNT(*) FROM `call` WHERE `call`.case_id = c.case_id) as nrcalls, (SELECT COUNT(*) FROM call_attempt WHERE call_attempt.case_id = c.case_id) as nrattempts, + si.description as samples, s.Time_zone_name as timezone, TIME_FORMAT(CONVERT_TZ(NOW(),@@session.time_zone,s.Time_zone_name),'". TIME_FORMAT ."') as time, (SELECT COUNT(*) FROM `call` WHERE `call`.case_id = c.case_id) as nrcalls, (SELECT COUNT(*) FROM call_attempt WHERE call_attempt.case_id = c.case_id) as nrattempts, CASE WHEN ca.end IS NULL THEN '" . TQ_("Available") . "' WHEN TIME_TO_SEC(TIMEDIFF(ca.end,CONVERT_TZ(DATE_SUB(NOW(), INTERVAL co.default_delay_minutes MINUTE),'System','UTC'))) < 0 THEN '" . TQ_("Available") . "' ELSE CONCAT(ROUND(TIME_TO_SEC(TIMEDIFF(ca.end,CONVERT_TZ(DATE_SUB(NOW(), INTERVAL co.default_delay_minutes MINUTE),'System','UTC'))) / 60),' " . TQ_("minutes") . "') END AS availableinmin, CASE WHEN oq.operator_id IS NULL THEN CONCAT('') - ELSE CONCAT('', oq.firstName,' ',oq.lastname,'') + ELSE CONCAT('', oq.firstName,' ',oq.lastName,'') END AS assignedoperator, CASE WHEN oq.operator_id IS NULL THEN CONCAT('') @@ -112,7 +112,12 @@ function case_status_report($questionnaire_id = false, $sample_id = false, $outc print ("
"); - xhtml_table($db->GetAll($sql),array('case_id','samples','timezone','nrattempts','nrcalls','outcomes','availableinmin','assignedoperator','ordr','flag'),array(T_("Case id"),T_("Sample"),T_("Timezone"),T_("Call attempts"),T_("Calls"),T_("Outcome"),T_("Available in"),T_("Assigned to"),T_("Order"),""), "tclass",false,false,"bs-table"); + $datacol = array('case_id','samples','timezone','time','nrattempts','nrcalls','outcomes','availableinmin','assignedoperator','ordr','flag'); + $headers = array(T_("Case id"),T_("Sample"),T_("Timezone"),T_("Time NOW"),T_("Call attempts"),T_("Calls"),T_("Outcome"),T_("Available in"),T_("Assigned to"),T_("Order"),""); + + if (isset($_GET['sample_import_id'])){ unset($datacol[1]); unset($headers[1]); } + + xhtml_table($db->GetAll($sql),$datacol,$headers,"tclass",false,false,"bs-table"); $sql = "SELECT operator_id as value,CONCAT(firstName,' ', lastName) as description, '' selected FROM operator @@ -225,13 +230,16 @@ $outcome_id = false; print "

" . T_("Questionnaire") . ":

"; display_questionnaire_chooser($questionnaire_id, false, "pull-left", "form-control"); -print "

" . T_("Sample") . ":

"; -display_sample_chooser($questionnaire_id,$sample_import_id,false, "pull-left", "form-control"); -print "
-
"; -if ($questionnaire_id) - case_status_report($questionnaire_id,$sample_import_id,$outcome_id); + +if ($questionnaire_id){ + print "

" . T_("Sample") . ":

"; + display_sample_chooser($questionnaire_id,$sample_import_id,false, "pull-left", "form-control"); + print " +
"; + + case_status_report($questionnaire_id,$sample_import_id,$outcome_id); +} xhtml_foot($js_foot); ?>