2
0
mirror of https://github.com/ACSPRI/queXS synced 2024-04-02 12:12:16 +00:00

Adding sorting by questionnaire

This commit is contained in:
Adam Zammit
2015-12-15 15:03:44 +11:00
4 changed files with 124 additions and 127 deletions

View File

@@ -52,8 +52,8 @@ WHERE 1;
DROP TABLE `sessions2`; DROP TABLE `sessions2`;
/* Add sort order feature to questionnaire sample table */ /* Add sort order feature to questionnaire sample table */
ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '0'; /* after update just open "Assign & Sort questionnaire samples" admin page (assignsample.php) and set required sort_order*/
UPDATE `questionnaire_sample` SET sort_order = sample_import_id; ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '1';
/* Add default outcomes feature */ /* Add default outcomes feature */
@@ -70,6 +70,14 @@ ALTER TABLE `questionnaire` ADD `outcomes` VARCHAR(256) NULL DEFAULT '1,2,3,7,9,
UPDATE `questionnaire` SET `outcomes` = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,40,41,42,43,44,45' ; UPDATE `questionnaire` SET `outcomes` = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,40,41,42,43,44,45' ;
!!-- IMPORTANT --!!
If you had more than 1 sample assigned to a questionaire before "samplesort" update, you'll need to have different sort_order values (llike 0,1,2 e.t.c.)for each sample per questionnaire to make "samplesort" feature work.
Easy way: unassign samples from quesionnaires (no more than 1 could be left per questionnaire) and reassign them back.
Check that you have different "Sort order" values for each sample per questionnaire, test order change with up/down arrows.
!!
queXS 1.13.1 - Changes since 1.13.0 queXS 1.13.1 - Changes since 1.13.0
Fixed Bug: Remove references to old DEFAULT_TIME_ZONE config constant (use get_settings instead) Fixed Bug: Remove references to old DEFAULT_TIME_ZONE config constant (use get_settings instead)

View File

@@ -93,11 +93,8 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['sample']) && isset($_GET['
$an = 0; $an = 0;
if (isset($_GET['allownew'])) $an = 1; if (isset($_GET['allownew'])) $an = 1;
$sql = "SELECT MAX(sort_order) + 1 $sql = "SELECT MAX(sort_order) + 1 FROM questionnaire_sample";
FROM questionnaire_sample if(!$so = $db->GetOne($sql)) $so = 1;
WHERE questionnaire_id = '$questionnaire_id'";
$so = $db->GetOne($sql);
$sql = "INSERT INTO questionnaire_sample(questionnaire_id,sample_import_id,call_max,call_attempt_max,random_select,answering_machine_messages,allow_new,sort_order) $sql = "INSERT INTO questionnaire_sample(questionnaire_id,sample_import_id,call_max,call_attempt_max,random_select,answering_machine_messages,allow_new,sort_order)
VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am', '$an', '$so')"; VALUES('$questionnaire_id','$sid','$cm','$cam','$selecttype','$am', '$an', '$so')";
@@ -191,15 +188,15 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid']))
if (isset($_GET['edit'])) if (isset($_GET['edit']))
{ {
$subtitle = T_("Edit assignment parameters"); $subtitle = T_("Edit assignment parameters");
xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js") xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);
$sql = "SELECT si.description as description, $sql = "SELECT si.description as description,
qr.description as qdescription, qr.description as qdescription,
q.call_max, q.call_max,
q.call_attempt_max, q.call_attempt_max,
q.random_select, q.random_select,
q.answering_machine_messages, q.answering_machine_messages,
q.allow_new q.allow_new
FROM questionnaire_sample as q, sample_import as si, questionnaire as qr FROM questionnaire_sample as q, sample_import as si, questionnaire as qr
WHERE q.sample_import_id = si.sample_import_id WHERE q.sample_import_id = si.sample_import_id
AND q.questionnaire_id = '$questionnaire_id' AND q.questionnaire_id = '$questionnaire_id'
@@ -210,9 +207,9 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid']))
//print "<h1>" . T_("Edit sample details") . "<h1>"; //print "<h1>" . T_("Edit sample details") . "<h1>";
print " <p><a href='?questionnaire_id=$questionnaire_id' class='btn btn-default '><i class='fa fa-chevron-left fa-lg text-primary'></i>&emsp;" . T_("Go back") . "</a></p> print " <p><a href='?questionnaire_id=$questionnaire_id' class='btn btn-default '><i class='fa fa-chevron-left fa-lg text-primary'></i>&emsp;" . T_("Go back") . "</a></p>
<h2 class='col-sm-6'>" . T_("Questionnaire") . ": <span class='text-primary'>" . $qs['qdescription'] . "</span></h2> <h2 class='col-lg-6'>" . T_("Questionnaire") . ": <span class='text-primary'>" . $qs['qdescription'] . "</span></h2>
<h2 class='col-sm-6'>" . T_("Sample") . ": <span class='text-primary'>" . $qs['description'] . "</span></h2> <h2 class='col-lg-6'>" . T_("Sample") . ": <span class='text-primary'>" . $qs['description'] . "</span></h2>
<div class='panel-body form-group'>"; <div class='clearfix'></div><div class='panel-body form-group'>";
$allownew = $selected =""; $allownew = $selected ="";
if ($qs['random_select'] == 1) if ($qs['random_select'] == 1)
@@ -241,197 +238,189 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid']))
<div class="col-sm-offset-4 col-sm-3"><button type="submit" name="edit" class="btn btn-primary"><i class="fa fa-floppy-o fa-lg"></i>&emsp;<?php echo T_("Save changes");?></button></div> <div class="col-sm-offset-4 col-sm-3"><button type="submit" name="edit" class="btn btn-primary"><i class="fa fa-floppy-o fa-lg"></i>&emsp;<?php echo T_("Save changes");?></button></div>
</form></div> </form></div>
<?php <?php
xhtml_foot($js_foot); xhtml_foot($js_foot);
die(); die();
} }
else if (isset($_GET['sort']))
{
if ($_GET['sort'] == "up")
{
//find previous in sort order and do a swap
$sql = "SELECT sample_import_id,sort_order
FROM questionnaire_sample
WHERE questionnaire_id = $questionnaire_id
AND sort_order < (SELECT sort_order FROM questionnaire_sample WHERE questionnaire_id = $questionnaire_id AND sample_import_id = $sid)
ORDER BY sort_order DESC LIMIT 1";
$rs = $db->GetRow($sql);
$ssid = $rs['sample_import_id'];
$sso = $rs['sort_order'];
$sql = "UPDATE questionnaire_sample
SET sort_order = $sso
WHERE sample_import_id = $sid
AND questionnaire_id = $questionnaire_id";
$db->Execute($sql);
$sql = "UPDATE questionnaire_sample
SET sort_order = ($sso + 1)
WHERE sample_import_id = $ssid
AND questionnaire_id = $questionnaire_id";
$db->Execute($sql);
}
else
{
//find next in sort order and do a swap
$sql = "SELECT sample_import_id,sort_order
FROM questionnaire_sample
WHERE questionnaire_id = $questionnaire_id
AND sort_order > (SELECT sort_order FROM questionnaire_sample WHERE questionnaire_id = $questionnaire_id AND sample_import_id = $sid)
ORDER BY sort_order ASC LIMIT 1";
$rs = $db->GetRow($sql);
$ssid = $rs['sample_import_id'];
$sso = $rs['sort_order'];
$sql = "UPDATE questionnaire_sample
SET sort_order = $sso
WHERE sample_import_id = $sid
AND questionnaire_id = $questionnaire_id";
$db->Execute($sql);
$sql = "UPDATE questionnaire_sample
SET sort_order = ($sso - 1)
WHERE sample_import_id = $ssid
AND questionnaire_id = $questionnaire_id";
$db->Execute($sql);
unset($_GET['sort']);
}
}
else else
{ {
//need to remove rsid from questionnaire //need to remove rsid from questionnaire
$sql = "DELETE FROM questionnaire_sample $sql = "DELETE FROM questionnaire_sample
WHERE questionnaire_id = '$questionnaire_id' WHERE questionnaire_id = '$questionnaire_id'
AND sample_import_id = '$sid'"; AND sample_import_id = '$sid'";
$db->Execute($sql); $db->Execute($sql);
// update sort_order after unassigning
$db->Execute("SELECT @i := 0");
$db->Execute("UPDATE `questionnaire_sample` SET sort_order = @i:=@i+1 WHERE 1=1 ORDER BY sort_order ASC");
} }
unset($_GET['questionnaire_id']);
} }
$questionnaire_id = false; if (isset($_GET['sort_order']) && isset($_GET['sort']))
if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']); {
$subtitle = T_("List & Add Sample"); $sort_order = $_GET['sort_order'];
xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js") if ($_GET['sort'] == "up") $so = $sort_order -1;
if ($_GET['sort'] == "down") $so = $sort_order +1;
$sql = "UPDATE questionnaire_sample
SET sort_order = IF(sort_order = $sort_order, $so, $sort_order)
WHERE sort_order IN( $sort_order, $so)";
$db->Execute($sql);
unset($_GET['sort']); unset($_GET['sort_order']);
}
/* auto-set continiuos sort_order values for existing questionnaire_samples if not set before or first-time run */
if ($db->GetOne("SELECT COUNT(sort_order) - COUNT(DISTINCT sort_order ) FROM questionnaire_sample") >0){
$db->Execute("SELECT @i := 0");
$db->Execute("UPDATE `questionnaire_sample` SET sort_order = @i:=@i+1 WHERE 1=1 ORDER BY sort_order ASC");
}
$subtitle = T_("List, Sort & Assign Samples");
xhtml_head(T_("Assign & Sort questionnaire samples"),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js")
print "<a href='' onclick='history.back();return false;' class='btn btn-default pull-left'><i class='fa fa-chevron-left fa-lg text-primary'></i>&emsp;" . T_("Go back") . "</a>"; print "<a href='' onclick='history.back();return false;' class='btn btn-default pull-left'><i class='fa fa-chevron-left fa-lg text-primary'></i>&emsp;" . T_("Go back") . "</a>";
print "<h3 class='col-sm-4 text-right'>" . T_("Select a questionnaire") . ":</h3>";
display_questionnaire_chooser($questionnaire_id,false, "pull-left", "form-control");
if ($questionnaire_id != false)
{
print "<div class='clearfix '></div><div class='panel-body'> print "<h2 class='col-lg-offset-2'><i class='fa fa-sort-numeric-asc text-primary'></i>&emsp;". T_("Sort call priority order for questionnaire samples") ."</h2>
<h3 class='text-primary'>". T_("Samples selected for this questionnaire") .":</h3>"; <div class='panel-body'>";
$sql = "SELECT q.sort_order as sort_order, si.description as description,si.sample_import_id, $sql = "SELECT q.sort_order as sort_order, si.description as description,si.sample_import_id, q.questionnaire_id,
CASE WHEN q.call_max = 0 THEN '". TQ_("Unlimited") ."' ELSE q.call_max END as call_max, CONCAT('<a href=\"?questionnaire_id=', q.questionnaire_id ,'\" data-toggle=\'tooltip\' title=\'". TQ_("Samples selected for this questionnaire") ." ', q.questionnaire_id ,'\' class=\' \'><h4>', qu.description ,' </h4></a>') as qdesc,
CASE WHEN q.call_attempt_max = 0 THEN '". TQ_("Unlimited") . "' ELSE q.call_attempt_max END AS call_attempt_max, CASE WHEN q.call_max = 0 THEN '". TQ_("Unlimited") ."' ELSE q.call_max END as call_max,
CASE WHEN q.random_select = 0 THEN '". TQ_("Sequential") ."' ELSE '". TQ_("Random") . "' END as random_select, CASE WHEN q.call_attempt_max = 0 THEN '". TQ_("Unlimited") . "' ELSE q.call_attempt_max END AS call_attempt_max,
CASE WHEN q.answering_machine_messages = 0 THEN '". TQ_("Never") . "' ELSE q.answering_machine_messages END as answering_machine_messages, CASE WHEN q.random_select = 0 THEN '". TQ_("Sequential") ."' ELSE '". TQ_("Random") . "' END as random_select,
CASE WHEN q.allow_new = 0 THEN '". TQ_("No") ."' ELSE '".TQ_("Yes")."' END as allow_new, CASE WHEN q.answering_machine_messages = 0 THEN '". TQ_("Never") . "' ELSE q.answering_machine_messages END as answering_machine_messages,
CONCAT('<a href=\"?edit=edit&amp;questionnaire_id=$questionnaire_id&amp;rsid=', si.sample_import_id ,'\" data-toggle=\'tooltip\' title=\'". TQ_("Edit") ."\' class=\'btn center-block\'><i class=\'fa fa-pencil-square-o fa-lg\'></i></a>') as edit, CONCAT('<a href=\"?edit=edit&amp;questionnaire_id=', q.questionnaire_id ,'&amp;rsid=', si.sample_import_id ,'\" data-toggle=\'tooltip\' title=\'". TQ_("Edit") ."\' class=\'btn center-block\'><i class=\'fa fa-pencil-square-o fa-lg\'></i></a>') as edit
CONCAT('<a href=\'\' data-toggle=\'confirmation\' data-placement=\'top\' data-href=\"?questionnaire_id=$questionnaire_id&amp;rsid=', si.sample_import_id ,'\" class=\'btn center-block\'><i class=\'fa fa-chain-broken fa-lg\' data-toggle=\'tooltip\' title=\'". TQ_("Click to unassign") ."\'></i></a>') as unassign FROM questionnaire_sample as q, sample_import as si, questionnaire as qu
FROM questionnaire_sample as q, sample_import as si
WHERE q.sample_import_id = si.sample_import_id WHERE q.sample_import_id = si.sample_import_id
AND q.questionnaire_id = '$questionnaire_id' AND q.questionnaire_id = qu.questionnaire_id
ORDER BY q.sort_order ASC"; AND qu.enabled = 1
ORDER BY q.sort_order ASC";
$qs = $db->GetAll($sql);
$qs = $db->GetAll($sql); if (!empty($qs))
{
if (!empty($qs))
{
$co = count($qs); $co = count($qs);
if ($co > 1) if ($co > 1)
{ {
for($i = 0; $i < $co; $i++) for($i = 0; $i < $co; $i++)
{ {
$down = "<a href='?questionnaire_id=$questionnaire_id&amp;sort=down&amp;rsid={$qs[$i]['sample_import_id']}' data-toggle=\"tooltip\" title=\"". T_("Pull step Down") ."\"><i class=\"fa fa-arrow-down fa-lg\"></i></a>"; $down = "<a href='?sort_order={$qs[$i]['sort_order']}&amp;sort=down' data-toggle=\"tooltip\" title=\"". T_("Pull step Down") ."\"><i class=\"fa fa-angle-down fa-2x\"></i></a>";
$up = "<a href='?questionnaire_id=$questionnaire_id&amp;sort=up&amp;rsid={$qs[$i]['sample_import_id']}' data-toggle=\"tooltip\" title=\"". T_("Push step Up") ."\"><i class=\"fa fa-arrow-up fa-lg\"></i></a>"; $up = "<a href='?sort_order={$qs[$i]['sort_order']}&amp;sort=up' data-toggle=\"tooltip\" title=\"". T_("Push step Up") ."\"><i class=\"fa fa-angle-up fa-2x\"></i></a>";
if ($i == 0) //down only if ($i == 0) //down only
{ {
$qs[$i]['sort_order'] = "<div style=\"min-width:70px;\">&ensp;<span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>&ensp;&emsp;" . $down . "</div>"; $qs[$i]['sort_order'] = "<div>&emsp;&emsp; <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>&emsp;" . $down . "</div>";
} }
else if ($i == ($co - 1)) //up only else if ($i == ($co - 1)) //up only
{ {
$qs[$i]['sort_order'] = "&ensp;<span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>&ensp;" . $up; $qs[$i]['sort_order'] = "<div style=\"min-width:5em;\"> " .$up . "&emsp;<span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>";
} }
else else
{ {
$qs[$i]['sort_order'] = "<div style=\"min-width:70px;\">&ensp;<span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>&ensp;" . $up . $down . "</div>"; $qs[$i]['sort_order'] = "<div> " . $up . "&emsp;<span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>&emsp;" . $down . "</div>";
} }
} }
} }
else else
$qs[0]['sort_order'] = "&emsp;<i class=\"fa fa-minus fa-lg\"></i>&emsp;"; $qs[0]['sort_order'] = "&emsp;<i class=\"fa fa-minus fa-lg\"></i>&emsp;";
xhtml_table($qs,array("sort_order","qdesc","description","call_max","call_attempt_max","answering_machine_messages","random_select","edit"),array(T_("Sort order"), T_("Questionnaire"),T_("Sample"), T_("Max calls"), T_("Max call attempts"), T_("Answering machine messages"), T_("Selection type"), T_("Edit")));
}
else
print "<div class='alert text-danger'><h4>". T_("No samples assigned to questionnaires") ."</h4></div>";
print"</div>";
$questionnaire_id = false;
if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']);
print "<div class='form-group clearfix'><h2 class='col-lg-6 text-right'><i class='fa fa-link text-primary'></i>&emsp;" . T_("Assign samples to questionnaire: ") . "</h2>";
display_questionnaire_chooser($questionnaire_id,false, "pull-left btn", "form-control ");
print "</div>";
if ($questionnaire_id != false)
{
print "<div class='panel-body'>
<h3 class=''><i class='fa fa-list-ul text-primary'></i>&emsp;". T_("Samples assigned to questionnaire") ." <span class='text-primary'>" . $db->GetOne("SELECT description from questionnaire WHERE questionnaire_id = $questionnaire_id") . "</span></h3>";
$sql = "SELECT q.sort_order, si.description as description,si.sample_import_id,
CASE WHEN q.call_max = 0 THEN '". TQ_("Unlimited") ."' ELSE q.call_max END as call_max,
CASE WHEN q.call_attempt_max = 0 THEN '". TQ_("Unlimited") . "' ELSE q.call_attempt_max END AS call_attempt_max,
CASE WHEN q.random_select = 0 THEN '". TQ_("Sequential") ."' ELSE '". TQ_("Random") . "' END as random_select,
CASE WHEN q.answering_machine_messages = 0 THEN '". TQ_("Never") . "' ELSE q.answering_machine_messages END as answering_machine_messages,
CASE WHEN q.allow_new = 0 THEN '". TQ_("No") ."' ELSE '".TQ_("Yes")."' END as allow_new,
CONCAT('<a href=\"?edit=edit&amp;questionnaire_id=$questionnaire_id&amp;rsid=', si.sample_import_id ,'\" data-toggle=\'tooltip\' title=\'". TQ_("Edit") ."\' class=\'btn center-block\'><i class=\'fa fa-pencil-square-o fa-lg\'></i></a>') as edit,
CONCAT('<a href=\'\' data-toggle=\'confirmation\' data-title=\'".TQ_("Are you sure?")."\' data-btnOkLabel=\'&emsp;".TQ_("Yes")."\' data-btnCancelLabel=\'&emsp;".TQ_("No")."\' data-placement=\'top\' data-href=\"?questionnaire_id=$questionnaire_id&amp;rsid=', si.sample_import_id ,'\" class=\'btn center-block\'><i class=\'fa fa-chain-broken fa-lg\' data-toggle=\'tooltip\' title=\'". TQ_("Click to unassign") ."\'></i></a>') as unassign
FROM questionnaire_sample as q, sample_import as si
WHERE q.sample_import_id = si.sample_import_id
AND q.questionnaire_id = '$questionnaire_id'
ORDER BY q.sort_order ASC";
$qs = $db->GetAll($sql);
if (!empty($qs))
{
xhtml_table($qs,array("sort_order","description","call_max","call_attempt_max","answering_machine_messages","random_select","allow_new","edit","unassign"),array(T_("Sort order"),T_("Sample"), T_("Max calls"), T_("Max call attempts"), T_("Answering machine messages"), T_("Selection type"), T_("Allow new numbers to be drawn?"), T_("Edit"), T_("Unassign sample"))); xhtml_table($qs,array("sort_order","description","call_max","call_attempt_max","answering_machine_messages","random_select","allow_new","edit","unassign"),array(T_("Sort order"),T_("Sample"), T_("Max calls"), T_("Max call attempts"), T_("Answering machine messages"), T_("Selection type"), T_("Allow new numbers to be drawn?"), T_("Edit"), T_("Unassign sample")));
} }
else else
print "<div class='alert text-danger'><h4>". T_("No samples selected for this questionnaire") ."</h4></div>"; print "<div class='alert text-danger'><h4>". T_("No samples selected for this questionnaire") ."</h4></div>";
print"</div>";
$sql = "SELECT si.sample_import_id,si.description $sql = "SELECT si.sample_import_id,si.description
FROM sample_import as si FROM sample_import as si
LEFT JOIN questionnaire_sample as q ON (q.questionnaire_id = '$questionnaire_id' AND q.sample_import_id = si.sample_import_id) LEFT JOIN questionnaire_sample as q ON (q.questionnaire_id = '$questionnaire_id' AND q.sample_import_id = si.sample_import_id)
WHERE q.questionnaire_id is NULL WHERE q.questionnaire_id is NULL
AND si.enabled = 1"; AND si.enabled = 1";
$qs = $db->GetAll($sql); $qs = $db->GetAll($sql);
print"</div>";
if (!empty($qs)) if (!empty($qs))
{ {
print "<div class='clearfix '></div>"; print "<div class='clearfix '></div>";
print "<div class='panel-body form-group'><h3 class='text-primary'>" . T_("Add a sample to this questionnaire:") . "</h3>"; print "<div class='panel-body form-group'><h3 class='text-primary col-lg-offset-4'>" . T_("Add a sample to this questionnaire:") . "</h3>";
?> ?>
<form action="" method="get" class="form-horizontal"> <form action="" method="get" class="form-horizontal">
<label for="sample" class="control-label col-sm-4"><?php echo T_("Select sample:");?></label> <label for="sample" class="control-label col-lg-4"><?php echo T_("Select sample:");?></label>
<div class="col-sm-3"><select name="sample" id="sample" class="form-control " > <div class="col-lg-4"><select name="sample" id="sample" class="form-control " >
<?php foreach($qs as $q) { print "<option value=\"{$q['sample_import_id']}\">{$q['description']}</option>"; } ?> </select></div><br/><br/> <?php foreach($qs as $q) { print "<option value=\"{$q['sample_import_id']}\">{$q['description']}</option>"; } ?> </select></div><br/><br/>
<label for="call_max" class="control-label col-sm-4"><?php echo T_("Max calls");?></label> <label for="call_max" class="control-label col-lg-4"><?php echo T_("Max calls");?></label>
<div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="call_max" id="call_max" value="0" class="form-control"/></div> <div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="call_max" id="call_max" value="0" class="form-control"/></div>
<label class="control-label text-info"><?php echo "0 = " . T_("Unlimited");?></label><br/><br/> <label class="control-label text-info"><?php echo "0 = " . T_("Unlimited");?></label><br/><br/>
<label for="call_attempt_max" class="control-label col-sm-4"><?php echo T_("Max call attempts");?></label> <label for="call_attempt_max" class="control-label col-lg-4"><?php echo T_("Max call attempts");?></label>
<div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="call_attempt_max" id="call_attempt_max" value="0" class="form-control"/></div> <div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="call_attempt_max" id="call_attempt_max" value="0" class="form-control"/></div>
<label class="control-label text-info"><?php echo "0 = " . T_("Unlimited");?></label><br/><br/> <label class="control-label text-info"><?php echo "0 = " . T_("Unlimited");?></label><br/><br/>
<label for="answering_machine_messages" class="control-label col-sm-4"><?php echo T_("Number of answering machine messages to leave per case");?></label> <label for="answering_machine_messages" class="control-label col-lg-4"><?php echo T_("Number of answering machine messages to leave per case");?></label>
<div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="answering_machine_messages" id="answering_machine_messages" value="0" class="form-control"/></div> <div class="col-sm-1"><input type="number" min="0" max="20" style="width:6em;" name="answering_machine_messages" id="answering_machine_messages" value="0" class="form-control"/></div>
<label class="control-label text-info"><?php echo "0 = " . T_("Never");?></label><br/><br/> <label class="control-label text-info"><?php echo "0 = " . T_("Never");?></label><br/><br/>
<label for="selecttype" class="control-label col-sm-4"><?php echo T_("Select from sample randomly?");?></label> <label for="selecttype" class="control-label col-lg-4"><?php echo T_("Select from sample randomly?");?></label>
<div class="col-sm-1"><input type="checkbox" id = "selecttype" name="selecttype" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div> <div class="col-sm-1"><input type="checkbox" id = "selecttype" name="selecttype" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div>
<label class="control-label text-info"><?php echo T_("No") ." = ". T_("Sequentially");?></label><br/><br/> <label class="control-label text-info"><?php echo T_("No") ." = ". T_("Sequentially");?></label><br/><br/>
<label for="allownew" class="control-label col-sm-4"><?php echo T_("Allow new numbers to be drawn?");?></label> <label for="allownew" class="control-label col-lg-4"><?php echo T_("Allow new numbers to be drawn?");?></label>
<div class="col-sm-1"><input type="checkbox" id = "allownew" name="allownew" checked="checked" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div><br/><br/><br/> <div class="col-sm-1"><input type="checkbox" id = "allownew" name="allownew" checked="checked" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div>
<label class="control-label text-info"><?php ;?></label><br/><br/><br/>
<?php $self_complete = $db->GetOne("SELECT self_complete FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'"); <?php $self_complete = $db->GetOne("SELECT self_complete FROM questionnaire WHERE questionnaire_id = '$questionnaire_id'");
if ($self_complete) {?> if ($self_complete) {?>
<label for="generatecases" class="control-label col-sm-4"><?php echo T_("Generate cases for all sample records and set outcome to 'Self completion email invitation sent'? (Ideal if you intend to send an email invitation to sample members before attempting to call using queXS)");?></label> <label for="generatecases" class="control-label col-lg-4"><?php echo T_("Generate cases for all sample records and set outcome to 'Self completion email invitation sent'?");?></label>
<div class="col-sm-1"><input type="checkbox" id = "generatecases" name="generatecases" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div><br/><br/><br/> <div class="col-sm-1"><input type="checkbox" id = "generatecases" name="generatecases" class="col-sm-1" data-toggle="toggle" data-size="small" data-on="<?php echo T_("Yes");?>" data-off="<?php echo T_("No");?>" data-width="85"/></div>
<em class="control-label"> * <?php echo T_("Ideal if you intend to send an email invitation to sample members before attempting to call using queXS");?></em>
<div class='clearfix '></div></br>
<?php }?> <?php }?>
<input type="hidden" name="questionnaire_id" value="<?php print($questionnaire_id);?>"/> <input type="hidden" name="questionnaire_id" value="<?php print($questionnaire_id);?>"/>
<div class="col-sm-offset-4 col-sm-3"><button type="submit" name="add_sample" class="btn btn-primary"><i class="fa fa-plus-circle fa-lg"></i>&emsp;<?php echo T_("Add sample");?></button></div> <div class="col-lg-offset-4 col-lg-3"><button type="submit" name="add_sample" class="btn btn-primary"><i class="fa fa-plus-circle fa-lg"></i>&emsp;<?php echo T_("Add sample");?></button></div>
</form></div> </form></div>
<?php <?php
} }
unset($_GET['questionnaire_id']);
} }
xhtml_foot($js_foot); xhtml_foot($js_foot);
?> ?>

View File

@@ -132,7 +132,7 @@ include ("../functions/functions.operator.php");
<li><a href="?g=2&amp;page=import.php"><i class="fa fa-upload fa-fw"></i><?php print T_("Import a sample file") ;?></a></li> <li><a href="?g=2&amp;page=import.php"><i class="fa fa-upload fa-fw"></i><?php print T_("Import a sample file") ;?></a></li>
<li><a href="?g=2&amp;page=samplelist.php"><i class="fa fa-list fa-fw"></i><?php print T_("Sample management") ;?></a></li> <li><a href="?g=2&amp;page=samplelist.php"><i class="fa fa-list fa-fw"></i><?php print T_("Sample management") ;?></a></li>
<li><a href="?g=2&amp;page=samplesearch.php"><i class="fa fa-search fa-fw"></i><?php print T_("Search the sample") ;?></a></li> <li><a href="?g=2&amp;page=samplesearch.php"><i class="fa fa-search fa-fw"></i><?php print T_("Search the sample") ;?></a></li>
<li><a href="?g=2&amp;page=assignsample.php"><i class="fa fa-link fa-fw"></i><?php print T_("Assign samples to questionnaires") ;?></a></li> <li><a href="?g=2&amp;page=assignsample.php"><i class="fa fa-link fa-fw"></i><i class='fa fa-sort-numeric-asc fa-fw'></i><?php print T_("Assign & Sort questionnaire samples") ;?></a></li>
</ul> </ul>
</li> </li>
<li class="has_sub"><a href="" class=""><i class="fa fa-calendar fa-lg"></i><span><?php print T_("Time slots and shifts") ;?></span></a> <li class="has_sub"><a href="" class=""><i class="fa fa-calendar fa-lg"></i><span><?php print T_("Time slots and shifts") ;?></span></a>

View File

@@ -1266,7 +1266,7 @@ CREATE TABLE `questionnaire_sample` (
`random_select` tinyint(1) NOT NULL DEFAULT '0', `random_select` tinyint(1) NOT NULL DEFAULT '0',
`answering_machine_messages` int(11) NOT NULL DEFAULT '1', `answering_machine_messages` int(11) NOT NULL DEFAULT '1',
`allow_new` tinyint(1) NOT NULL DEFAULT '1', `allow_new` tinyint(1) NOT NULL DEFAULT '1',
`sort_order` int(11) NOT NULL DEFAULT '0', `sort_order` int(11) NOT NULL DEFAULT '1',
PRIMARY KEY (`questionnaire_id`,`sample_import_id`) PRIMARY KEY (`questionnaire_id`,`sample_import_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;