From 1ee766015d0911b7e6067baa57c487f4a08aad22 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Thu, 8 Oct 2015 10:52:14 -0400
Subject: [PATCH] queue: Fix edit of queue column conditions

---
 include/class.queue.php                                |  4 ++++
 .../staff/templates/queue-column-condition.tmpl.php    | 10 +++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/include/class.queue.php b/include/class.queue.php
index f3c2b7721..64d2e8d99 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 ea090ac36..8a8d75989 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) { ?>
-- 
GitLab