summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-11-23 15:00:20 -0800
committerMark Wells <mark@freeside.biz>2016-11-23 15:14:12 -0800
commitba7725a58fa6c211df8614f57973f49d71d64b80 (patch)
tree64d15b3ba71824bff00a9e06d5559b177bc21204
parent8afd2939872ed96d7e205e85c183a5cf20c36ef6 (diff)
hide the notify-tickets widget if there are no tickets, or if the user turns it off, #73490
-rw-r--r--httemplate/elements/notify-tickets.html8
-rw-r--r--httemplate/pref/pref-process.html1
-rw-r--r--httemplate/pref/pref.html9
3 files changed, 17 insertions, 1 deletions
diff --git a/httemplate/elements/notify-tickets.html b/httemplate/elements/notify-tickets.html
index e661737..16a04f4 100644
--- a/httemplate/elements/notify-tickets.html
+++ b/httemplate/elements/notify-tickets.html
@@ -14,12 +14,20 @@
use Class::Load 'load_class';
my $enabled = $FS::TicketSystem::system eq 'RT_Internal';
+$enabled = 0 if $FS::CurrentUser::CurrentUser->option('hide_notify_tickets');
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->LimitStatus( OPERATOR => '!=', VALUE => $status );
+ }
+ $enabled = 0 if $AnyTickets->Count == 0;
+
$UnrepliedTickets = RT::Tickets->new($CurrentUser);
my $search = $class->new(TicketsObj => $UnrepliedTickets);
$search->Prepare;
diff --git a/httemplate/pref/pref-process.html b/httemplate/pref/pref-process.html
index f5b5bb6..0134e6a 100644
--- a/httemplate/pref/pref-process.html
+++ b/httemplate/pref/pref-process.html
@@ -56,6 +56,7 @@ unless ( $error ) { # if ($access_user) {
enable_mask_clipboard_hack dashboard_customers
customer_view_emails
printtofit
+ hide_notify_tickets
email_address
snom-ip snom-username snom-password
vonage-fromnumber vonage-username vonage-password
diff --git a/httemplate/pref/pref.html b/httemplate/pref/pref.html
index a6b5ba7..f6ad36a 100644
--- a/httemplate/pref/pref.html
+++ b/httemplate/pref/pref.html
@@ -150,7 +150,14 @@ Interface
</TR>
<TR>
- <TH ALIGN="right">How many recently-modified customers displayed on dashboard</TH>
+ <TH ALIGN="right"><% emt('Hide notification of new ticket activity') %></TH>
+ <TD ALIGN="left">
+ <INPUT TYPE="checkbox" NAME="hide_notify_tickets" VALUE="1" <% $curuser->option('hide_notify_tickets') ? 'CHECKED' : '' %>>
+ </TD>
+ </TR>
+
+ <TR>
+ <TH ALIGN="right"><% emt("How many recently-modified customers displayed on dashboard") %></TH>
<TD ALIGN="left" COLSPAN=2>
<INPUT TYPE="text" NAME="dashboard_customers" VALUE="<% $curuser->option('dashboard_customers') %>"></TD>
</TD>