* @copyright Australian Consortium for Social and Political Research Inc (ACSPRI) 2011 * @package queXS * @subpackage admin * @link http://www.acspri.org.au queXS was writen for ACSPRI * @license http://opensource.org/licenses/gpl-2.0.php The GNU General Public License (GPL) Version 2 * * */ /** * Configuration file */ include("../config.inc.php"); /** * Database file */ include ("../db.inc.php"); /** * Authentication */ require ("auth-admin.php"); /** * XHTML functions */ include("../functions/functions.xhtml.php"); /** * Display functions */ include("../functions/functions.display.php"); /** * Input functions */ include("../functions/functions.input.php"); $css = array( "../include/bootstrap/css/bootstrap.min.css", "../include/bootstrap/css/bootstrap-theme.min.css", //"../include/font-awesome/css/font-awesome.css", "../css/custom.css" ); $js_head = array( ); $js_foot = array( "../js/window.js", //"../js/custom.js" ); global $db; //block availability if (isset($_GET['questionnaire_id']) && isset($_GET['av_availability_group'])) { //need to add availability_group to questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $availability_group = bigintval($_GET['av_availability_group']); $sql = "INSERT INTO questionnaire_availability(questionnaire_id,availability_group_id) VALUES('$questionnaire_id','$availability_group')"; $db->Execute($sql); } if (isset($_GET['questionnaire_id']) && isset($_GET['av_ravailability_group'])) { //need to remove rsid from questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $availability_group = bigintval($_GET['av_ravailability_group']); $sql = "DELETE FROM questionnaire_availability WHERE questionnaire_id = '$questionnaire_id' AND availability_group_id = '$availability_group'"; $db->Execute($sql); } //block call_attempts if (isset($_GET['questionnaire_id']) && isset($_GET['ca_availability_group'])) { //need to add availability_group to questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $availability_group = bigintval($_GET['ca_availability_group']); $weight = bigintval($_GET['weight']); $sql = "INSERT INTO questionnaire_timeslot(questionnaire_id,availability_group_id,weight) VALUES('$questionnaire_id','$availability_group','$weight')"; $db->Execute($sql); } if (isset($_GET['questionnaire_id']) && isset($_GET['ca_ravailability_group'])) { //need to remove rsid from questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $availability_group = bigintval($_GET['ca_ravailability_group']); $sql = "DELETE FROM questionnaire_timeslot WHERE questionnaire_id = '$questionnaire_id' AND availability_group_id = '$availability_group'"; $db->Execute($sql); } //block call_attempts by sample if (isset($_GET['questionnaire_id']) && isset($_GET['sample_import_id']) && isset($_GET['qs_availability_group'])) { //need to add availability_group to questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $sample_import_id = bigintval($_GET['sample_import_id']); $availability_group = bigintval($_GET['qs_availability_group']); $weight = bigintval($_GET['weights']); $sql = "INSERT INTO questionnaire_sample_timeslot (questionnaire_id,sample_import_id,availability_group_id,weight) VALUES('$questionnaire_id','$sample_import_id','$availability_group','$weight')"; $db->Execute($sql); } if (isset($_GET['questionnaire_id']) && isset($_GET['sample_import_id']) && isset($_GET['qs_ravailability_group'])) { //need to remove rsid from questionnaire $questionnaire_id = bigintval($_GET['questionnaire_id']); $sample_import_id = bigintval($_GET['sample_import_id']); $availability_group = bigintval($_GET['qs_ravailability_group']); $sql = "DELETE FROM questionnaire_sample_timeslot WHERE questionnaire_id = '$questionnaire_id' AND sample_import_id = '$sample_import_id' AND availability_group_id = '$availability_group'"; $db->Execute($sql); } $questionnaire_id = false; if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); $sample_import_id = false; if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']); xhtml_head(T_("Assign Time slots"),true,$css,$js_head);//false,array("../js/window.js") print "

" . T_("Select a questionnaire") . ":

"; display_questionnaire_chooser($questionnaire_id,false, "form-inline", "form-control"); print "
"; if ($questionnaire_id != false) { //page questionnaireavailability.php print "

" . T_("Time slot groups") . "

"; print "
" . T_("Assigning an availability group to a questionnaire will allow interviewers to select from those groups to restrict calls to a particular case to the times within the group") ."
"; $sql = "SELECT q.availability_group_id,a.description as description, CONCAT('" . T_("Click to unassign") . "') as link FROM questionnaire_availability as q, availability_group as a WHERE q.availability_group_id = a.availability_group_id AND q.questionnaire_id = '$questionnaire_id'"; $qs = $db->GetAll($sql); print "


"; if (empty($qs)) { print "

" . T_("There are no time slots groups selected for this questionnaire") . "

"; } else { print "

" . T_("Time slots groups selected for this questionnaire") . "

"; xhtml_table ($qs,array("availability_group_id","description","link"),false,"table table-hover"); } print "
"; $sql = "SELECT si.availability_group_id,si.description FROM availability_group as si LEFT JOIN questionnaire_availability as q ON (q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id) WHERE q.questionnaire_id is NULL"; $qs = $db->GetAll($sql); if (!empty($qs)) { print "
"; //print "

" . T_("Add time slot to this questionnaire:") . "

"; print "
"; } print "
"; //page questionnairecatimeslots.php print "

" . T_("Call attempt time slots") . "

"; print "
" . T_("Assigning call attempt time slots to questionnaires will only allow cases to be attempted in a time slot for the n + 1th time where it has been attempted at least n times in all assigned timeslots. Please note timeslots must cover all possible time periods otherwise no cases will be available during missing timeslots.") ."
"; $sql = "SELECT q.availability_group_id,a.description as description, CONCAT('" . T_("Click to unassign") . "') as link, q.weight FROM questionnaire_timeslot as q, availability_group as a WHERE q.availability_group_id = a.availability_group_id AND q.questionnaire_id = '$questionnaire_id'"; $qs = $db->GetAll($sql); print "
"; if (empty($qs)) { print "

" . T_("There are no call attempt time slots selected for this questionnaire") . "

"; } else { print "

" . T_("Call attempt time slots selected for this questionnaire") . "

"; xhtml_table ($qs,array("description","weight","link"),array(T_("Availability group"),T_("Weight"),T_("Unassign")),"table table-hover"); } print "
"; $sql = "SELECT si.availability_group_id,si.description FROM availability_group as si LEFT JOIN questionnaire_timeslot as q ON (q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id) WHERE q.questionnaire_id is NULL"; $qs = $db->GetAll($sql); if (!empty($qs)) { print "
"; //print "

" . T_("Add a call attempt time slot to this questionnaire:") . "

"; print "
"; ?>
"; } print "
"; //page questionnairetimeslosample.php print "

" . T_("Call attempt time slots for sample") . "

"; print "
" . T_("Assigning call attempt time slots to questionnaires will only allow cases to be attempted in a time slot for the n + 1th time where it has been attempted at least n times in all assigned timeslots. Please note timeslots must cover all possible time periods otherwise no cases will be available during missing timeslots.") ."
"; print "

" . T_("Sample") . ": 

"; $sample_import_id = false; if (isset($_GET['sample_import_id'])) $sample_import_id = bigintval($_GET['sample_import_id']); display_sample_chooser($questionnaire_id,$sample_import_id,false, "form-inline", "form-control"); if ($sample_import_id !== false) { $sql = "SELECT q.availability_group_id,a.description as description, CONCAT('" . T_("Click to unassign") . "') as link, q.weight FROM questionnaire_sample_timeslot as q, availability_group as a WHERE q.availability_group_id = a.availability_group_id AND q.questionnaire_id = '$questionnaire_id' AND q.sample_import_id = '$sample_import_id'"; $qs = $db->GetAll($sql); if (empty($qs)) { print "

" . T_("There are no call attempt time slots selected for this questionnaire sample") . "

"; } else { print "

" . T_("Call attempt time slots selected for this sample") . ":

"; xhtml_table ($qs,array("description","weight","link"),array(T_("Availability group"),T_("Weight"),T_("Unassign")),"table table-hover"); } $sql = "SELECT si.availability_group_id,si.description FROM availability_group as si LEFT JOIN questionnaire_sample_timeslot as q ON (q.sample_import_id = '$sample_import_id' AND q.questionnaire_id = '$questionnaire_id' AND q.availability_group_id = si.availability_group_id) WHERE q.questionnaire_id is NULL"; $qs = $db->GetAll($sql); if (!empty($qs)) { print "
"; //print "

" . T_("Add a call attempt time slot to this questionnaire sample:") . "

"; print "
"; ?>
"; } } print "
"; } xhtml_foot($js_foot); ?>