diff --git a/admin/availability.php b/admin/availability.php index 0ab8e488..03b120ac 100644 --- a/admin/availability.php +++ b/admin/availability.php @@ -54,7 +54,7 @@ if (isset($_GET['availability_group'])) else if (isset($_POST['availability_group'])) $availability_group = intval($_POST['availability_group']); else - die(T_("No availability group set")); + die(T_("No time slot group set")); if (isset($_POST['day'])) @@ -92,7 +92,7 @@ if (isset($_POST['day'])) $db->CompleteTrans(); } -xhtml_head(T_("Modify availability"),true,array("../css/shifts.css"),array("../js/addrow-v2.js")); +xhtml_head(T_("Modify time slots"),true,array("../css/shifts.css"),array("../js/addrow-v2.js")); /** * Display warning if timezone data not installed @@ -158,12 +158,12 @@ translate_array($daysofweek,array("description")); ?>

-

-

"/>

+

+

"/>

-

"/>

+

"/>

GetAll($sql); -print "

" . T_("Availability groups")."

"; +print "

" . T_("Time slots")."

"; -print "

" . T_("Availability groups define periods of time of respondent availability.") . "

"; +print "

" . T_("Time slots define periods of time during particular days of the week. These are used for the availability function and also the call attempt time slot function.") . "

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

" . T_("No availability groups") . "

"; + print "

" . T_("No time slots") . "

"; else - xhtml_table($rs,array("description","link"),array(T_("Availablity group"),T_("Modify"))); + xhtml_table($rs,array("description","link"),array(T_("Time slot"),T_("Modify"))); //add an availablity group -print "

" . T_("Add availability group") . "

"; +print "

" . T_("Add time slot") . "

"; ?>
-

-

"/> +

+

"/>

" . T_("Assign operators print "
  • " . T_("Modify operator skills") . "
  • "; print "
  • " . T_("Availability and shift management") . "

  • "; print "
  • " . T_("Questionnaire progress") . "

    "; diff --git a/admin/questionnaireavailability.php b/admin/questionnaireavailability.php index 20550393..47c8e530 100644 --- a/admin/questionnaireavailability.php +++ b/admin/questionnaireavailability.php @@ -91,7 +91,10 @@ $questionnaire_id = false; if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); xhtml_head(T_("Assign availability group to questionnaire"),true,false,array("../js/window.js")); -print "

    " . T_("Select a questionnaire from the list below") . "

    "; + +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") ."

    "; + +print "

    " . T_("Select a questionnaire from the list below") . "

    "; display_questionnaire_chooser($questionnaire_id); @@ -143,7 +146,7 @@ if ($questionnaire_id != false) ?>
    -

    + "/>

    + * @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"); + +/** + * XHTML functions + */ +include("../functions/functions.xhtml.php"); + +/** + * Display functions + */ +include("../functions/functions.display.php"); + +/** + * Input functions + */ +include("../functions/functions.input.php"); + +global $db; + + +if (isset($_GET['questionnaire_id']) && isset($_GET['availability_group'])) +{ + //need to add availability_group to questionnaire + + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $availability_group = bigintval($_GET['availability_group']); + + $sql = "INSERT INTO questionnaire_timeslot(questionnaire_id,availability_group_id) + VALUES('$questionnaire_id','$availability_group')"; + + $db->Execute($sql); + +} + +if (isset($_GET['questionnaire_id']) && isset($_GET['ravailability_group'])) +{ + //need to remove rsid from questionnaire + + $questionnaire_id = bigintval($_GET['questionnaire_id']); + $availability_group = bigintval($_GET['ravailability_group']); + + $sql = "DELETE FROM questionnaire_timeslot + WHERE questionnaire_id = '$questionnaire_id' + AND availability_group_id = '$availability_group'"; + + $db->Execute($sql); +} + + +$questionnaire_id = false; +if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); + +xhtml_head(T_("Assign call attempt time slots to questionnaire"),true,false,array("../js/window.js")); + +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 called at least n times in all assigned timeslots") ."

    "; + +print "

    " . T_("Select a questionnaire from the list below") . "

    "; +display_questionnaire_chooser($questionnaire_id); + + +if ($questionnaire_id != false) +{ + + $sql = "SELECT q.availability_group_id,a.description as description + 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); + + 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") . "

    "; + foreach($qs as $q) + { + print "

    {$q['availability_group_id']} - {$q['description']} (" . T_("Click to unassign") . ")

    "; + } + } + + $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 "

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

    "; + ?> +
    +


    + + "/>

    +
    + diff --git a/database/quexs.sql b/database/quexs.sql index 011725b6..9bf132ac 100644 --- a/database/quexs.sql +++ b/database/quexs.sql @@ -1555,6 +1555,13 @@ CREATE TABLE `questionnaire_sample_quota_row_exclude` ( -- + +CREATE TABLE `questionnaire_timeslot` ( +`questionnaire_id` bigint( 20 ) NOT NULL , +`availability_group_id` bigint( 20 ) NOT NULL , +PRIMARY KEY ( `questionnaire_id` , `availability_group_id` ) +) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci; + -- -------------------------------------------------------- --