so Search.tsf and Search.rdf work
[freeside.git] / httemplate / misc / email-invoice.cgi
index a560a18..34afa90 100755 (executable)
@@ -4,16 +4,18 @@ my $conf = new FS::Conf;
 
 #untaint invnum
 my($query) = $cgi->keywords;
-$query =~ /^(\d*)$/;
-my $invnum = $1;
+$query =~ /^((.+)-)?(\d+)$/;
+my $template = $2;
+my $invnum = $3;
 my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
 die "Can't find invoice!\n" unless $cust_bill;
 
 my $error = send_email(
-  'from'    => $cust_bill->_agent_invoice_from || $conf->config('invoice_from'),
-  'to'      => [ grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ],
-  'subject' => 'Invoice',
-  'body'    => [ $cust_bill->print_text ],
+  $cust_bill->generate_email(
+    'from'     => 
+      ( $cust_bill->_agent_invoice_from || $conf->config('invoice_from') ),
+    'template' => $template,
+  )
 );
 eidiot($error) if $error;