[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