%#
%# COPYRIGHT:
%#
-%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC
%# <sales@bestpractical.com>
%#
%# (Except where explicitly superseded by other copyright notices)
%#
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => $title &>
-<& /Dashboards/Elements/Tabs,
- current_subtab => $current_subtab,
- Title => $title,
- DashboardObj => $Dashboard &>
-
-<& /Widgets/SelectionBox:header, nojs => 1 &>
+<& /Elements/Tabs &>
<& /Elements/ListActions, actions => \@results &>
<&| /Widgets/TitleBox, title => $pane->{DisplayName} &>
% my ( $pane_name ) = $pane->{Name} =~ /Searches-(.+)/;
- <& /Widgets/SelectionBox:show, self => $pane, nojs => 1, grep( {
+ <& /Widgets/SelectionBox:show, self => $pane, grep( {
$_->{pane} eq $pane_name} @deleted ) ? ( ShowUpdate => 1 ) : () &>
</&>
</form>
<%INIT>
-my $current_subtab = 'Dashboards/Queries.html?id=' . $id;
my @results;
use RT::Dashboard;
-my $Dashboard = new RT::Dashboard($session{'CurrentUser'});
+my $Dashboard = RT::Dashboard->new($session{'CurrentUser'});
my ($ok, $msg) = $Dashboard->LoadById($id);
$ok || Abort(loc("Couldn't load dashboard [_1]: [_2]", $id, $msg));
-my $title = loc("Modify the queries of dashboard [_1]", $Dashboard->Name);
+my $title = loc("Modify the content of dashboard [_1]", $Dashboard->Name);
my %desc_of;
my @items;
for my $desc (@components) {
my $name = "component-$desc";
- push @items, [$name, $desc];
- $desc_of{$name} = $desc;
+ push @items, [$name, loc($desc)];
+ $desc_of{$name} = loc($desc);
$still_exists{$name} = 1;
}
# add dashboards
-my $dashboards = $m->comp("/Dashboards/Elements/DashboardsForObjects", flatten => 1);
-for my $dashboard (@{ $dashboards || [] }) {
+my @dashboards = $m->comp("/Dashboards/Elements/ListOfDashboards");
+for my $dashboard (@dashboards) {
# Users *can* set up mutually recursive dashboards, but don't make it THIS
# easy for them to shoot themselves in the foot.
next if $dashboard->Id == $Dashboard->Id;
my $name = 'dashboard-' . $dashboard->Id . '-' . $dashboard->Privacy;
- my $desc = "Dashboard: " . $dashboard->Name;
+ my $type = loc('Dashboard'); # loc
+ my $desc = "$type: " . $dashboard->Name;
push @items, [$name, $desc];
$desc_of{$name} = $desc;
$still_exists{$name} = 1;
# add saved searches
my @objs = RT::System->new($session{'CurrentUser'});
-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 );
for my $object (@objs) {
for ($m->comp("/Search/Elements/SearchesForObject", Object => $object)) {
- my ($desc, $search) = @$_;
+ my ($desc, $loc_desc, $search) = @$_;
my $SearchType = $search->Content->{'SearchType'} || 'Ticket';
- my $type = ($SearchType eq 'Ticket') ? 'Saved Search' : $SearchType; # loc
- $desc = "$type: $desc";
+ my $type = ( $SearchType eq 'Ticket' )
+ ? 'Saved Search' # loc
+ : $SearchType;
+ $desc = loc($type) . ": $loc_desc";
my $privacy = $Dashboard->_build_privacy($object);
my $name = 'search-' . $search->Id . '-' . $privacy;
push @items, [$name, $desc];
}
}
-# Get the list of queries already in use
+# Get the list of portlets already in use
my @deleted;
do {
my $panes = $Dashboard->Panes;
selected => \%selected,
);
-# Create selectionbox widgets for those queries
+# Create selectionbox widgets for those portlets
my %pane_name = (
'body' => loc('Body'),
);
my @panes;
-for my $pane (keys %pane_name) {
+for my $pane (sort keys %pane_name) {
my $sel = $m->comp(
'/Widgets/SelectionBox:new',
Action => 'Queries.html',
push @panes, $sel;
}
-$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1)
+$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
my @hidden_searches = $Dashboard->PossibleHiddenSearches;