[Rt-commit] r19073 - in rt/3.8/trunk: lib/RT/Approval/Rule t/approval

clkao at bestpractical.com clkao at bestpractical.com
Tue Apr 7 01:33:42 EDT 2009


Author: clkao
Date: Tue Apr  7 01:33:42 2009
New Revision: 19073

Modified:
   rt/3.8/trunk/etc/RT_Config.pm.in
   rt/3.8/trunk/lib/RT/Approval/Rule/Rejected.pm
   rt/3.8/trunk/t/approval/basic.t

Log:
Make rejected approval send notes to the requestors by default,
with an option to turn it off.


Modified: rt/3.8/trunk/etc/RT_Config.pm.in
==============================================================================
--- rt/3.8/trunk/etc/RT_Config.pm.in	(original)
+++ rt/3.8/trunk/etc/RT_Config.pm.in	Tue Apr  7 01:33:42 2009
@@ -1389,6 +1389,23 @@
 
 =back
 
+=head1 Approval Configuration
+
+Configration for the approvl system
+
+=over 4
+
+=item C<$ApprovalRejectionNotes>
+
+Should rejection notes be sent to the requestors?  The default is true.
+
+=cut
+
+Set($ApprovalRejectionNotes, 1);
+
+
+=back
+
 =head1 Miscellaneous Configuration
 
 =over 4

Modified: rt/3.8/trunk/lib/RT/Approval/Rule/Rejected.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/Approval/Rule/Rejected.pm	(original)
+++ rt/3.8/trunk/lib/RT/Approval/Rule/Rejected.pm	Tue Apr  7 01:33:42 2009
@@ -65,10 +65,19 @@
     my $self = shift;
     if ( my ($rejected) =
         $self->TicketObj->AllDependedOnBy( Type => 'ticket' ) ) {
+        my $note = '';
+        if ( RT->Config->Get('ApprovalRejectionNotes') ) {
+            my $t = $self->TicketObj->Transactions;
+            while ( my $o = $t->Next ) {
+                next unless $o->Type eq 'Correspond';
+                $note .= $o->Content . "\n" if $o->ContentObj;
+            }
+        }
+
         my $template = $self->GetTemplate('Approval Rejected',
                                           TicketObj => $rejected,
                                           Approval  => $self->TicketObj,
-                                          Notes     => '');
+                                          Notes     => $note);
 
         $rejected->Correspond( MIMEObj => $template->MIMEObj );
         $rejected->SetStatus(

Modified: rt/3.8/trunk/t/approval/basic.t
==============================================================================
--- rt/3.8/trunk/t/approval/basic.t	(original)
+++ rt/3.8/trunk/t/approval/basic.t	Tue Apr  7 01:33:42 2009
@@ -8,7 +8,7 @@
         or plan skip_all => 'require Email::Abstract and Test::Email';
 }
 
-plan tests => 38;
+plan tests => 39;
 
 use RT;
 use RT::Test;
@@ -202,8 +202,8 @@
     );
     RT::I18N::SetMIMEEntityToUTF8($notes); # convert text parts into utf-8
 
-#    my ( $notesval, $notesmsg ) = $dependson_cfo->Correspond( MIMEObj => $notes );
-#    ok($notesval, $notesmsg);
+    my ( $notesval, $notesmsg ) = $dependson_cfo->Correspond( MIMEObj => $notes );
+    ok($notesval, $notesmsg);
 
     my ($ok, $msg) = $dependson_cfo->SetStatus( Status => 'rejected' );
     ok($ok, "cfo can approve - $msg");
@@ -211,7 +211,7 @@
 } { from => qr/RT System/,
     to => 'minion at company.com',
     subject => qr/Ticket Rejected: PO for stationary/,
-    body => qr/rejected by CFO/
+    body => qr/rejected by CFO.*out of resources/s,
 };
 
 $t->Load($t->id);$dependson_ceo->Load($dependson_ceo->id);


More information about the Rt-commit mailing list