diff options
Diffstat (limited to 'rt/lib/RT/Action/Notify.pm')
| -rwxr-xr-x | rt/lib/RT/Action/Notify.pm | 83 | 
1 files changed, 25 insertions, 58 deletions
| diff --git a/rt/lib/RT/Action/Notify.pm b/rt/lib/RT/Action/Notify.pm index 1e4e4c073..6dca4fd41 100755 --- a/rt/lib/RT/Action/Notify.pm +++ b/rt/lib/RT/Action/Notify.pm @@ -1,31 +1,7 @@ -# BEGIN LICENSE BLOCK -#  -# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -#  -# (Except where explictly superceded by other copyright notices) -#  -# This work is made available to you under the terms of Version 2 of -# the GNU General Public License. A copy of that license should have -# been provided with this software, but in any event can be snarfed -# from www.gnu.org. -#  -# This work is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -# General Public License for more details. -#  -# Unless otherwise specified, all modifications, corrections or -# extensions to this work which alter its source code become the -# property of Best Practical Solutions, LLC when submitted for -# inclusion in the work. -#  -#  -# END LICENSE BLOCK +#$Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Action/Notify.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $ +  package RT::Action::Notify;  require RT::Action::SendEmail; - -use strict; -use vars qw/@ISA/;  @ISA = qw(RT::Action::SendEmail);  # {{{ sub SetRecipients @@ -33,14 +9,14 @@ use vars qw/@ISA/;  =head2 SetRecipients  Sets the recipients of this meesage to Owner, Requestor, AdminCc, Cc or All.  -Explicitly B<does not> notify the creator of the transaction by default +Explicitly B<does not> notify the creator of the transaction.  =cut  sub SetRecipients {      my $self = shift; -    my $arg = $self->Argument; +    $arg = $self->Argument;      $arg =~ s/\bAll\b/Owner,Requestor,AdminCc,Cc/; @@ -48,14 +24,14 @@ sub SetRecipients {      if ($arg =~ /\bOtherRecipients\b/) { -        if ($self->TransactionObj->Attachments->First) { -            push (@Cc, $self->TransactionObj->Attachments->First->GetHeader('RT-Send-Cc')); -            push (@Bcc, $self->TransactionObj->Attachments->First->GetHeader('RT-Send-Bcc')); +        if ($self->TransactionObj->Message->First) { +            push (@Cc, $self->TransactionObj->Message->First->GetHeader('RT-Send-Cc')); +            push (@Bcc, $self->TransactionObj->Message->First->GetHeader('RT-Send-Bcc'));          }      }      if ( $arg =~ /\bRequestor\b/ ) { -        push ( @To, $self->TicketObj->Requestors->MemberEmailAddresses  ); +        push ( @To, @{ $self->TicketObj->Requestors->Emails } );      } @@ -64,12 +40,12 @@ sub SetRecipients {          #If we have a To, make the Ccs, Ccs, otherwise, promote them to To          if (@To) { -            push ( @Cc, $self->TicketObj->Cc->MemberEmailAddresses ); -            push ( @Cc, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses  ); +            push ( @Cc, @{ $self->TicketObj->Cc->Emails } ); +            push ( @Cc, @{ $self->TicketObj->QueueObj->Cc->Emails } );          }          else { -            push ( @Cc, $self->TicketObj->Cc->MemberEmailAddresses  ); -            push ( @To, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses  ); +            push ( @Cc, @{ $self->TicketObj->Cc->Emails } ); +            push ( @To, @{ $self->TicketObj->QueueObj->Cc->Emails } );          }      } @@ -89,16 +65,15 @@ sub SetRecipients {      }      if ( $arg =~ /\bAdminCc\b/ ) { -        push ( @Bcc, $self->TicketObj->AdminCc->MemberEmailAddresses  ); -        push ( @Bcc, $self->TicketObj->QueueObj->AdminCc->MemberEmailAddresses  ); +        push ( @Bcc, @{ $self->TicketObj->AdminCc->Emails } ); +        push ( @Bcc, @{ $self->TicketObj->QueueObj->AdminCc->Emails } );      }      if ($RT::UseFriendlyToLine) {          unless (@To) { -            push ( -		@PseudoTo, -		sprintf($RT::FriendlyToLineFormat, $arg, $self->TicketObj->id), -	    ); +            push ( @PseudoTo, +                "\"$arg of $RT::rtname Ticket #" +                  . $self->TicketObj->id . "\":;" );          }      } @@ -106,17 +81,14 @@ sub SetRecipients {      #Strip the sender out of the To, Cc and AdminCc and set the       # recipients fields used to build the message by the superclass. -    # unless a flag is set  -    if ($RT::NotifyActor) { -        @{ $self->{'To'} }  = @To; -        @{ $self->{'Cc'} }  = @Cc; -        @{ $self->{'Bcc'} } = @Bcc; -    } -    else { -        @{ $self->{'To'} }  = grep ( !/^$creator$/, @To ); -        @{ $self->{'Cc'} }  = grep ( !/^$creator$/, @Cc ); -        @{ $self->{'Bcc'} } = grep ( !/^$creator$/, @Bcc ); -    } + +    $RT::Logger->debug("$self: To is ".join(",",@To)); +    $RT::Logger->debug("$self: Cc is ".join(",",@Cc)); +    $RT::Logger->debug("$self: Bcc is ".join(",",@Bcc)); + +    @{ $self->{'To'} }  = grep ( !/^$creator$/, @To ); +    @{ $self->{'Cc'} }  = grep ( !/^$creator$/, @Cc ); +    @{ $self->{'Bcc'} } = grep ( !/^$creator$/, @Bcc );      @{ $self->{'PseudoTo'} } = @PseudoTo;      return (1); @@ -124,9 +96,4 @@ sub SetRecipients {  # }}} -eval "require RT::Action::Notify_Vendor"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Notify_Vendor.pm}); -eval "require RT::Action::Notify_Local"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Notify_Local.pm}); -  1; | 
