Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / rt / lib / RT / Approval / Rule / Rejected.pm
index b10f5f0..91078d3 100644 (file)
@@ -2,7 +2,7 @@
 #
 # COPYRIGHT:
 #
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
 #                                          <sales@bestpractical.com>
 #
 # (Except where explicitly superseded by other copyright notices)
@@ -65,14 +65,7 @@ sub Commit {    # XXX: from custom prepare code
     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 $note = $self->GetNotes;
 
         my $template = $self->GetTemplate('Approval Rejected',
                                           TicketObj => $rejected,
@@ -82,7 +75,7 @@ sub Commit {    # XXX: from custom prepare code
 
         $rejected->Correspond( MIMEObj => $template->MIMEObj );
         $rejected->SetStatus(
-            Status => 'rejected',
+            Status => $rejected->LifecycleObj->DefaultStatus('denied') || 'rejected',
             Force  => 1,
         );
     }
@@ -112,4 +105,20 @@ sub Commit {    # XXX: from custom prepare code
 
 }
 
+sub GetNotes {
+    my $self = shift;
+    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;
+        }
+    }
+    return $note;
+}
+
+RT::Base->_ImportOverlays();
+
 1;