rt 4.2.14 (#13852)
[freeside.git] / rt / share / html / Ticket / Elements / ShowQueue
index 6742d4a..59e39b8 100644 (file)
@@ -2,7 +2,7 @@
 %#
 %# COPYRIGHT:
 %#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC
 %#                                          <sales@bestpractical.com>
 %#
 %# (Except where explicitly superseded by other copyright notices)
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<% $QueueObj->Name %>
+% if ( $query ) {
+<a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $query |u,n %>"><% $value %></a>
+% } else {
+<% $value %>
+% }
 <%ARGS>
+$Ticket => undef
 $QueueObj
 </%ARGS>
 <%INIT>
 my $value = $QueueObj->Name;
+my $query;
+
+if ( $Ticket and $Ticket->CurrentUserHasRight('SeeQueue') ) {
+    # Grab the queue name anyway if the current user can
+    # see the queue based on his role for this ticket
+    $value = $QueueObj->__Value('Name');
+    if ( $session{CurrentUser}->Privileged ) {
+        my @statuses = $QueueObj->ActiveStatusArray();
+        s{(['\\])}{\\$1}g for @statuses;
+        $query = "Queue = " . $QueueObj->id . " AND ( ". join(" OR ", map {"Status = '$_'"} @statuses) . " )";
+    }
+}
+
 $value = '#'. $QueueObj->id
     unless defined $value && length $value;
 </%INIT>