combine ticket notification scrips, #15353
[freeside.git] / httemplate / search / cust_event.html
index 715d1ca..503f252 100644 (file)
@@ -75,29 +75,34 @@ my $status_sub = sub {
 
   my $part_event = $cust_event->part_event;
 
-  if ( $part_event->eventtable eq 'cust_bill' && $part_event->templatename ) {
-    my $alt_templatename = $part_event->templatename;
-    my $alt_link = "$alt_templatename-". $cust_event->tablenum;
+  if ( $part_event->eventtable eq 'cust_bill'
+       && ( $part_event->templatename || $part_event->option('notice_name') )
+     )
+  {
+    my $link = 'invnum='. $cust_event->tablenum;
+    $link .= ';template='. uri_escape($part_event->templatename)
+      if $part_event->templatename;
+    $link .= ';notice_name='. uri_escape($part_event->option('notice_name'))
+      if $part_event->option('notice_name');
 
     my $conf = new FS::Conf;
     my $cust_bill = $cust_event->cust_X;
 
     $status .= qq{
-          ( <A HREF="${p}view/cust_bill.cgi?$alt_link">view</A>
-          | <A HREF="${p}view/cust_bill-pdf.cgi?$alt_link.pdf">view
-              typeset</A>
-          | <A HREF="${p}misc/print-invoice.cgi?$alt_link">re-print</A>
+          ( <A HREF="${p}view/cust_bill.cgi?$link">view</A>
+          | <A HREF="${p}view/cust_bill-pdf.cgi?$link">view&nbsp;typeset</A>
+          | <A HREF="${p}misc/send-invoice.cgi?method=print;$link">re-print</A>
     };
 
     if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { 
       $status .= qq{
-            | <A HREF="${p}misc/email-invoice.cgi?$alt_link">re-email</A>
+            | <A HREF="${p}misc/send-invoice.cgi?method=email;$link">re-email</A>
       };
     } 
    
     if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { 
       $status .= qq{
-            | <A HREF="${p}misc/fax-invoice.cgi?$alt_link">re-fax</A>
+            | <A HREF="${p}misc/send-invoice.cgi?method=fax;$link">re-fax</A>
       }
     } 
 
@@ -152,17 +157,23 @@ my $title = $cgi->param('failed') ? 'Failed billing events' : 'Billing events';
 
 my %search = ();
 
-my @scalars = qw ( agentnum custnum invnum pkgnum failed );
-for my $param ( @scalars ) {
+my @scalars = qw( agentnum status custnum invnum pkgnum failed );
+for my $param (@scalars) {
   $search{$param} = scalar( $cgi->param($param) )
     if $cgi->param($param);
 }
 
+#lists
+my @lists = qw( payby eventpart );
+foreach my $param (@lists) {
+  $search{$param} = [ $cgi->param($param) ];
+}
+
 my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi);
 $search{'beginning'} = $beginning;
 $search{'ending'}    = $ending;
 
-my $where = ' WHERE '. FS::cust_event->search_sql( \%search );
+my $where = ' WHERE '. FS::cust_event->search_sql_where( \%search );
 
 my $join = FS::cust_event->join_sql();
 
@@ -177,7 +188,8 @@ my $sql_query = {
                     FS::UI::Web::cust_sql_fields(),
                   ),
   'hashref'   => {}, 
-  'extra_sql' => "$where ORDER BY _date ASC",
+  'extra_sql' => $where,
+  'order_by'  => 'ORDER BY _date ASC',
   'addl_from' => $join,
 };
 
@@ -203,6 +215,11 @@ my $html_init = join("\n", map {
         }
         @params #keys %search
   ),
+  ( map { my $value = encode_entities( join(',', @{ $search{$_} } ) );
+          qq(<INPUT TYPE="hidden" NAME="$_" VALUE="$value">);
+        }
+        @lists
+  ),
   qq!</FORM>!
 } qw( print_ email_ fax_ ) ).