From 4f0e8bf3a329981f73cee33492e0fee48d71b384 Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Tue, 6 Oct 2015 20:05:35 -0400 Subject: [PATCH] queue: Implement inheritance for quick filter --- include/class.queue.php | 7 ++++++- include/class.search.php | 4 ++-- include/staff/queue.inc.php | 8 +++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/include/class.queue.php b/include/class.queue.php index 8bf73879a..510b4c466 100644 --- a/include/class.queue.php +++ b/include/class.queue.php @@ -194,7 +194,12 @@ class CustomQueue extends SavedSearch { } function getQuickFilterField($value=null) { - if ($this->filter + if ($this->filter == '::') { + if ($this->parent) { + return $this->parent->getQuickFilterField($value); + } + } + elseif ($this->filter && ($fields = SavedSearch::getSearchableFields($this->getRoot())) && (list(,$f) = @$fields[$this->filter]) && $f->supportsQuickFilter() diff --git a/include/class.search.php b/include/class.search.php index 06a728424..6626f1225 100644 --- a/include/class.search.php +++ b/include/class.search.php @@ -1107,11 +1107,11 @@ class SavedSearch extends VerySimpleModel { } protected function hasFlag($flag) { - return $this->get('flags') & $flag !== 0; + return $this->flags & $flag !== 0; } protected function clearFlag($flag) { - return $this->set('flags', $this->get('flag') & ~$flag); + return $this->flags &= ~$flag; } protected function setFlag($flag, $value=true) { diff --git a/include/staff/queue.inc.php b/include/staff/queue.inc.php index 47df03bfb..3cc19582d 100644 --- a/include/staff/queue.inc.php +++ b/include/staff/queue.inc.php @@ -89,7 +89,13 @@ else { <div><strong><?php echo __("Quick Filter"); ?></strong></div> <hr/> <select name="filter"> - <option value="::">— <?php echo __('Inherit from parent'); ?> —</option> + <option value="" <?php if ($queue->filter == "") + echo 'selected="selected"'; ?>>— <?php echo __('None'); ?> —</option> + <option value="::" <?php if ($queue->filter == "::") + echo 'selected="selected"'; ?>>— <?php echo __('Inherit from parent'); + if ($queue->parent + && ($qf = $queue->parent->getQuickFilterField())) + echo sprintf(' (%s)', $qf->getLabel()); ?> —</option> <?php foreach (SavedSearch::getSearchableFields('Ticket') as $path=>$f) { list($label, $field) = $f; if (!$field->supportsQuickFilter()) -- GitLab