mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
Added "availability" feature
Administrators specificy "availability groups" which include days of the week and times Operators then choose if a case will be available within the availability group
This commit is contained in:
@@ -184,8 +184,27 @@ if ($case_id != false)
|
||||
$db->Execute($sql);
|
||||
}
|
||||
|
||||
if (isset($_GET['submitag']))
|
||||
{
|
||||
$db->StartTrans();
|
||||
|
||||
$sql = "DELETE FROM case_availability
|
||||
WHERE case_id = '$case_id'";
|
||||
|
||||
$db->Execute($sql);
|
||||
|
||||
foreach($_GET as $key => $val)
|
||||
{
|
||||
if (substr($key,0,2) == "ag")
|
||||
{
|
||||
$sql = "INSERT INTO case_availability (case_id,availability_group_id)
|
||||
VALUES ($case_id,'$val')";
|
||||
$db->Execute($sql);
|
||||
}
|
||||
}
|
||||
$db->CompleteTrans();
|
||||
}
|
||||
|
||||
$sql = "SELECT o.description,o.outcome_id, q.description as qd, si.description as sd
|
||||
FROM `case` as c, `outcome` as o, questionnaire as q, sample as s, sample_import as si
|
||||
WHERE c.case_id = '$case_id'
|
||||
@@ -303,6 +322,50 @@ if ($case_id != false)
|
||||
</form>
|
||||
<?
|
||||
|
||||
//view availability
|
||||
if (is_using_availability($case_id))
|
||||
{
|
||||
|
||||
//List all availability group items and whether selected or not (all selected by default unless >= 1 availability group is in use for this case
|
||||
$sql = "SELECT qa.availability_group_id,ag.description,ca.availability_group_id as selected_group_id
|
||||
FROM `case` as c
|
||||
JOIN questionnaire_availability AS qa ON (qa.questionnaire_id = c.questionnaire_id)
|
||||
JOIN availability_group AS ag ON (ag.availability_group_id = qa.availability_group_id)
|
||||
LEFT JOIN case_availability AS ca ON (ca.availability_group_id = qa.availability_group_id and ca.case_id = c.case_id)
|
||||
WHERE c.case_id = '$case_id'";
|
||||
|
||||
$rs = $db->GetAll($sql);
|
||||
|
||||
//Display all availability groups as checkboxes
|
||||
|
||||
print "<p>" . T_("Select groups to limit availability (Selecting none means always available)") . "</p>";
|
||||
print "<form action='?' method='get'>";
|
||||
foreach ($rs as $r)
|
||||
{
|
||||
$checked = "";
|
||||
|
||||
//if ($allselected || $r['availability_group_id'] == $r['selected_group_id'])
|
||||
if ($r['availability_group_id'] == $r['selected_group_id'])
|
||||
$checked = "checked='checked'";
|
||||
|
||||
|
||||
print " <div><input type='checkbox' name='ag{$r['availability_group_id']}' id='ag{$r['availability_group_id']}'
|
||||
value='{$r['availability_group_id']}' $checked />
|
||||
<label for='ag{$r['availability_group_id']}'>{$r['description']}</label></div>";
|
||||
|
||||
}
|
||||
?>
|
||||
<p><input type="hidden" name="case_id" value="<? echo $case_id;?>"/><input class="submitclass" type="submit" name="submitag" value="<? echo T_("Update case availability"); ?>"/></p>
|
||||
</form>
|
||||
<?
|
||||
}
|
||||
else
|
||||
{
|
||||
print "<p>" . T_("Availability groups not defined for this questionnaire") . "</p>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
//assign this to an operator for their next case
|
||||
print "<h3>" . T_("Assign this case to operator (will appear as next case for them)") . "</h3>";
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user