X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_event.html;h=b1ba9090e8f06d8ec735967854418f5d2fd130b0;hp=bfc5f43e8a4be0ab51cd557c9847bf323ac53ded;hb=dadbfd8b7e4e471151ed828f5173ceb7dee95fe5;hpb=f3e0ac2b009c4edd5692cb587ff709dac2223ebe diff --git a/httemplate/search/cust_event.html b/httemplate/search/cust_event.html index bfc5f43e8..b1ba9090e 100644 --- a/httemplate/search/cust_event.html +++ b/httemplate/search/cust_event.html @@ -1,6 +1,6 @@ <& elements/search.html, 'title' => $title, - 'html_init' => $html_init, + 'html_init' => include('.init'), 'menubar' => $menubar, 'name' => 'billing events', 'query' => $sql_query, @@ -69,7 +69,7 @@ my $status_sub = sub { my $cust_event = shift; my $status = $cust_event->status; - $status .= ': '.$cust_event->statustext + $status .= ': '. encode_entities($cust_event->statustext) if $cust_event->statustext; my $part_event = $cust_event->part_event; @@ -140,6 +140,11 @@ my $trigger_link = sub { }; +<%shared> +my @scalars = qw( agentnum status custnum invnum pkgnum failed ); +my @lists = qw( eventpart event_status ); +my %search; + <%init> my $curuser = $FS::CurrentUser::CurrentUser; @@ -152,18 +157,19 @@ die "access denied" || $cgi->param('pkgnum') =~ /^(\d+)$/ ); -my $title = $cgi->param('failed') ? 'Failed billing events' : 'Billing events'; - -my %search = (); +my @statuses = $cgi->param('event_status'); +my $title = 'Billing events'; +if ( $statuses[0] eq 'failed' and !defined($statuses[1]) ) { + # tweak the title if we're showing only failed events + $title = 'Failed billing events'; +} -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) ]; } @@ -175,12 +181,16 @@ $search{'ending'} = $ending; my $where = ' WHERE '. FS::cust_event->search_sql_where( \%search ); my $join = FS::cust_event->join_sql() . + # warning: does not show the true service address for package events. + # the query to do that would be painfully slow. 'LEFT JOIN cust_location bill_location '. 'ON (cust_main.bill_locationnum = bill_location.locationnum) '. 'LEFT JOIN cust_location ship_location '. - 'ON (cust_main.ship_locationnum = ship_location.locationnum)'; - # warning: does not show the true service address for package events. - # the query to do that would be painfully slow. + 'ON (cust_main.ship_locationnum = ship_location.locationnum)'. + # include link to referral in case it's in cust-fields + # (maybe we should be using FS::UI::Web::join_cust_main instead?) + 'LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x '. + 'ON (cust_main.refnum = part_referral_x.refnum) '; my $sql_query = { 'table' => 'cust_event', @@ -203,55 +213,6 @@ my $count_sql = "SELECT COUNT(*) FROM cust_event $join $where"; my $conf = new FS::Conf; -my @params = ( @scalars, qw( beginning ending ) ); - -my $html_init = join("\n", map { - ( my $action = $_ ) =~ s/_$//; - include('/elements/progress-init.html', - $_.'form', - [ 'action', @params ], - "../misc/${_}events.cgi", - { 'message' => "Invoices re-${action}ed" }, #would be nice to show the number of them, but... - $_, #key - ), - qq!
!, - qq!!, #not used though - ( map { my $value = encode_entities( $search{$_} ); - qq(); - } - @params #keys %search - ), - ( map { my $value = encode_entities( join(',', @{ $search{$_} } ) ); - qq(); - } - @lists - ), - qq!
! -} qw( print_ email_ fax_ ) ). - -''; - my $menubar = []; if ( $curuser->access_right('Resend invoices') ) { @@ -276,3 +237,46 @@ my $link_cust = sub { }; +<%def .init> +% # action is part of the target URL, don't need to pass it as a param +% foreach my $action (qw(print email fax)) { +<& /elements/progress-init.html, + $action.'_form', + [ @scalars, @lists, 'beginning', 'ending' ], + "../misc/${action}_events.cgi", + { 'message' => "Invoices re-${action}ed" }, #would be nice to show the number of them, but... + $action.'_', #key +&> +
+% foreach my $param (@scalars, 'beginning', 'ending') { + +% } +% foreach my $param (@lists) { +% foreach my $value (@{ $search{$param} }) { + +% } +% } +
+% } # foreach $action + +