mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
lp:1477650 - implemented questionnaire/sample sorting
This commit is contained in:
@@ -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 */
|
||||||
|
|
||||||
|
|||||||
@@ -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,7 +188,7 @@ 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,
|
||||||
@@ -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> " . 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> " . 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,72 +238,9 @@ 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> <?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> <?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
|
||||||
{
|
{
|
||||||
@@ -314,39 +248,56 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid']))
|
|||||||
$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);
|
||||||
|
|
||||||
|
// 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']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_GET['sort_order']) && isset($_GET['sort']))
|
||||||
|
{
|
||||||
|
$sort_order = $_GET['sort_order'];
|
||||||
|
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);
|
$db->Execute($sql);
|
||||||
}
|
unset($_GET['sort']); unset($_GET['sort_order']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$questionnaire_id = false;
|
/* auto-set continiuos sort_order values for existing questionnaire_samples if not set before or first-time run */
|
||||||
if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']);
|
if ($db->GetOne("SELECT COUNT(sort_order) - COUNT(DISTINCT sort_order ) FROM questionnaire_sample") >0){
|
||||||
$subtitle = T_("List & Add Sample");
|
$db->Execute("SELECT @i := 0");
|
||||||
xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js")
|
$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> " . 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> " . 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> ". 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,
|
||||||
|
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_max = 0 THEN '". TQ_("Unlimited") ."' ELSE q.call_max END as call_max,
|
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.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.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.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&questionnaire_id=', q.questionnaire_id ,'&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&questionnaire_id=$questionnaire_id&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,
|
FROM questionnaire_sample as q, sample_import as si, questionnaire as qu
|
||||||
CONCAT('<a href=\'\' data-toggle=\'confirmation\' data-placement=\'top\' data-href=\"?questionnaire_id=$questionnaire_id&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
|
WHERE q.sample_import_id = si.sample_import_id
|
||||||
AND q.questionnaire_id = '$questionnaire_id'
|
AND q.questionnaire_id = qu.questionnaire_id
|
||||||
|
AND qu.enabled = 1
|
||||||
ORDER BY q.sort_order ASC";
|
ORDER BY q.sort_order ASC";
|
||||||
|
|
||||||
$qs = $db->GetAll($sql);
|
$qs = $db->GetAll($sql);
|
||||||
|
|
||||||
if (!empty($qs))
|
if (!empty($qs))
|
||||||
@@ -356,82 +307,120 @@ if ($questionnaire_id != false)
|
|||||||
{
|
{
|
||||||
for($i = 0; $i < $co; $i++)
|
for($i = 0; $i < $co; $i++)
|
||||||
{
|
{
|
||||||
$down = "<a href='?questionnaire_id=$questionnaire_id&sort=down&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']}&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&sort=up&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']}&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;\"> <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>  " . $down . "</div>";
|
$qs[$i]['sort_order'] = "<div>   <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span> " . $down . "</div>";
|
||||||
}
|
}
|
||||||
else if ($i == ($co - 1)) //up only
|
else if ($i == ($co - 1)) //up only
|
||||||
{
|
{
|
||||||
$qs[$i]['sort_order'] = " <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span> " . $up;
|
$qs[$i]['sort_order'] = "<div style=\"min-width:5em;\"> " .$up . " <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span>";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$qs[$i]['sort_order'] = "<div style=\"min-width:70px;\"> <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span> " . $up . $down . "</div>";
|
$qs[$i]['sort_order'] = "<div> " . $up . " <span class=\"badge\">" . $qs[$i]['sort_order'] . "</span> " . $down . "</div>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$qs[0]['sort_order'] = " <i class=\"fa fa-minus fa-lg\"></i> ";
|
$qs[0]['sort_order'] = " <i class=\"fa fa-minus fa-lg\"></i> ";
|
||||||
|
|
||||||
|
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> " . 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> ". 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&questionnaire_id=$questionnaire_id&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=\' ".TQ_("Yes")."\' data-btnCancelLabel=\' ".TQ_("No")."\' data-placement=\'top\' data-href=\"?questionnaire_id=$questionnaire_id&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> <?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> <?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);
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ include ("../functions/functions.operator.php");
|
|||||||
<li><a href="?g=2&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&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&page=samplelist.php"><i class="fa fa-list fa-fw"></i><?php print T_("Sample management") ;?></a></li>
|
<li><a href="?g=2&page=samplelist.php"><i class="fa fa-list fa-fw"></i><?php print T_("Sample management") ;?></a></li>
|
||||||
<li><a href="?g=2&page=samplesearch.php"><i class="fa fa-search fa-fw"></i><?php print T_("Search the sample") ;?></a></li>
|
<li><a href="?g=2&page=samplesearch.php"><i class="fa fa-search fa-fw"></i><?php print T_("Search the sample") ;?></a></li>
|
||||||
<li><a href="?g=2&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&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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user