diff options
author | Ivan Kohler <ivan@freeside.biz> | 2014-05-27 15:20:05 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2014-05-27 15:20:05 -0700 |
commit | c5922713bc199600bc8c203155a4016c9d24cbbc (patch) | |
tree | 1b9ec8323fdab801c4ca6aaf74234bfe8f74c56c /rt/share/html/Prefs | |
parent | 7c841dec307feed06ee532ac18e4114ef68243a8 (diff) |
rt 4.0.20 (RT#13852)
Diffstat (limited to 'rt/share/html/Prefs')
-rw-r--r-- | rt/share/html/Prefs/MyRT.html | 20 | ||||
-rw-r--r-- | rt/share/html/Prefs/Search.html | 15 |
2 files changed, 25 insertions, 10 deletions
diff --git a/rt/share/html/Prefs/MyRT.html b/rt/share/html/Prefs/MyRT.html index a595ccf78..288df0b9a 100644 --- a/rt/share/html/Prefs/MyRT.html +++ b/rt/share/html/Prefs/MyRT.html @@ -97,18 +97,19 @@ if ( $ARGS{'UpdateSummaryRows'} ) { $ARGS{'SummaryRows'} ||= $user->Preferences('SummaryRows', RT->Config->Get('DefaultSummaryRows')); if ($ARGS{Reset}) { - my ($ok, $msg) = $user->SetPreferences('HomepageSettings', {}); - push @results, $ok ? loc('Preferences saved.') : $msg; - delete $session{'my_rt_portlets'}; + for my $pref_name ('HomepageSettings', 'SummaryRows') { + next unless $user->Preferences($pref_name); + my ($ok, $msg) = $user->DeletePreferences($pref_name); + push @results, $msg unless $ok; + } + push @results, loc('Preferences saved.') unless @results; } -unless (exists $session{'my_rt_portlets'}) { - my ($default_portlets) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings'); - my $portlets = $default_portlets ? $default_portlets->Content : {}; - - $session{'my_rt_portlets'} = $user->Preferences('HomepageSettings', $portlets); +my $portlets = $user->Preferences('HomepageSettings'); +unless ($portlets) { + my ($defaults) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings'); + $portlets = $defaults ? $defaults->Content : {}; } -my $portlets = $session{'my_rt_portlets'}; my %seen; my @items = map ["component-$_", loc($_)], grep !$seen{$_}++, @{RT->Config->Get('HomepageComponents')}; @@ -157,7 +158,6 @@ my @panes = $m->comp( my ( $conf, $pane ) = @_; my ($ok, $msg) = $user->SetPreferences( 'HomepageSettings', $conf ); push @results, $ok ? loc('Preferences saved for [_1].', $pane) : $msg; - delete $session{'my_rt_portlets'}; } ); diff --git a/rt/share/html/Prefs/Search.html b/rt/share/html/Prefs/Search.html index bb52a6212..3f2c404cf 100644 --- a/rt/share/html/Prefs/Search.html +++ b/rt/share/html/Prefs/Search.html @@ -68,6 +68,14 @@ </form> +<&|/Widgets/TitleBox, title => loc("Reset") &> +<form method="post" name="ResetSearchOptions" action="Search.html"> +<input type="hidden" name="Reset" value="1" /> +<input type="hidden" name="name" value="<%$ARGS{name}%>" class="hidden" /> +<input type="submit" class="button" name="ResetSearchOptions" value="<% loc('Reset to default') %>"> +</form> +</&> + <%INIT> my @actions; my $title = loc("Customize").' '; @@ -81,6 +89,13 @@ Abort('No search specified') my $search = $class->new ($session{'CurrentUser'}); $search->LoadById ($id); + +# If we are resetting prefs, do so before attempting to load them +if ($ARGS{'Reset'}) { + my ($ok, $msg) = $session{'CurrentUser'}->UserObj->DeletePreferences($ARGS{name}); + push @actions, $ok ? loc('Preferences reset.') : $msg; +} + $title .= loc (RT::SavedSearch->EscapeDescription($search->Description), loc ('"N"')); my $user = $session{'CurrentUser'}->UserObj; my $SearchArg = $user->Preferences($search, $search->Content); |