diff options
Diffstat (limited to 'rt/share/html/Dashboards/Elements/ShowDashboards')
-rw-r--r-- | rt/share/html/Dashboards/Elements/ShowDashboards | 85 |
1 files changed, 22 insertions, 63 deletions
diff --git a/rt/share/html/Dashboards/Elements/ShowDashboards b/rt/share/html/Dashboards/Elements/ShowDashboards index 8dcc733eb..56c757bf0 100644 --- a/rt/share/html/Dashboards/Elements/ShowDashboards +++ b/rt/share/html/Dashboards/Elements/ShowDashboards @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -45,68 +45,27 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<&| /Widgets/TitleBox, title => $Title &> -<& SELF:table, %ARGS &> -</&> -<%ARGS> -$Title => undef -</%ARGS> - -<%METHOD table> -<%ARGS> -$Dashboards => undef -$Verbose => 1 -</%ARGS> -<%INIT> -# 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) { - <p><% loc("No dashboards.") %></p> +% foreach my $Object (@Objects) { +% my $Dashboards = RT::Dashboards->new($session{CurrentUser}); +% $Dashboards->LimitToPrivacy(join('-',ref($Object),$Object->Id)); +% my $title; +% if (ref $Object eq 'RT::User' && $Object->Id == $session{CurrentUser}->Id) { +% $title = loc("My dashboards"); +% } else { +% $title = loc("[_1]'s dashboards",$Object->Name); % } -% } else { - <table class="collection-as-table"> - <tr class="collection-as-table"> -% if ($Verbose) { - <th class="collection-as-table"><% loc("#") %></th> -% } - <th class="collection-as-table"><% loc("Name") %></th> - <th class="collection-as-table"><% loc("Subscription") %></th> - </tr> - -% my $i = 0; -% for my $dashboard (@$Dashboards) { -% my $url = sprintf '%s/Dashboards/%d/%s', -% RT->Config->Get('WebPath'), -% $dashboard->Id, -% $dashboard->Name; - - <tr class="collection-as-table <% ++$i % 2 ? 'oddline' : 'evenline' %>"> -% if ($Verbose) { - <td class="collection-as-table"> - <a href="<% $url %>"> - <% $dashboard->Id %> - </a> - </td> -% } - <td class="collection-as-table"> - <a href="<% $url %>"> - <% $dashboard->Name %> - </a> - </td> - <td class="collection-as-table"> - <& /Dashboards/Elements/ShowSubscription, Dashboard => $dashboard, Subscription => $subscription_for{$dashboard->Id} &> - </td> - </tr> -% } - - </table> +% $title = $m->interp->apply_escapes($title, 'h'); +<& /Elements/CollectionList, + %ARGS, + Format => qq{'<a href="__WebPath__/__ShowURL__">__Name__</a>/TITLE:$title', __Subscription__}, + Collection => $Dashboards, +&> % } -</%METHOD> +<%init> +use RT::Dashboards; +my @Objects = RT::Dashboard->new($session{CurrentUser})->ObjectsForLoading(IncludeSuperuserGroups => $IncludeSuperuserGroups); +</%init> +<%args> +$IncludeSuperuserGroups => 1 +</%args> |