%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => $title &>
-<& /Prefs/Elements/Tabs,
- current_tab => 'Prefs/MyRT.html',
- Title => $title,
- Searches => \@sys_searches
+<& /Elements/Tabs
&>
<& /Elements/ListActions, actions => \@results &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
-<form method="post" action="MyRT.html">
-<input type="hidden" name="Reset" value="1" />
-<input type="submit" class="button" value="<% loc('Reset to default') %>">
-</form>
-
<br />
% for my $pane ( @panes ) {
title => loc('RT at a glance') .': '. loc( $pane->{Name} ),
bodyclass => ""
&>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &>
+<& /Widgets/SelectionBox:show, self => $pane &>
</&>
% }
<input type="submit" class="button" name="UpdateSummaryRows" value="<% loc('Save') %>" />
</form>
</&>
+<&|/Widgets/TitleBox, title => loc("Reset RT at a glance") &>
+<form method="post" action="MyRT.html">
+<input type="hidden" name="Reset" value="1" />
+<input type="submit" class="button" value="<% loc('Reset to default') %>">
+</form>
+</&>
+
<%INIT>
my @results;
$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-$_", $_], grep !$seen{$_}++, @{RT->Config->Get('HomepageComponents')};
+my @items = map ["component-$_", loc($_)], grep !$seen{$_}++, @{RT->Config->Get('HomepageComponents')};
my $sys = RT::System->new($session{'CurrentUser'});
my @objs = ($sys);
-push @objs, RT::SavedSearches->new( $session{CurrentUser} )->_PrivacyObjects
+push @objs, RT::SavedSearch->new( $session{CurrentUser} )->ObjectsForLoading
if $session{'CurrentUser'}->HasRight( Right => 'LoadSavedSearch',
Object => $RT::System );
my @sys_searches;
for my $object (@objs) {
for ($m->comp("/Search/Elements/SearchesForObject", Object => $object)) {
- my ($desc, $search) = @$_;
+ my ($desc, $loc_desc, $search) = @$_;
my $SearchType = 'Ticket';
if ((ref($search->Content)||'') eq 'HASH') {
}
if ($object eq $sys && $SearchType eq 'Ticket') {
- push @items, ["system-$desc", $desc];
+ push @items, ["system-$desc", $loc_desc];
push @sys_searches, [$desc, $search];
}
else {
my $oid = ref($object).'-'.$object->Id.'-SavedSearch-'.$search->Id;
my $type = ($SearchType eq 'Ticket')
- ? 'Saved Search' : $SearchType; # loc
- push @items, ["saved-$oid", loc($type).": $desc"];
+ ? 'Saved Search' # loc
+ : $SearchType;
+ push @items, ["saved-$oid", loc($type).": $loc_desc"];
}
}
}
my @panes = $m->comp(
'/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
+ panes => ['body', 'sidebar'],
Action => 'MyRT.html',
items => \@items,
current_portlets => $portlets,
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'};
}
);
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
</%INIT>