X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fbrowse%2Fpart_bill_event.cgi;h=682058b1dc1ea478c1fdbe253fce1561b315b0c2;hb=15777da47bab33e8f0021e6dd9aa6b434fa9be30;hp=670474d48873d3f7a95930c9ddef3d52d5ff3bfc;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d;p=freeside.git diff --git a/httemplate/browse/part_bill_event.cgi b/httemplate/browse/part_bill_event.cgi index 670474d48..682058b1d 100755 --- a/httemplate/browse/part_bill_event.cgi +++ b/httemplate/browse/part_bill_event.cgi @@ -1,71 +1,123 @@ - -<% +<% include("/elements/header.html",'Invoice Event Listing', menubar( 'Main Menu' => $p) ) %> -my %search; -if ( $cgi->param('showdisabled') ) { - %search = (); -} else { - %search = ( 'disabled' => '' ); -} - -my @part_bill_event = qsearch('part_bill_event', \%search ); -my $total = scalar(@part_bill_event); - -%> -<%= header('Invoice Event Listing', menubar( 'Main Menu' => $p) ) %> + Invoice events are actions taken on open invoices.

- Invoice events are actions taken on overdue invoices.

-Add a new invoice event +Add a new invoice event

-<%= $total %> events -<%= $cgi->param('showdisabled') + +<% $total %> events +<% $cgi->param('showdisabled') ? do { $cgi->param('showdisabled', 0); '( hide disabled events )'; } : do { $cgi->param('showdisabled', 1); '( show disabled events )'; } %> -<%= table() %> - - param('showdisabled') ? 2 : 3 %>>Event - Payby - After - Action - Options - Code - - -<% foreach my $part_bill_event ( sort { $a->payby cmp $b->payby - || $a->seconds <=> $b->seconds - || $a->weight <=> $b->weight - || $a->eventpart <=> $b->eventpart - } @part_bill_event ) { - my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart; - use Time::Duration; - my $delay = duration_exact($part_bill_event->seconds); - my $plandata = $part_bill_event->plandata; - $plandata =~ s/\n/
/go; -%> - - - <%= $part_bill_event->eventpart %> -<% unless ( $cgi->param('showdisabled') ) { %> - - <%= $part_bill_event->disabled ? 'DISABLED' : '' %> -<% } %> - - <%= $part_bill_event->event %> - - <%= $part_bill_event->payby %> - - <%= $delay %> - - <%= $part_bill_event->plan %> - - <%= $plandata %> - - <%= $part_bill_event->eventcode %> - -<% } %> - +

+% tie my %payby, 'Tie::IxHash', FS::payby->cust_payby2longname; +% tie my %freq, 'Tie::IxHash', '1d' => 'daily', '1m' => 'monthly'; +% foreach my $payby ( keys %payby ) { +% my $oldfreq = ''; +% +% my @payby_part_bill_event = +% grep { $payby eq $_->payby } +% sort { ( $a->freq || '1d') cmp ( $b->freq || '1d' ) # for now +% || $a->seconds <=> $b->seconds +% || $a->weight <=> $b->weight +% || $a->eventpart <=> $b->eventpart +% } +% @part_bill_event; +% +% +% if ( @payby_part_bill_event ) { + + + <% include('/elements/table-grid.html') %> +% my $bgcolor1 = '#eeeeee'; +% my $bgcolor2 = '#ffffff'; +% my $bgcolor; +% +% +% foreach my $part_bill_event ( @payby_part_bill_event ) { +% my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart; +% my $delay = duration_exact($part_bill_event->seconds); +% ( my $plandata = $part_bill_event->plandata ) =~ s/\n/
/go; +% my $freq = $part_bill_event->freq || '1d'; +% my $reason = $part_bill_event->reasontext ; +% +% if ( $oldfreq ne $freq ) { + + + + param('showdisabled') ? 7 : 8 %>><% ucfirst($freq{$freq}) %> event tests for <% $payby{$payby} %> customers + + + + param('showdisabled') ? 2 : 3 %>>Event + After + Action + Reason + Options + Code + +% +% $oldfreq = $freq; +% $bgcolor = ''; +% +% } +% +% if ( $bgcolor eq $bgcolor1 ) { +% $bgcolor = $bgcolor2; +% } else { +% $bgcolor = $bgcolor1; +% } +% + + + + + <% $part_bill_event->eventpart %> +% unless ( $cgi->param('showdisabled') ) { + + + <% $part_bill_event->disabled ? 'DISABLED' : '' %> +% } + + + <% $part_bill_event->event %> + + <% $delay %> + + <% $part_bill_event->plan %> + + <% $reason %> + + <% $plandata %> + + <% $part_bill_event->eventcode %> + +% } + + +

+% } +% } + + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my %search; +if ( $cgi->param('showdisabled') ) { +%search = (); +} else { +%search = ( 'disabled' => '' ); +} + +my @part_bill_event = qsearch('part_bill_event', \%search ); +my $total = scalar(@part_bill_event); + +