ShowDashboardTabs

From Request Tracker Wiki
Revision as of 16:24, 25 January 2011 by 128.104.62.202 (talk) (Content needed to add dashboards to PersonalQuickbar)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Wanted an easy way to get back to my Dashboards from any page so I set out to add the dashboards separated by a dot along the top (to the left of the existing content of the PersonalQuickbar.

Needed to add one file and modify another.

I modified the rt3/local/html/Elements/PersonalQuickbar file to add this:

%my @dashboards = $m->comp("/Dashboards/Elements/ListOfDashboards"); <& /Dashboards/Elements/ShowDashboardTabs:table,

   Dashboards => \@dashboards,
   Verbose => 0,

&>

Added the rt3/local/html/Dashboards/Elements/ShowDashboardTabs file with this content:

<&| /Widgets/TitleBox, title => $Title &> <& SELF:table, %ARGS &> </&> <%ARGS> $Title => undef </%ARGS>

<%METHOD table> <%ARGS> $Dashboards => undef $Verbose => 1 </%ARGS> <%INIT>

  1. map each subscription to a dashboard ID

my %subscription_for;

for my $attr ($session{'CurrentUser'}->UserObj->Attributes->Named('Subscription')) {

$subscription_for{$attr->SubValue('DashboardId')} = $attr;

} </%INIT>

% if (@$Dashboards == 0) { % if ($Verbose) {

<% loc("No dashboards.") %>

% } % } else { % if ($Verbose) { % }

% my $i = 0; % for my $dashboard (@$Dashboards) { % my $url = sprintf '%s/Dashboards/%d/%s', % RT->Config->Get('WebPath'), % $dashboard->Id, % $dashboard->Name; % if ($Verbose) {

               <a href="<% $url %>">
                   <% $dashboard->Id %>
               </a>

% }

               <a href="<% $url %>">
                   <% $dashboard->Name %>
               </a>
               ·

% } % } </%METHOD>