summaryrefslogtreecommitdiff
path: root/rt/share/html/Dashboards
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Dashboards')
-rw-r--r--rt/share/html/Dashboards/Elements/DashboardsForObject6
-rw-r--r--rt/share/html/Dashboards/Elements/ListOfDashboards7
-rw-r--r--rt/share/html/Dashboards/Elements/SelectPrivacy6
-rw-r--r--rt/share/html/Dashboards/Elements/ShowDashboards1
-rw-r--r--rt/share/html/Dashboards/Elements/ShowPortlet/component12
-rw-r--r--rt/share/html/Dashboards/Elements/ShowPortlet/dashboard1
-rwxr-xr-xrt/share/html/Dashboards/Modify.html8
-rw-r--r--rt/share/html/Dashboards/Queries.html6
-rw-r--r--rt/share/html/Dashboards/Render.html1
-rw-r--r--rt/share/html/Dashboards/Subscription.html37
10 files changed, 48 insertions, 37 deletions
diff --git a/rt/share/html/Dashboards/Elements/DashboardsForObject b/rt/share/html/Dashboards/Elements/DashboardsForObject
index 4c9df63ca..3de02161e 100644
--- a/rt/share/html/Dashboards/Elements/DashboardsForObject
+++ b/rt/share/html/Dashboards/Elements/DashboardsForObject
@@ -57,7 +57,7 @@ my $privacy = RT::Dashboard->_build_privacy($Object);
while (my $attr = $Object->Attributes->Next) {
if ($attr->Name =~ /^Dashboard\b/) {
- my $dashboard = RT::Dashboard->new($session{'CurrentUser'});
+ my $dashboard = RT::Dashboard->new($User);
my ($ok, $msg) = $dashboard->Load($privacy, $attr->id);
if (!$ok) {
@@ -79,3 +79,7 @@ while (my $attr = $Object->Attributes->Next) {
return \%dashboards;
</%init>
+<%args>
+$User => $session{'CurrentUser'}
+</%args>
+
diff --git a/rt/share/html/Dashboards/Elements/ListOfDashboards b/rt/share/html/Dashboards/Elements/ListOfDashboards
index d6f5bccad..cc47c48eb 100644
--- a/rt/share/html/Dashboards/Elements/ListOfDashboards
+++ b/rt/share/html/Dashboards/Elements/ListOfDashboards
@@ -48,15 +48,15 @@
<%init>
# put the list of dashboards into the navigation
use RT::Dashboard;
-
-my @objs = RT::Dashboard->new($session{CurrentUser})->ObjectsForLoading(
+my @objs = RT::Dashboard->new($User)->ObjectsForLoading(
IncludeSuperuserGroups => $IncludeSuperuserGroups
);
my %dashboard_map;
for my $object (@objs) {
- my $new_dashboards = $m->comp("/Dashboards/Elements/DashboardsForObject", Object => $object);
+ my $new_dashboards = $m->comp("/Dashboards/Elements/DashboardsForObject",
+ Object => $object, User => $User );
push @{ $dashboard_map{$_} }, @{ $new_dashboards->{$_} || [] }
for qw/personal system/;
@@ -78,5 +78,6 @@ $m->callback(%ARGS, dashboards => \@dashboards, CallbackName => 'ModifyDashboard
return @dashboards;
</%init>
<%args>
+$User => $session{CurrentUser}
$IncludeSuperuserGroups => 1
</%args>
diff --git a/rt/share/html/Dashboards/Elements/SelectPrivacy b/rt/share/html/Dashboards/Elements/SelectPrivacy
index 5628d758d..9eb276a8e 100644
--- a/rt/share/html/Dashboards/Elements/SelectPrivacy
+++ b/rt/share/html/Dashboards/Elements/SelectPrivacy
@@ -60,11 +60,11 @@ foreach my $object (@Objects) {
if (ref($object) eq 'RT::User') {
$label = $object->id == $session{'CurrentUser'}->Id
? loc("My dashboards")
- : loc("[_1]'s dashboards", $m->scomp('/Elements/ShowUser', User => $object));
+ : loc("[_1]'s dashboards", $object->Format);
} else {
- $label = loc("[_1]'s dashboards", $m->interp->apply_escapes($object->Name, 'h'));
+ $label = loc("[_1]'s dashboards", $object->Name);
}
</%perl>
-<option <%$selected|n%> value="<%$privacy%>"><% $label |n %></option>
+<option <%$selected|n%> value="<%$privacy%>"><% $label %></option>
% }
</select>
diff --git a/rt/share/html/Dashboards/Elements/ShowDashboards b/rt/share/html/Dashboards/Elements/ShowDashboards
index 5cf73a71d..b57867b09 100644
--- a/rt/share/html/Dashboards/Elements/ShowDashboards
+++ b/rt/share/html/Dashboards/Elements/ShowDashboards
@@ -54,6 +54,7 @@
% } else {
% $title = loc("[_1]'s dashboards",$Object->Name);
% }
+% $title =~ s/([\\'])/\\$1/g;
% $title = $m->interp->apply_escapes($title, 'h');
<& /Elements/CollectionList,
%ARGS,
diff --git a/rt/share/html/Dashboards/Elements/ShowPortlet/component b/rt/share/html/Dashboards/Elements/ShowPortlet/component
index 5218843f8..3b54da21a 100644
--- a/rt/share/html/Dashboards/Elements/ShowPortlet/component
+++ b/rt/share/html/Dashboards/Elements/ShowPortlet/component
@@ -51,4 +51,14 @@ $Portlet
$Rows => 20
$Preview => 0
</%args>
-% $m->comp($Portlet->{path});
+<%init>
+my $full_path = $Portlet->{path};
+(my $path = $full_path) =~ s{^/Elements/}{};
+
+my $allowed = grep { $_ eq $path } @{RT->Config->Get('HomepageComponents')};
+</%init>
+% if (!$allowed) {
+% $m->out( $m->interp->apply_escapes( loc("Invalid portlet [_1]", $path), "h" ) );
+% } else {
+% $m->comp($full_path);
+% }
diff --git a/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard b/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
index d2ae85d5a..3c35ea891 100644
--- a/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
+++ b/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
@@ -56,7 +56,6 @@ $Depth => 0
<%init>
my $current_dashboard;
-use Scalar::Util 'blessed';
if (blessed($Portlet) && $Portlet->isa('RT::Dashboard')) {
$current_dashboard = $Portlet;
}
diff --git a/rt/share/html/Dashboards/Modify.html b/rt/share/html/Dashboards/Modify.html
index 322b03038..4b797f4f7 100755
--- a/rt/share/html/Dashboards/Modify.html
+++ b/rt/share/html/Dashboards/Modify.html
@@ -92,7 +92,7 @@ my $Dashboard = RT::Dashboard->new($session{'CurrentUser'});
my $method = $Create ? 'ObjectsForCreating' : 'ObjectsForModifying';
my @privacies = $Dashboard->$method;
-Abort(loc("Permission denied")) if @privacies == 0;
+Abort(loc("Permission Denied")) if @privacies == 0;
if ($Create) {
$title = loc("Create a new dashboard");
@@ -124,7 +124,7 @@ else {
if ($id) {
$title = loc("Modify the dashboard [_1]", $Dashboard->Name);
- }
+ }
# If the create failed
else {
$Create = 1;
@@ -137,10 +137,10 @@ if (!$Create && !$tried_create && $id && $ARGS{'Save'}) {
Name => $ARGS{'Name'});
if ($ok) {
- push @results, loc("Dashboard updated");
+ push @results, loc("Dashboard [_1] updated", $Dashboard->Name);
}
else {
- push @results, loc("Dashboard could not be updated: [_1]", $msg);
+ push @results, loc("Dashboard [_1] could not be updated: [_2]", $Dashboard->Name, $msg);
}
}
diff --git a/rt/share/html/Dashboards/Queries.html b/rt/share/html/Dashboards/Queries.html
index c3a4ca542..24c56c5ac 100644
--- a/rt/share/html/Dashboards/Queries.html
+++ b/rt/share/html/Dashboards/Queries.html
@@ -48,8 +48,6 @@
<& /Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
<& /Elements/ListActions, actions => \@results &>
<& Elements/Deleted, searches => \@deleted, Dashboard => $Dashboard &>
@@ -65,7 +63,7 @@
<&| /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>
@@ -268,7 +266,7 @@ for my $pane (sort keys %pane_name) {
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;
diff --git a/rt/share/html/Dashboards/Render.html b/rt/share/html/Dashboards/Render.html
index 30b476bc8..030607749 100644
--- a/rt/share/html/Dashboards/Render.html
+++ b/rt/share/html/Dashboards/Render.html
@@ -47,7 +47,6 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header,
Title => $title,
- JavaScript => $Preview,
ShowBar => $Preview,
Refresh => $Refresh,
&>
diff --git a/rt/share/html/Dashboards/Subscription.html b/rt/share/html/Dashboards/Subscription.html
index b1eaf64f1..3bf39d069 100644
--- a/rt/share/html/Dashboards/Subscription.html
+++ b/rt/share/html/Dashboards/Subscription.html
@@ -92,16 +92,17 @@
<&|/l&>Frequency</&>:
</td><td class="value">
-<input type="radio" name="Frequency" value="daily" <% $fields{'Frequency'} eq 'daily' ? 'checked="checked"' : "" |n %>>
- <&|/l&>daily</&>
-</input><br />
+<input type="radio" id="Frequency-daily" name="Frequency" value="daily" <% $fields{'Frequency'} eq 'daily' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-daily"><&|/l&>daily</&></label>
+<br />
-<input type="radio" name="Frequency" value="m-f" <% $fields{'Frequency'} eq 'm-f' ? 'checked="checked"' : "" |n %>>
- <&|/l&>Monday through Friday</&>
-</input><br />
+<input type="radio" id="Frequency-m-f" name="Frequency" value="m-f" <% $fields{'Frequency'} eq 'm-f' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-m-f"><&|/l&>Monday through Friday</&></label>
+<br />
-<input type="radio" name="Frequency" value="weekly"<% $fields{'Frequency'} eq 'weekly' ? 'checked="checked"' : "" |n %>>
-<&|/l&>weekly</&></input>, <&|/l&>on</&>
+<input type="radio" id="Frequency-weekly" name="Frequency" value="weekly"<% $fields{'Frequency'} eq 'weekly' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-weekly">
+<&|/l&>weekly</&>, <&|/l&>on</&>
<select name="Dow">
<option value="Monday" <% $fields{'Dow'} eq 'Monday' ? 'selected="selected"' : '' |n %>><&|/l&>Monday</&></option>
<option value="Tuesday" <% $fields{'Dow'} eq 'Tuesday' ? 'selected="selected"' : '' |n %>><&|/l&>Tuesday</&></option>
@@ -118,20 +119,22 @@
% }
</select>
<&|/l&>weeks</&>
+</label>
<br />
-<input type="radio" name="Frequency" value="monthly"<% $fields{'Frequency'} eq 'monthly' ? 'checked="checked"' : "" |n %>>
-<&|/l&>monthly</&></input> , <&|/l&>on day</&>
+<input type="radio" id="Frequency-monthly" name="Frequency" value="monthly"<% $fields{'Frequency'} eq 'monthly' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-monthly">
+<&|/l&>monthly</&>, <&|/l&>on day</&>
<select name="Dom">
% for my $dom (1..31) {
<option value="<% $dom %>" <% $fields{'Dom'} == $dom ? 'selected="selected"' : '' |n %>><% loc($dom) %></option>
% }
</select>
+</label>
<br />
-<input type="radio" name="Frequency" value="never" <% $fields{'Frequency'} eq 'never' ? 'checked="checked"' : "" |n %>>
- <&|/l&>never</&>
-</input>
+<input type="radio" id="Frequency-never" name="Frequency" value="never" <% $fields{'Frequency'} eq 'never' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-never"><&|/l&>never</&></label>
</td></tr>
<tr><td class="label">
@@ -248,16 +251,12 @@ if (defined $ARGS{Save}) {
($ok, $msg) = $SubscriptionObj->SetSubValues(%fields);
$fields{'DashboardId'} = $id;
- # not so good to spew base64-encoded data at the user :)
- if ($msg =~ /^Content changed from/) {
- $msg = "Subscription updated.";
- }
-
+ $msg = loc("Subscription updated") if $ok;
push @results, $msg;
}
# create
else {
- Abort(loc("Unable to subscribe to dashboard [_1]: Permission denied", $id))
+ Abort(loc("Unable to subscribe to dashboard [_1]: Permission Denied", $id))
unless $Dashboard->CurrentUserCanSubscribe;
$SubscriptionObj = RT::Attribute->new($session{CurrentUser});