X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fnotify-tickets.html;h=083e81512731cecc97d47abe9e739cfd45b66d02;hb=a2e5f1d30aae23c3d4eb845fa2e9e5b2ebebcdff;hp=9e9020a41f17adb94f8c088a43c66f205b48948d;hpb=7fe7e453b6eb0778235e0a64e3b654f673d1caa2;p=freeside.git diff --git a/httemplate/elements/notify-tickets.html b/httemplate/elements/notify-tickets.html index 9e9020a41..083e81512 100644 --- a/httemplate/elements/notify-tickets.html +++ b/httemplate/elements/notify-tickets.html @@ -14,27 +14,31 @@ use Class::Load 'load_class'; my $enabled = $FS::TicketSystem::system eq 'RT_Internal'; -$enabled = 0 if $FS::CurrentUser::CurrentUser->option('hide_notify_tickets'); +$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 = FS::TicketSystem->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->RT::SearchBuilder::Limit( - FIELD => 'Status', - OPERATOR => '!=', - ENTRYAGGREGATOR => 'AND', - VALUE => $status, - ); - } - $enabled = 0 if $AnyTickets->Count == 0; + 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->RT::SearchBuilder::Limit( + FIELD => 'Status', + OPERATOR => '!=', + ENTRYAGGREGATOR => 'AND', + VALUE => $status, + ); + } + $enabled = 0 if $AnyTickets->Count == 0; - $UnrepliedTickets = RT::Tickets->new($CurrentUser); - my $search = $class->new(TicketsObj => $UnrepliedTickets); - $search->Prepare; + $UnrepliedTickets = RT::Tickets->new($CurrentUser); + my $search = $class->new(TicketsObj => $UnrepliedTickets); + $search->Prepare; + } else { + $enabled = 0; + } }