StartTrans(); $sql = "SELECT sample_id FROM `case` WHERE case_id = $case_id"; $sample_id = $db->GetOne($sql); $sql = "DELETE FROM sample_var WHERE sample_id = $sample_id"; $db->Execute($sql); //clear number from sample table $sql = "UPDATE `sample` SET phone = '' WHERE sample_id = $sample_id"; $db->Execute($sql); //clear respondent table (firstName,lastName) $sql = "UPDATE `respondent` SET firstName = '', lastName = '' WHERE case_id = $case_id"; $db->Execute($sql); //clear contact phone (phone,description) $sql = "UPDATE `contact_phone` SET phone = '', description = '' WHERE case_id = $case_id"; $db->Execute($sql); $db->CompleteTrans(); } if (isset($_GET['case_note_id'])) { $case_note_id = bigintval($_GET['case_note_id']); $sql = "DELETE FROM case_note WHERE case_id = '$case_id' AND case_note_id = '$case_note_id'"; $db->Execute($sql); } xhtml_head(T_("Assign outcomes to cases"),true,$css,$js_head);//array("../css/table.css"),array("../js/window.js") ?>
">
GetAll($sql); if (!empty($rs)) { print "
" . T_("or") . ""; display_chooser($rs,"case","case_id",true,false,true,false); print "
"; } ?> 0) { $sql = "UPDATE `call` SET outcome_id = '$outcome_id' WHERE call_id = '$call_id'"; $db->Execute($sql); } } else { print ""; } //unset($_GET['call_id']); } if ($case_id != false) { if (isset($_GET['note'])) { $note = $db->qstr($_GET['note']); $sql = "INSERT INTO `case_note` (case_note_id,case_id,operator_id,note,datetime) VALUES (NULL,'$case_id','$operator_id',$note,CONVERT_TZ(NOW(),'System','UTC'))"; $db->Execute($sql); } if (isset($_GET['outcome_id'])) { $outcome_id = bigintval($_GET['outcome_id']); if ($outcome_id > 0) { $sql = "UPDATE `case` SET current_outcome_id = $outcome_id WHERE case_id = '$case_id'"; $db->Execute($sql); } } if (isset($_GET['operator_id'])) { $case_operator_id = bigintval($_GET['operator_id']); if ($case_operator_id == 0) { //clear the next case if set to no operator $sql = "UPDATE `operator` SET next_case_id = NULL WHERE next_case_id = '$case_id'"; } else { $sql = "UPDATE `operator` SET next_case_id = '$case_id' WHERE operator_id = '$case_operator_id'"; } $db->Execute($sql); } if (isset($_GET['submitag'])) { $db->StartTrans(); $sql = "DELETE FROM case_availability WHERE case_id = '$case_id'"; $db->Execute($sql); foreach($_GET as $key => $val) { if (substr($key,0,2) == "ag") { $sql = "INSERT INTO case_availability (case_id,availability_group_id) VALUES ($case_id,'$val')"; $db->Execute($sql); } } $db->CompleteTrans(); } $sql = "SELECT o.description,o.outcome_id, q.description as qd, si.description as sd, s.import_id as sid FROM `case` as c, `outcome` as o, questionnaire as q, sample as s, sample_import as si WHERE c.case_id = '$case_id' AND q.questionnaire_id = c.questionnaire_id AND s.sample_id = c.sample_id AND si.sample_import_id = s.import_id AND c.current_outcome_id = o.outcome_id"; $rs = $db->GetRow($sql); if (!empty($rs)) { print "

 " . T_("Project") . ": {$rs['qd']} 

 " . T_("Sample") . ": {$rs['sd']} 

". T_("Current outcome:") ." " . T_($rs['description']) . "

"; $current_outcome_id = $rs['outcome_id']; $sid = $rs['sid']; // view sample details print "

 " . T_("Sample details")."

"; $sql = "SELECT sv.sample_id, c.case_id , s.Time_zone_name, TIME_FORMAT(CONVERT_TZ(NOW(),@@session.time_zone,s.Time_zone_name),'". TIME_FORMAT ."') as time FROM sample_var AS sv LEFT JOIN (`case` AS c , sample as s) ON ( c.sample_id = sv.sample_id AND s.sample_id = c.sample_id ) WHERE c.case_id = '$case_id' GROUP BY sv.sample_id"; $r = $db->GetAll($sql); if ($r){ $fnames = array("sample_id", "Time_zone_name", "time"); $fdesc = array(T_("Sample id"),T_("Timezone"),T_("Time NOW")); $varr= array(); $sql = "SELECT var,var_id FROM sample_import_var_restrict WHERE sample_import_id = $sid AND type IN (2,3,6,7) ORDER by var DESC"; $rs = $db->GetAll($sql); foreach($rs as $rsw) { $fnames[] = $rsw['var_id']; $fdesc[] = $rsw['var']; $varr[] = $rsw['var_id']; //array for valid var_id's } $varr= implode(",",$varr); foreach($r as &$rw) { $sql = "SELECT var_id,val FROM sample_var WHERE sample_id = {$rw['sample_id']} AND var_id IN ($varr)"; $rs = $db->GetAll($sql); foreach($rs as $rsw){ $rw[$rsw['var_id']] = $rsw['val']; } } xhtml_table($r,$fnames,$fdesc,"tclass"); }else{ print "

" . T_("No sample data for this case") . "

"; } print "
"; //View appointments print "

 " . T_("Appointments")."

"; $sql = "SELECT CONVERT_TZ(a.start,'UTC',@@session.time_zone) as start, CONVERT_TZ(a.end,'UTC',@@session.time_zone) as end, CONCAT(r.firstName,' ', r.lastName) as resp, IFNULL(ou.description,'" . T_("Not yet called") . "') as outcome, CONCAT (oo.firstName,' ', oo.lastName) as makerName, CONCAT (ooo.firstName,' ', ooo.lastName) as callerName, CONCAT('', c.case_id, '') as case_id, CONCAT('  ') as link, CONCAT('  ') as edit FROM appointment as a JOIN (`case` as c, respondent as r, questionnaire as q, operator as oo, call_attempt as cc) on (a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and a.call_attempt_id = cc.call_attempt_id and cc.operator_id = oo.operator_id) LEFT JOIN (`call` as ca, outcome as ou, operator as ooo) ON (ca.call_id = a.completed_call_id and ou.outcome_id = ca.outcome_id and ca.operator_id = ooo.operator_id) WHERE c.case_id = '$case_id' GROUP BY a.appointment_id ORDER BY a.start ASC"; $rs = $db->GetAll($sql); if (!empty($rs)) { translate_array($rs,array("outcome")); xhtml_table($rs,array("start","end","edit","makerName","resp","outcome","callerName","link"),array(T_("Start"),T_("End"),"  ",T_("Operator"),T_("Respondent"),T_("Current outcome"),T_("Operator who called"),"  "),"table-hover table-bordered table-condensed col-sm-10"); } else print ""; // * disable appointment creation if no sample_id if ($r[0]['sample_id']){ $rtz= $r[0]['Time_zone_name']; print "  " . T_("Create appointment") . ""; } print "
"; //view calls and outcomes $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.start,'UTC',r.Time_zone_name),'".DATE_TIME_FORMAT."') as start,CONVERT_TZ(c.end,'UTC',r.Time_zone_name) as end, CONCAT(op.firstName,' ',op.lastName) as firstName, o.description as des, CONCAT(' ') as link, cp.phone as phone FROM `call` as c JOIN (operator as op, outcome as o, respondent as r, contact_phone as cp) on (c.operator_id = op.operator_id and c.outcome_id = o.outcome_id and r.respondent_id = c.respondent_id and cp.contact_phone_id = c.contact_phone_id) WHERE c.case_id = '$case_id' ORDER BY c.start DESC"; $rs = $db->GetAll($sql); print "

 " . T_("Call list")."

"; if (empty($rs)) print ""; else { translate_array($rs,array("des")); xhtml_table($rs,array("start","phone","firstName","des","link"),array(T_("Date/Time"),T_("Phone number"),T_("Operator"),T_("Outcome"),"  ")); } print "
"; //view notes $sql = "SELECT DATE_FORMAT(CONVERT_TZ(c.datetime,'UTC',op.Time_zone_name),'".DATE_TIME_FORMAT."') as time, CONCAT(op.firstName,' ',op.lastName) as firstName, c.note as note, CONCAT('') as link FROM `case_note` as c JOIN (operator as op) on (c.operator_id = op.operator_id) WHERE c.case_id = '$case_id' ORDER BY c.datetime DESC"; $rs = $db->GetAll($sql); print "

 " . T_("Case notes")."

"; if (empty($rs)) print "

" . T_("No notes") . "

"; else { xhtml_table($rs,array("time","firstName","note","link"),array(T_("Date/Time"),T_("Operator"),T_("Note"),"  ")); print "
"; } //add a note ?>
"; //view timeslots $sql = "SELECT count(*) FROM questionnaire_timeslot as q, `case` as c WHERE c.case_id = $case_id AND c.questionnaire_id = q.questionnaire_id"; if ($db->GetOne($sql) >= 1) { $sql = "SELECT ag.description, (SELECT COUNT(*) FROM availability as a, `call_attempt` as ca WHERE ca.case_id = c.case_id AND a.availability_group_id = ag.availability_group_id AND (a.day_of_week = DAYOFWEEK(CONVERT_TZ(ca.start,'UTC',s.Time_zone_name)) AND TIME(CONVERT_TZ(ca.start, 'UTC' , s.Time_zone_name)) >= a.start AND TIME(CONVERT_TZ(ca.start, 'UTC' , s.Time_zone_name)) <= a.end)) as cou FROM availability_group as ag, `case` as c, `questionnaire_timeslot` as qt, sample as s WHERE c.case_id = '$case_id' AND s.sample_id = c.sample_id AND qt.questionnaire_id = c.questionnaire_id AND ag.availability_group_id = qt.availability_group_id"; if ( array("cou") >=1){ print "

 " . T_("Call attempts by timeslot") . "

"; xhtml_table($db->GetAll($sql),array('description','cou'),array(T_("Time slot"),T_("Call attempts")));//,"tclass",false,array("cou") print "
"; } } else { print "" . T_("Time slots NOT defined") . ""; } print "
"; if ($r[0]['sample_id']){ //if sample data exists assign this to an operator for their next case print "

 " . T_("Assign this case to operator (will appear as next case for them)") . "

"; ?>
GetAll($sql); display_chooser($rs3, "operator_id", "operator_id",true,false,false,false); ?>
"; if ($id) print "

 " . T_("Modify responses for this case") . "

"; else print ""; print "
"; if ($r[0]['sample_id']){ // if sample data exists view availability print "

 " . T_("Availability groups") . "

"; if (is_using_availability($case_id)) { //List all availability group items and whether selected or not (all selected by default unless >= 1 availability group is in use for this case $sql = "SELECT qa.availability_group_id,ag.description,ca.availability_group_id as selected_group_id FROM `case` as c JOIN questionnaire_availability AS qa ON (qa.questionnaire_id = c.questionnaire_id) JOIN availability_group AS ag ON (ag.availability_group_id = qa.availability_group_id) LEFT JOIN case_availability AS ca ON (ca.availability_group_id = qa.availability_group_id and ca.case_id = c.case_id) WHERE c.case_id = '$case_id'"; $rs = $db->GetAll($sql); //Display all availability groups as checkboxes print "
"; print "
" . T_("Select groups to limit availability (Selecting none means always available)") . "
"; foreach ($rs as $r) { $checked = ""; //if ($allselected || $r['availability_group_id'] == $r['selected_group_id']) if ($r['availability_group_id'] == $r['selected_group_id']) $checked = "checked='checked'"; print " 
"; } ?>
" . T_("Availability groups not defined for this questionnaire") . "
"; } print ""; } //set an outcome print "

 " . T_("Set a case outcome") . "

"; ?>
GetAll($sql); translate_array($rs2,array("description")); display_chooser($rs2, "outcome_id", "outcome_id",true,false,false,false); ?>

"; if ($r[0]['sample_id']){ // if sample data exists deidentify record print "

 " . T_("Deidentify") . "

"; print "
" . T_("Remove all sample details and contact numbers from this case") . "
"; ?>
" . T_("Case does not exist") . ""; } } xhtml_foot($js_foot);// deidentify data-toggle="modal" type="submit"submitclass ?>