NewTicketsAlert

From Request Tracker Wiki
Jump to navigation Jump to search

This callback adds a conspicuous message on the top of the "My RT" page which displays a list of new tickets assigned to the current user. It also adds a count of the user's new tickets in the page title, ie. "My RT (2)".

Place this in Callbacks/NewTicketsAlert/Elements/MyRT/BeforeTable :

   % if ($count > 0) {
   <script type="text/javascript">document.title += " (<%$count%>)"</script>
   <&|/Widgets/TitleBox, title => $title &>
     % while (my $ticket = $tickets->Next) {
  • <a href="/Ticket/Display.html?id=<%$ticket->Id%>">#<%$ticket->Id%>: <%$ticket->Subject%></a>
  •  % }
   </&>
   % }
   <%INIT>
   my $tickets = RT::Tickets->new( $session{'CurrentUser'} );
   $tickets->LimitOwner( VALUE => $session{'CurrentUser'}->Id );
   $tickets->LimitStatus( VALUE => 'new' );
   my $count = $tickets->CountAll();
   my $title;
   if ($count == 1) {
       $title = "You have a new ticket";
   } else {
       $title = "You have ${count} new tickets";
   }
   </%INIT>