import rt 3.8.7
[freeside.git] / rt / share / html / Dashboards / Elements / ListOfDashboards
diff --git a/rt/share/html/Dashboards/Elements/ListOfDashboards b/rt/share/html/Dashboards/Elements/ListOfDashboards
new file mode 100644 (file)
index 0000000..b2cbd3e
--- /dev/null
@@ -0,0 +1,19 @@
+<%init>
+# put the list of dashboards into the navigation
+use RT::Dashboard;
+
+my @objs = RT::Dashboard->new($session{CurrentUser})->_PrivacyObjects(ShowSystem => 1);
+my $dashboard_map = $m->comp("/Dashboards/Elements/DashboardsForObjects", Objects => \@objs);
+
+my @dashboards = (
+    (sort { $a->Id <=> $b->Id } @{ $dashboard_map->{personal} || [] }),
+    (sort { $a->Id <=> $b->Id } @{ $dashboard_map->{system}   || [] }),
+
+    map { sort { $a->Id <=> $b->Id } @{ $dashboard_map->{group}{$_} } }
+        keys %{ $dashboard_map->{group} || {} },
+);
+
+$m->callback(%ARGS, dashboards => \@dashboards, CallbackName => 'ModifyDashboards');
+
+return @dashboards;
+</%init>