per-agent invoice_from addresses
authorivan <ivan>
Tue, 1 Jun 2004 10:53:10 +0000 (10:53 +0000)
committerivan <ivan>
Tue, 1 Jun 2004 10:53:10 +0000 (10:53 +0000)
FS/FS/cust_bill.pm
httemplate/edit/part_bill_event.cgi

index 1f4d85b..d0583b2 100644 (file)
@@ -317,7 +317,7 @@ sub owed {
   $balance;
 }
 
   $balance;
 }
 
-=item send [ TEMPLATENAME [ , AGENTNUM ] ]
+=item send [ TEMPLATENAME [ , AGENTNUM [ , INVOICE_FROM ] ] ]
 
 Sends this invoice to the destinations configured for this customer: send
 emails or print.  See L<FS::cust_main_invoice>.
 
 Sends this invoice to the destinations configured for this customer: send
 emails or print.  See L<FS::cust_main_invoice>.
@@ -327,12 +327,15 @@ TEMPLATENAME, if specified, is the name of a suffix for alternate invoices.
 AGENTNUM, if specified, means that this invoice will only be sent for customers
 of the specified agent.
 
 AGENTNUM, if specified, means that this invoice will only be sent for customers
 of the specified agent.
 
+INVOICE_FROM, if specified, overrides the default email invoice From: address.
+
 =cut
 
 sub send {
   my $self = shift;
   my $template = scalar(@_) ? shift : '';
   return '' if scalar(@_) && $_[0] && $self->cust_main->agentnum ne shift;
 =cut
 
 sub send {
   my $self = shift;
   my $template = scalar(@_) ? shift : '';
   return '' if scalar(@_) && $_[0] && $self->cust_main->agentnum ne shift;
+  my $invoice_from = scalar(@_) ? shift : $conf->config('invoice_from');
 
   my @print_text = $self->print_text('', $template);
   my @invoicing_list = $self->cust_main->invoicing_list;
 
   my @print_text = $self->print_text('', $template);
   my @invoicing_list = $self->cust_main->invoicing_list;
@@ -340,10 +343,10 @@ sub send {
   if ( grep { $_ ne 'POST' } @invoicing_list or !@invoicing_list  ) { #email
 
     #better to notify this person than silence
   if ( grep { $_ ne 'POST' } @invoicing_list or !@invoicing_list  ) { #email
 
     #better to notify this person than silence
-    @invoicing_list = ($conf->config('invoice_from')) unless @invoicing_list;
+    @invoicing_list = ($invoice_from) unless @invoicing_list;
 
     my $error = send_email(
 
     my $error = send_email(
-      'from'    => $conf->config('invoice_from'),
+      'from'    => $invoice_from,
       'to'      => [ grep { $_ ne 'POST' } @invoicing_list ],
       'subject' => 'Invoice',
       'body'    => \@print_text,
       'to'      => [ grep { $_ ne 'POST' } @invoicing_list ],
       'subject' => 'Invoice',
       'body'    => \@print_text,
index d0fa973..3985eaf 100755 (executable)
@@ -179,7 +179,7 @@ tie my %events, 'Tie::IxHash',
 
   'send_agent' => {
     'name' => 'Send invoice (email/print) ',
 
   'send_agent' => {
     'name' => 'Send invoice (email/print) ',
-    'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', %%%agentnum%%%);',
+    'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', %%%agentnum%%%, \'%%%agent_invoice_from%%%\');',
     'html' => sub {
         '<TABLE BORDER=0>
           <TR>
     'html' => sub {
         '<TABLE BORDER=0>
           <TR>
@@ -191,6 +191,10 @@ tie my %events, 'Tie::IxHash',
             <TD>
               <INPUT TYPE="text" NAME="agent_templatename" VALUE="%%%agent_templatename%%%">
             </TD>
             <TD>
               <INPUT TYPE="text" NAME="agent_templatename" VALUE="%%%agent_templatename%%%">
             </TD>
+            <TD ALIGN="right">email From: </TD>
+            <TD>
+              <INPUT TYPE="text" NAME="agent_invoice_from" VALUE="%%%agent_invoice_from%%%">
+            </TD>
           </TR>
         </TABLE>';
     },
           </TR>
         </TABLE>';
     },