From c5fd54d120f25c05cc149b6d4d107c7c35f56fbc Mon Sep 17 00:00:00 2001
From: Peter Rotich <peter@enhancesoft.com>
Date: Tue, 7 Aug 2018 18:50:53 +0000
Subject: [PATCH] Upgrader: Old search criteria

Retain old search criteria when isolate fails. This provide for ability to
fix issues with isolation post-upgrade.
---
 .../upgrader/streams/core/934b8db8-ad9d0a5f.task.php | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php b/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php
index 619dfa4e9..509c7b2f8 100644
--- a/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php
+++ b/include/upgrader/streams/core/934b8db8-ad9d0a5f.task.php
@@ -23,14 +23,16 @@ class QueueSortCreator extends MigrationTask {
         foreach ($old ?: array() as $row) {
             // Only save entries with "valid" criteria
             if (!$row['title']
-                    || !($config = JsonDataParser::parse($row['config'], true))
-                    || !($criteria = self::isolateCriteria($config)))
+                    || !($config = JsonDataParser::parse($row['config'],
+                            true)))
                 continue;
 
             $row['root']   = 'T'; // Ticket Queue
-            $row['flags']  = 0; // Saved Search
-            $row['config'] = JsonDataEncoder::encode(array(
-                        'criteria' => $criteria, 'conditions' => array()));
+            $row['flags']  = 16; // Saved Search
+            if (($criteria = self::isolateCriteria($config)))
+                $row['config'] = JsonDataEncoder::encode(array(
+                            'criteria' => $criteria,
+                            'conditions' => array()));
             CustomQueue::__create(array_intersect_key($row, array_flip(
                             array('staff_id', 'title', 'config', 'flags',
                                 'root', 'created', 'updated'))));
-- 
GitLab