X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FPrefs%2FQuicksearch.html;h=920d4575d443c5257456d60ca620fae7d74ff3b6;hp=93d0a5f23c70f6605851db146d06a3f06e92772f;hb=de9d037528895f7151a9aead6724ce2df95f9586;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941 diff --git a/rt/share/html/Prefs/Quicksearch.html b/rt/share/html/Prefs/Quicksearch.html index 93d0a5f23..920d4575d 100644 --- a/rt/share/html/Prefs/Quicksearch.html +++ b/rt/share/html/Prefs/Quicksearch.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -46,52 +46,64 @@ %# %# END BPS TAGGED BLOCK }}} <& /Elements/Header, Title => $title &> -<& /Prefs/Elements/Tabs, - current_tab => 'Prefs/MyRT.html', - current_subtab => 'Prefs/Quicksearch.html', - Title => $title +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@actions &>

<&|/l&>Select queues to be displayed on the "RT at a glance" page

-<& /Elements/Submit, Caption => loc("Save Changes"), Label => loc('Save'), Name => 'Save'&> +<& /Elements/Submit, + Caption => loc("Save Changes"), + Label => loc('Save'), + Name => 'Save', + Reset => 1, + CheckAll => 1, + ClearAll => 1, + CheckboxNameRegex => '/^Want-/', + &>
<%INIT> my @actions; my $title = loc("Customize").' '.loc("Quick search"); -# The queue list is not loaded from cache, so it might be a bit inconsistent my $user = $session{'CurrentUser'}->UserObj; my $unwanted = $user->Preferences('QuickSearch', {}); my $Queues = RT::Queues->new($session{'CurrentUser'}); $Queues->UnLimit; -my @queues = grep {$_->CurrentUserHasRight('ShowTicket')} @{$Queues->ItemsArrayRef}; + +my $right = 'ShowTicket'; +$m->callback( + CallbackName => 'ModifyQueues', + Queues => \$Queues, + Right => \$right, + Unwanted => $unwanted, +); + +my @queues = grep { $right ? $_->CurrentUserHasRight($right) : 1 } @{$Queues->ItemsArrayRef}; if ($ARGS{'Save'}) { for my $queue (@queues) { if ($ARGS{"Want-".$queue->Name}) { - delete $unwanted->{$queue->Name}; - } + delete $unwanted->{$queue->Name}; + } else { - ++$unwanted->{$queue->Name}; + ++$unwanted->{$queue->Name}; } } my ($ok, $msg) = $user->SetPreferences('QuickSearch', $unwanted); push @actions, $ok ? loc('Preferences saved.') : $msg; - - # Let QueueSummary rebuild the cache - delete $session{'quick_search_queues'}; }