diff --git a/scp/js/ticket.js b/scp/js/ticket.js index 19dd87940528b8044ba025b862532b1783fe5f57..93604d5923299ab5fe0544578a889dd4739edbf1 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 dcc41fbc2923f7f0ff9a1b5aa260763205d2808c..f22f7a0645486103f2997abf0112487a0552ebd9 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');