summaryrefslogtreecommitdiff
path: root/httemplate/elements/notify-tickets.html
blob: b2541f0e71713f8f98444cc4fd446b4c4c0c2e47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
% if ($enabled) {
<div style="font-weight: bold; vertical-align: bottom; text-align: left">
%   if ( $UnrepliedTickets->Count > 0 ) {
  <a href="<% $fsurl %>rt/Search/UnrepliedTickets.html">
    <div class="dot" style="background-color: green"></div>
    <% emt('New activity on [quant,_1,ticket]', $UnrepliedTickets->Count) %>
  </a>
%   } else {
  <% emt('No new activity on tickets') %>
%   }
</div>
% }
<%init>
use Class::Load 'load_class';

my $enabled = $FS::TicketSystem::system eq 'RT_Internal';
$enabled = 0 unless $FS::CurrentUser::CurrentUser->access_right('RT activity notification');
my $UnrepliedTickets;
if ($enabled) {
  my $class = 'RT::Search::UnrepliedTickets';
  load_class($class);
  my $session = eval { FS::TicketSystem->session; };
  if ( $session ) {
    my $CurrentUser = $session->{CurrentUser};
    # if there are no tickets the current user could see, always hide it
    my $AnyTickets = RT::Tickets->new($CurrentUser);
    foreach my $status (qw(resolved rejected deleted)) {
      $AnyTickets->LimitStatus( OPERATOR => '!=', VALUE => $status );
    }
    $enabled = 0 if $AnyTickets->Count == 0;

    $UnrepliedTickets = RT::Tickets->new($CurrentUser);
    my $search = $class->new(TicketsObj => $UnrepliedTickets);
    $search->Prepare;
  } else {
    $enabled = 0;
  }
}
</%init>