RT# 75817 - updated UI to be more intuitive
[freeside.git] / httemplate / elements / notify-tickets.html
1 % if ($enabled) {
2 <div style="font-weight: bold; vertical-align: bottom; text-align: left">
3 %   if ( $UnrepliedTickets->Count > 0 ) {
4   <a href="<% $fsurl %>rt/Search/UnrepliedTickets.html">
5     <div class="dot" style="background-color: green"></div>
6     <% emt('New activity on [quant,_1,ticket]', $UnrepliedTickets->Count) %>
7   </a>
8 %   } else {
9   <% emt('No new activity on tickets') %>
10 %   }
11 </div>
12 % }
13 <%init>
14 use Class::Load 'load_class';
15
16 my $enabled = $FS::TicketSystem::system eq 'RT_Internal';
17 $enabled = 0 unless $FS::CurrentUser::CurrentUser->access_right('RT activity notification');
18 my $UnrepliedTickets;
19 if ($enabled) {
20   my $class = 'RT::Search::UnrepliedTickets';
21   load_class($class);
22   my $session = eval { FS::TicketSystem->session; };
23   if ( $session ) {
24     my $CurrentUser = $session->{CurrentUser};
25     # if there are no tickets the current user could see, always hide it
26     my $AnyTickets = RT::Tickets->new($CurrentUser);
27     foreach my $status (qw(resolved rejected deleted)) {
28       $AnyTickets->RT::SearchBuilder::Limit(
29         FIELD => 'Status',
30         OPERATOR => '!=',
31         ENTRYAGGREGATOR => 'AND',
32         VALUE => $status,
33       );
34     }
35     $enabled = 0 if $AnyTickets->Count == 0;
36
37     $UnrepliedTickets = RT::Tickets->new($CurrentUser);
38     my $search = $class->new(TicketsObj => $UnrepliedTickets);
39     $search->Prepare;
40   } else {
41     $enabled = 0;
42   }
43 }
44 </%init>