mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
updates, small improvemnts
This commit is contained in:
@@ -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....
|
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/ )
|
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 ($operator_id)
|
||||||
{
|
{
|
||||||
if (isset($_GET['questionnaire_id'])) $qid = $_GET['questionnaire_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
|
$sql .= " as case_id, q.description as qd , contact_phone.phone as cpi, sample_import.description as spl
|
||||||
FROM `call` as c
|
FROM `call` as c
|
||||||
JOIN (operator as op, respondent as r) on (op.operator_id = '$operator_id' and r.respondent_id = c.respondent_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 ($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";
|
if ($sid) $samimpid = "$sid AND sample_import.sample_import_id=$sid"; else $samimpid = "sample_import.sample_import_id";
|
||||||
|
|
||||||
$sql .= "
|
$sql .= "
|
||||||
JOIN (`case` as ca, questionnaire as q) ON (ca.case_id = c.case_id AND ca.questionnaire_id = $quest)
|
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";
|
$sql .= " LIMIT 500";
|
||||||
else $sql .= " LIMIT 5000";
|
else $sql .= " LIMIT 5000";
|
||||||
|
|
||||||
$rs = $db->Execute($sql);
|
$rs = $db->Execute($sql);
|
||||||
|
|
||||||
if (empty($rs))
|
if (empty($rs))
|
||||||
{
|
{
|
||||||
print "<div class='alert alert-warning col-sm-6'>" . T_("No calls ever made") . "</div>";
|
print "<div class='alert alert-warning col-sm-6'><p>" . T_("No calls ever made") . "</p></div>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -131,16 +130,24 @@ if ($operator_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$rs = $rs->GetArray();
|
|
||||||
translate_array($rs,array("des"));
|
|
||||||
xhtml_head(T_("Call History List"),true,$css,$js_head);
|
xhtml_head(T_("Call History List"),true,$css,$js_head);
|
||||||
|
|
||||||
echo "<div class='form-group col-sm-2'><a href='' onclick='history.back();return false;' class='btn btn-default'><i class='fa fa-chevron-left fa-lg text-primary'></i> " . T_("Go back") . "</a></div>";
|
echo "<div class='form-group col-sm-2'><a href='' onclick='history.back();return false;' class='btn btn-default'><i class='fa fa-chevron-left fa-lg text-primary'></i> " . T_("Go back") . "</a></div>";
|
||||||
|
|
||||||
$datacol = array("start_date", "start_time","end","case_id","qd","spl","cpi","opname","descr","casenotes","firstName");
|
$rs = $rs->GetArray();
|
||||||
$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 (count($rs) ==0)
|
||||||
|
{
|
||||||
|
print "<div class='alert alert-info col-sm-6'><h3>" . T_("NO Call history records for Your query") . "</h3></div>";
|
||||||
|
}
|
||||||
|
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'])){
|
if (isset($_GET['questionnaire_id'])){
|
||||||
$sql = "SELECT description FROM `questionnaire` WHERE `questionnaire_id` = $qid ";
|
$sql = "SELECT description FROM `questionnaire` WHERE `questionnaire_id` = $qid ";
|
||||||
@@ -154,9 +161,12 @@ if ($operator_id)
|
|||||||
print "<h3><small>" . T_("Sample") . " ID: $sid</small> " . $ds . "</h3>";
|
print "<h3><small>" . T_("Sample") . " ID: $sid</small> " . $ds . "</h3>";
|
||||||
unset($datacol[5]); unset($headers[5]); }
|
unset($datacol[5]); unset($headers[5]); }
|
||||||
|
|
||||||
print "<a href='?csv=csv&questionnaire_id=$qid&dq=" . $dq . "&sample_import_id=$sid&ds=" . $ds . "' class='btn btn-default pull-right'><i class='fa fa-download fa-lg text-primary'></i> " . T_("Download Call History List") . "</a>";
|
print " <a href='?csv=csv&questionnaire_id=$qid&dq=" . $dq . "&sample_import_id=$sid&ds=" . $ds . "' class='btn btn-default pull-right'><i class='fa fa-download fa-lg text-primary'></i> " . T_("Download Call History List") . "</a>
|
||||||
|
"; //<a href='../../admin/config.php' target='_blank' class='btn btn-default col-sm-offset-6 '><i class='fa fa-link fa-lg text-primary'></i> " . T_("Go to Call History Report") . "</a>
|
||||||
|
|
||||||
|
xhtml_table($rs,$datacol,$headers,"tclass",false,false,"bs-table");
|
||||||
|
|
||||||
xhtml_table($rs,$datacol,$headers,"tclass",false,false,"bs-table");
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,14 +78,14 @@ function case_status_report($questionnaire_id = false, $sample_id = false, $outc
|
|||||||
|
|
||||||
$sql = "SELECT CONCAT('<a href=\'supervisor.php?case_id=', c.case_id, '\'>', c.case_id, '</a>') as case_id,
|
$sql = "SELECT CONCAT('<a href=\'supervisor.php?case_id=', c.case_id, '\'>', c.case_id, '</a>') as case_id,
|
||||||
o.description as outcomes,
|
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") . "'
|
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") . "'
|
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") . "')
|
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,
|
END AS availableinmin,
|
||||||
CASE WHEN oq.operator_id IS NULL THEN
|
CASE WHEN oq.operator_id IS NULL THEN
|
||||||
CONCAT('')
|
CONCAT('')
|
||||||
ELSE CONCAT('<span class=\'text-info\'>', oq.firstName,' ',oq.lastname,'</span>')
|
ELSE CONCAT('<span class=\'text-info\'>', oq.firstName,' ',oq.lastName,'</span>')
|
||||||
END AS assignedoperator,
|
END AS assignedoperator,
|
||||||
CASE WHEN oq.operator_id IS NULL THEN
|
CASE WHEN oq.operator_id IS NULL THEN
|
||||||
CONCAT('')
|
CONCAT('')
|
||||||
@@ -112,7 +112,12 @@ function case_status_report($questionnaire_id = false, $sample_id = false, $outc
|
|||||||
|
|
||||||
print ("<form method=\"post\" action=\"?questionnaire_id=$questionnaire_id&sample_import_id=$sample_id\">");
|
print ("<form method=\"post\" action=\"?questionnaire_id=$questionnaire_id&sample_import_id=$sample_id\">");
|
||||||
|
|
||||||
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"),"<i class='fa fa-check-square-o fa-lg'></i>"), "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"),"<i class='fa fa-check-square-o fa-lg'></i>");
|
||||||
|
|
||||||
|
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
|
$sql = "SELECT operator_id as value,CONCAT(firstName,' ', lastName) as description, '' selected
|
||||||
FROM operator
|
FROM operator
|
||||||
@@ -225,13 +230,16 @@ $outcome_id = false;
|
|||||||
|
|
||||||
print "<div class='form-group '><h3 class=' col-sm-2 text-right'>" . T_("Questionnaire") . ":</h3>";
|
print "<div class='form-group '><h3 class=' col-sm-2 text-right'>" . T_("Questionnaire") . ":</h3>";
|
||||||
display_questionnaire_chooser($questionnaire_id, false, "pull-left", "form-control");
|
display_questionnaire_chooser($questionnaire_id, false, "pull-left", "form-control");
|
||||||
print "<h3 class=' col-sm-2 text-right'>" . T_("Sample") . ":</h3>";
|
|
||||||
display_sample_chooser($questionnaire_id,$sample_import_id,false, "pull-left", "form-control");
|
|
||||||
print "</div>
|
|
||||||
<div class='clearfix'></div>";
|
|
||||||
if ($questionnaire_id)
|
|
||||||
case_status_report($questionnaire_id,$sample_import_id,$outcome_id);
|
|
||||||
|
|
||||||
|
|
||||||
|
if ($questionnaire_id){
|
||||||
|
print "<h3 class=' col-sm-2 text-right'>" . T_("Sample") . ":</h3>";
|
||||||
|
display_sample_chooser($questionnaire_id,$sample_import_id,false, "pull-left", "form-control");
|
||||||
|
print "</div>
|
||||||
|
<div class='clearfix'></div>";
|
||||||
|
|
||||||
|
case_status_report($questionnaire_id,$sample_import_id,$outcome_id);
|
||||||
|
}
|
||||||
xhtml_foot($js_foot);
|
xhtml_foot($js_foot);
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
@@ -56,14 +56,17 @@ $css = array(
|
|||||||
"../include/bootstrap-3.3.2/css/bootstrap.min.css",
|
"../include/bootstrap-3.3.2/css/bootstrap.min.css",
|
||||||
"../include/bootstrap-3.3.2/css/bootstrap-theme.min.css",
|
"../include/bootstrap-3.3.2/css/bootstrap-theme.min.css",
|
||||||
"../include/font-awesome-4.3.0/css/font-awesome.css",
|
"../include/font-awesome-4.3.0/css/font-awesome.css",
|
||||||
|
/* "../include/bootgrid/jquery.bootgrid.css", */
|
||||||
"../include/bs-data-table/css/jquery.bdt.css",
|
"../include/bs-data-table/css/jquery.bdt.css",
|
||||||
"../css/custom.css"
|
"../css/custom.css"
|
||||||
);
|
);
|
||||||
$js_head = array(
|
$js_head = array(
|
||||||
"../js/jquery-2.1.3.min.js",
|
"../js/jquery-2.1.3.min.js",
|
||||||
"../include/bootstrap-3.3.2/js/bootstrap.min.js",
|
"../include/bootstrap-3.3.2/js/bootstrap.min.js",
|
||||||
|
/* "../include/bootgrid/jquery.bootgrid.min.js", */
|
||||||
);
|
);
|
||||||
$js_foot = array(
|
$js_foot = array(
|
||||||
|
|
||||||
"../include/bs-data-table/js/vendor/jquery.sortelements.js",
|
"../include/bs-data-table/js/vendor/jquery.sortelements.js",
|
||||||
"../include/bs-data-table/js/jquery.bdt.js",
|
"../include/bs-data-table/js/jquery.bdt.js",
|
||||||
"../js/window.js",
|
"../js/window.js",
|
||||||
@@ -135,7 +138,7 @@ print "<div class='clearfix'></div>";
|
|||||||
if ($sample_import_id != false)
|
if ($sample_import_id != false)
|
||||||
{
|
{
|
||||||
$sql = "SELECT sv.sample_id, CASE WHEN c.case_id IS NULL THEN
|
$sql = "SELECT sv.sample_id, CASE WHEN c.case_id IS NULL THEN
|
||||||
CONCAT('<a href=\'\' data-toggle=\'modal\' data-target=\'.delete-confirm\' data-href=\'?sample_import_id=$sample_import_id&sample_id=', sv.sample_id ,'\' data-sample_id=\' ', sv.sample_id ,' \' class=\'btn center-block\'><i data-toggle=\'tooltip\' title=\'" . TQ_("Delete sample record") . " ', sv.sample_id ,'\' class=\'fa fa-2x fa-trash-o text-danger\'></i></a>')
|
CONCAT(' <a href=\'\' data-toggle=\'modal\' data-target=\'.delete-confirm\' data-href=\'?sample_import_id=$sample_import_id&sample_id=', sv.sample_id ,'\' data-sample_id=\' ', sv.sample_id ,' \' class=\'\'><i data-toggle=\'tooltip\' title=\'" . TQ_("Delete sample record") . " ', sv.sample_id ,'\' class=\'fa fa-2x fa-trash-o text-danger\'></i></a> ')
|
||||||
ELSE CONCAT('<a href=\'supervisor.php?case_id=', c.case_id , '\' data-toggle=\'tooltip\' title=\'" . TQ_("Assigned to case ID :") . " ', c.case_id , '\'><b>', c.case_id ,'</b></a>')
|
ELSE CONCAT('<a href=\'supervisor.php?case_id=', c.case_id , '\' data-toggle=\'tooltip\' title=\'" . TQ_("Assigned to case ID :") . " ', c.case_id , '\'><b>', c.case_id ,'</b></a>')
|
||||||
END as link
|
END as link
|
||||||
FROM sample_var AS sv
|
FROM sample_var AS sv
|
||||||
@@ -146,12 +149,6 @@ if ($sample_import_id != false)
|
|||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
|
|
||||||
$sql = "SELECT var
|
|
||||||
FROM sample_var
|
|
||||||
WHERE sample_id = {$r[0]['sample_id']}
|
|
||||||
ORDER by var ASC";
|
|
||||||
|
|
||||||
$rs = $db->GetAll($sql);
|
|
||||||
|
|
||||||
$fnames = array("sample_id");
|
$fnames = array("sample_id");
|
||||||
$fdesc = array(T_("Sample id"));
|
$fdesc = array(T_("Sample id"));
|
||||||
@@ -159,6 +156,12 @@ if ($sample_import_id != false)
|
|||||||
$fnames[] = "link";
|
$fnames[] = "link";
|
||||||
$fdesc[] = T_("Case ID");
|
$fdesc[] = T_("Case ID");
|
||||||
|
|
||||||
|
$sql = "SELECT var
|
||||||
|
FROM sample_var
|
||||||
|
WHERE sample_id = {$r[0]['sample_id']}
|
||||||
|
ORDER by var ASC";
|
||||||
|
$rs = $db->GetAll($sql);
|
||||||
|
|
||||||
foreach($rs as $rsw)
|
foreach($rs as $rsw)
|
||||||
{
|
{
|
||||||
$fnames[] = $rsw['var'];
|
$fnames[] = $rsw['var'];
|
||||||
@@ -170,10 +173,11 @@ if ($sample_import_id != false)
|
|||||||
FROM sample_var
|
FROM sample_var
|
||||||
WHERE sample_id = {$rw['sample_id']}";
|
WHERE sample_id = {$rw['sample_id']}";
|
||||||
$rs = $db->GetAll($sql);
|
$rs = $db->GetAll($sql);
|
||||||
foreach($rs as $rsw)
|
foreach($rs as $rsw){
|
||||||
$rw[$rsw['var']] = $rsw['val'];
|
$rw[$rsw['var']] = $rsw['val'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print "<div class='form-group'>";
|
print "<div class='form-group'>";
|
||||||
xhtml_table($r,$fnames,$fdesc,"tclass",false,false,"bs-table");
|
xhtml_table($r,$fnames,$fdesc,"tclass",false,false,"bs-table");
|
||||||
print "</div>";
|
print "</div>";
|
||||||
@@ -184,6 +188,12 @@ xhtml_foot($js_foot);
|
|||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$('#bs-table').bdt();
|
$('#bs-table').bdt();
|
||||||
|
/* $('#bs-table').bootgrid({
|
||||||
|
ajax: true,
|
||||||
|
post: "$sample_import_id",
|
||||||
|
url: "?sample_import_id=\"$sample_import_id\"",
|
||||||
|
}); */
|
||||||
|
|
||||||
$('#delete-confirm').on('show.bs.modal', function (event) {
|
$('#delete-confirm').on('show.bs.modal', function (event) {
|
||||||
var a = $(event.relatedTarget)
|
var a = $(event.relatedTarget)
|
||||||
var href = a.data('href')
|
var href = a.data('href')
|
||||||
|
|||||||
Reference in New Issue
Block a user