From ef60aa8d8a2be08f10445d83fac9ce7ceb3b5226 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Thu, 22 May 2014 10:32:20 -0500
Subject: [PATCH] pjax: Don't refresh ticket queue during adv search

If the advanced search dialog is up, avoid refreshing the page
---
 scp/js/ticket.js |  5 +++++
 scp/tickets.php  | 18 ++++++++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/scp/js/ticket.js b/scp/js/ticket.js
index 19dd87940..93604d592 100644
--- a/scp/js/ticket.js
+++ b/scp/js/ticket.js
@@ -314,6 +314,11 @@ $.showImagesInline = function(urls, thread_id) {
     });
 };
 
+$.refreshTicketView = function() {
+    if (0 === $('.dialog:visible').length)
+        $.pjax({url: document.location.href, container:'#pjax-container'});
+}
+
 var ticket_onload = function($) {
     $('#response_options form').hide();
     $('#ticket_notes').hide();
diff --git a/scp/tickets.php b/scp/tickets.php
index dcc41fbc2..f22f7a064 100644
--- a/scp/tickets.php
+++ b/scp/tickets.php
@@ -583,6 +583,10 @@ if($thisstaff->canCreateTickets()) {
 }
 
 
+$ost->addExtraHeader('<script type="text/javascript" src="js/ticket.js"></script>');
+$ost->addExtraHeader('<meta name="tip-namespace" content="tickets.queue" />',
+    "$('#content').data('tipNamespace', 'tickets.queue');");
+
 $inc = 'tickets.inc.php';
 if($ticket) {
     $ost->setPageTitle('Ticket #'.$ticket->getNumber());
@@ -615,16 +619,14 @@ if($ticket) {
         $nav->setActiveSubMenu(-1);
 
     //set refresh rate if the user has it configured
-    if(!$_POST && !$_REQUEST['a'] && ($min=$thisstaff->getRefreshRate()))
-        $ost->addExtraHeader('',
-            "window.ticket_refresh = setTimeout(function() { $.pjax({url: document.location.href, container:'#pjax-container'});},"
-            .($min*60000).");");
+    if(!$_POST && !$_REQUEST['a'] && ($min=$thisstaff->getRefreshRate())) {
+        $js = "window.ticket_refresh = setTimeout($.refreshTicketView,"
+            .($min*60000).");";
+        $ost->addExtraHeader('<script type="text/javascript">'.$js.'</script>',
+            $js);
+    }
 }
 
-$ost->addExtraHeader('<script type="text/javascript" src="js/ticket.js"></script>');
-$ost->addExtraHeader('<meta name="tip-namespace" content="tickets.queue" />',
-    "$('#content').data('tipNamespace', 'tickets.queue');");
-
 require_once(STAFFINC_DIR.'header.inc.php');
 require_once(STAFFINC_DIR.$inc);
 require_once(STAFFINC_DIR.'footer.inc.php');
-- 
GitLab