[Rt-commit] rt branch, 3.9-trunk, updated. rt-3.9.7-938-gd044a16
Shawn Moore
sartak at bestpractical.com
Fri Dec 17 17:14:15 EST 2010
The branch, 3.9-trunk has been updated
via d044a16487a7e023bbaeee17846cbce119f54a0a (commit)
via 178a9565d06ba381b018fb95bb49ad2b72b30a31 (commit)
from 94dfc54d120aae75f931f1719c0e7de7eaf1daa1 (commit)
Summary of changes:
lib/RT/Dashboard/Mailer.pm | 3 +++
lib/RT/SharedSetting.pm | 4 +++-
t/mail/dashboards.t | 14 +++++++++++++-
3 files changed, 19 insertions(+), 2 deletions(-)
- Log -----------------------------------------------------------------
commit 178a9565d06ba381b018fb95bb49ad2b72b30a31
Author: Christian Loos <cloos at netcologne.de>
Date: Fri Dec 17 16:49:57 2010 -0500
sending group dashboards created by SuperUsers
diff --git a/lib/RT/SharedSetting.pm b/lib/RT/SharedSetting.pm
index 6a527a2..0faf31f 100644
--- a/lib/RT/SharedSetting.pm
+++ b/lib/RT/SharedSetting.pm
@@ -404,7 +404,9 @@ sub _GetObject {
return undef;
}
- if ($obj_type eq 'RT::Group' && !$object->HasMemberRecursively($self->CurrentUser->PrincipalObj)) {
+ if ( $obj_type eq 'RT::Group'
+ && !$object->HasMemberRecursively($self->CurrentUser->PrincipalObj)
+ && !$self->CurrentUser->HasRight( Object => $RT::System, Right => 'SuperUser' ) ) {
$RT::Logger->debug("Permission denied, ".$self->CurrentUser->Name.
" is not a member of group");
return undef;
commit d044a16487a7e023bbaeee17846cbce119f54a0a
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Fri Dec 17 17:13:47 2010 -0500
Add X-RT-Dashboard headers to outgoing dashboard mail for debugging
diff --git a/lib/RT/Dashboard/Mailer.pm b/lib/RT/Dashboard/Mailer.pm
index f81c54e..6d5148c 100644
--- a/lib/RT/Dashboard/Mailer.pm
+++ b/lib/RT/Dashboard/Mailer.pm
@@ -324,6 +324,9 @@ sub EmailDashboard {
Subject => $subject,
);
+ $entity->head->add('X-RT-Dashboard-Id', $dashboard->Id);
+ $entity->head->add('X-RT-Dashboard-Subscription-Id', $subscription->Id);
+
$RT::Logger->info('Mailing dashboard "'.$dashboard->Name.'" to user '.$currentuser->Name." <$email>");
my $ok = RT::Interface::Email::SendEmail(
diff --git a/t/mail/dashboards.t b/t/mail/dashboards.t
index 2f3a451..bf02b33 100644
--- a/t/mail/dashboards.t
+++ b/t/mail/dashboards.t
@@ -2,7 +2,7 @@
use strict;
use warnings;
-use RT::Test tests => 50;
+use RT::Test tests => 63;
use RT::Dashboard::Mailer;
my ($baseurl, $m) = RT::Test->started_ok;
@@ -56,6 +56,14 @@ $m->field('Hour' => '06:00');
$m->click_button(name => 'Save');
$m->content_contains("Subscribed to dashboard Testing!");
+my $user = RT::User->new(RT->SystemUser);
+$user->Load('root');
+ok($user->Id, 'loaded user');
+my ($subscription) = $user->Attributes->Named('Subscription');
+ok($subscription->Id, 'loaded subscription');
+my $dashboard_id = $subscription->SubValue('DashboardId');
+ok($dashboard_id, 'got dashboard id');
+
sub produces_dashboard_mail_ok { # {{{
my %args = @_;
@@ -69,6 +77,8 @@ sub produces_dashboard_mail_ok { # {{{
my $mail = parse_mail( $mails[0] );
is($mail->head->get('Subject'), "[example.com] Daily Dashboard: Testing!\n");
is($mail->head->get('From'), "root\n");
+ is($mail->head->get('X-RT-Dashboard-Id'), $dashboard_id . "\n");
+ is($mail->head->get('X-RT-Dashboard-Subscription-Id'), $subscription->Id . "\n");
SKIP: {
skip 'Weird MIME failure', 2;
@@ -146,6 +156,8 @@ is(@mails, 1, "one mail");
my $mail = parse_mail($mails[0]);
is($mail->head->get('Subject'), "[example.com] a Daily b Testing! c\n");
is($mail->head->get('From'), "dashboard\@example.com\n");
+is($mail->head->get('X-RT-Dashboard-Id'), $dashboard_id . "\n");
+is($mail->head->get('X-RT-Dashboard-Subscription-Id'), $subscription->Id . "\n");
SKIP: {
skip 'Weird MIME failure', 2;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list