This commit was generated by cvs2svn to compensate for changes in r3921,
[freeside.git] / rt / lib / RT / Action / Autoreply.pm
1 # BEGIN LICENSE BLOCK
2
3 # Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
4
5 # (Except where explictly superceded by other copyright notices)
6
7 # This work is made available to you under the terms of Version 2 of
8 # the GNU General Public License. A copy of that license should have
9 # been provided with this software, but in any event can be snarfed
10 # from www.gnu.org.
11
12 # This work is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 # General Public License for more details.
16
17 # Unless otherwise specified, all modifications, corrections or
18 # extensions to this work which alter its source code become the
19 # property of Best Practical Solutions, LLC when submitted for
20 # inclusion in the work.
21
22
23 # END LICENSE BLOCK
24 package RT::Action::Autoreply;
25 require RT::Action::SendEmail;
26
27 use strict;
28 use vars qw/@ISA/;
29 @ISA = qw(RT::Action::SendEmail);
30
31
32 # {{{ sub SetRecipients
33
34 =head2 SetRecipients
35
36 Sets the recipients of this message to this ticket's Requestor.
37
38 =cut
39
40
41 sub SetRecipients {
42     my $self=shift;
43
44     push(@{$self->{'To'}}, $self->TicketObj->Requestors->MemberEmailAddresses);
45     
46     return(1);
47 }
48
49 # }}}
50
51
52 # {{{ sub SetReturnAddress 
53
54 =head2 SetReturnAddress
55
56 Set this message\'s return address to the apropriate queue address
57
58 =cut
59
60 sub SetReturnAddress {
61     my $self = shift;
62     my %args = ( is_comment => 0,
63                  @_
64                );
65     
66     my $replyto;
67     if ($args{'is_comment'}) { 
68         $replyto = $self->TicketObj->QueueObj->CommentAddress || 
69                      $RT::CommentAddress;
70     }
71     else {
72         $replyto = $self->TicketObj->QueueObj->CorrespondAddress ||
73                      $RT::CorrespondAddress;
74     }
75     
76     unless ($self->TemplateObj->MIMEObj->head->get('From')) {
77         my $friendly_name = $self->TicketObj->QueueObj->Description ||
78                 $self->TicketObj->QueueObj->Name;
79         $friendly_name =~ s/"/\\"/g;
80         $self->SetHeader('From', "\"$friendly_name\" <$replyto>");
81     }
82     
83     unless ($self->TemplateObj->MIMEObj->head->get('Reply-To')) {
84         $self->SetHeader('Reply-To', "$replyto");
85     }
86     
87 }
88   
89 # }}}
90
91 eval "require RT::Action::Autoreply_Vendor";
92 die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Autoreply_Vendor.pm});
93 eval "require RT::Action::Autoreply_Local";
94 die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Autoreply_Local.pm});
95
96 1;