diff --git a/include/class.queue.php b/include/class.queue.php index f3c2b772166253b62dbc52708bf04401bf136cf6..64d2e8d990850b8d6dc4b84267750df2888b2017 100644 --- a/include/class.queue.php +++ b/include/class.queue.php @@ -513,6 +513,10 @@ class QueueColumnCondition { return $name; } + function getCriteria() { + return $this->config['crit']; + } + function getSearchQ($query) { list($name, $method, $value) = $this->config['crit']; diff --git a/include/staff/templates/queue-column-condition.tmpl.php b/include/staff/templates/queue-column-condition.tmpl.php index ea090ac36bdd0d9939923743fbd4d8a31d7b30df..8a8d759892f66615ac315c2d1defa8364a441501 100644 --- a/include/staff/templates/queue-column-condition.tmpl.php +++ b/include/staff/templates/queue-column-condition.tmpl.php @@ -22,11 +22,19 @@ $parts = SavedSearch::getSearchField($field, $field_name); // Drop the search checkbox field unset($parts["{$field_name}+search"]); +list(, $crit_method, $crit_value) = $condition->getCriteria(); foreach ($parts as $name=>$F) { - if (substr($name, -7) == '+method') + if (substr($name, -7) == '+method') { // XXX: Hack — drop visibility connection between the method drop-down // and the enabled checkbox unset($F->ht['visibility']); + // Set the select method, if any + if ($crit_method) + $F->value = $crit_method; + } + if ($crit_value && strpos($name, "+{$crit_method}") > 0) { + $F->value = $crit_value; + } } $form = new SimpleForm($parts, false, array('id' => $id)); foreach ($form->getFields() as $F) { ?>