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`;
/* Add sort order feature to questionnaire sample table */
ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '0';
UPDATE `questionnaire_sample` SET sort_order = sample_import_id;
/* after update just open "Assign & Sort questionnaire samples" admin page (assignsample.php) and set required sort_order*/
ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '1';
/* 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' ;
!!-- 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
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;
if (isset($_GET['allownew'])) $an = 1;
$sql = "SELECT MAX(sort_order) + 1
FROM questionnaire_sample
WHERE questionnaire_id = '$questionnaire_id'";
$so = $db->GetOne($sql);
$sql = "SELECT MAX(sort_order) + 1 FROM questionnaire_sample";
if(!$so = $db->GetOne($sql)) $so = 1;
$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')";
@@ -191,15 +188,15 @@ if (isset($_GET['questionnaire_id']) && isset($_GET['rsid']))
if (isset($_GET['edit']))
{
$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,
qr.description as qdescription,
q.call_max,
q.call_attempt_max,
q.random_select,
q.answering_machine_messages,
q.allow_new
q.answering_machine_messages,
q.allow_new
FROM questionnaire_sample as q, sample_import as si, questionnaire as qr
WHERE q.sample_import_id = si.sample_import_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 " <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-sm-6'>" . T_("Sample") . ": <span class='text-primary'>" . $qs['description'] . "</span></h2>
<div class='panel-body form-group'>";
<h2 class='col-lg-6'>" . T_("Questionnaire") . ": <span class='text-primary'>" . $qs['qdescription'] . "</span></h2>
<h2 class='col-lg-6'>" . T_("Sample") . ": <span class='text-primary'>" . $qs['description'] . "</span></h2>
<div class='clearfix'></div><div class='panel-body form-group'>";
$allownew = $selected ="";
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>
</form></div>
<?php
xhtml_foot($js_foot);
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
{
//need to remove rsid from questionnaire
$sql = "DELETE FROM questionnaire_sample
WHERE questionnaire_id = '$questionnaire_id'
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']);
}
$questionnaire_id = false;
if (isset($_GET['questionnaire_id'])) $questionnaire_id = bigintval($_GET['questionnaire_id']);
$subtitle = T_("List & Add Sample");
xhtml_head(T_("Assign samples to questionnaire: "),true,$css,$js_head,false,false,false,$subtitle);//array("../css/table.css"),array("../js/window.js")
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);
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 "<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'>
<h3 class='text-primary'>". T_("Samples selected for this questionnaire") .":</h3>";
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>
<div class='panel-body'>";
$sql = "SELECT q.sort_order as 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-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
$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_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,
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
FROM questionnaire_sample as q, sample_import as si, questionnaire as qu
WHERE q.sample_import_id = si.sample_import_id
AND q.questionnaire_id = '$questionnaire_id'
ORDER BY q.sort_order ASC";
AND q.questionnaire_id = qu.questionnaire_id
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);
if ($co > 1)
{
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>";
$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>";
$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='?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
{
$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
{
$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
{
$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
$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")));
}
else
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
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)
WHERE q.questionnaire_id is NULL
AND si.enabled = 1";
$qs = $db->GetAll($sql);
print"</div>";
if (!empty($qs))
{
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">
<label for="sample" class="control-label col-sm-4"><?php echo T_("Select sample:");?></label>
<div class="col-sm-3"><select name="sample" id="sample" class="form-control " >
<label for="sample" class="control-label col-lg-4"><?php echo T_("Select sample:");?></label>
<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/>
<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>
<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>
<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>
<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>
<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>
<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/>
<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>
<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'");
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>
<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/>
<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>
<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 }?>
<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>
<?php
}
unset($_GET['questionnaire_id']);
}
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=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=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>
</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>

View File

@@ -1266,7 +1266,7 @@ CREATE TABLE `questionnaire_sample` (
`random_select` tinyint(1) NOT NULL DEFAULT '0',
`answering_machine_messages` int(11) 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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;