diff options
author | ivan <ivan> | 2006-01-31 11:02:54 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-01-31 11:02:54 +0000 |
commit | a5a4afbb77bbdffc25ae94d10b645b0bcc76e859 (patch) | |
tree | bf3c028597a3f9017a293b40ea3aa73fac8d662c /httemplate | |
parent | c1bb4ddb71147d0571bd301a6d8c452fdf0e1bc9 (diff) |
*** empty log message ***
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/browse/part_bill_event.cgi | 133 | ||||
-rwxr-xr-x | httemplate/edit/part_bill_event.cgi | 126 |
2 files changed, 175 insertions, 84 deletions
diff --git a/httemplate/browse/part_bill_event.cgi b/httemplate/browse/part_bill_event.cgi index 5a89516df..0b6d0cb2b 100755 --- a/httemplate/browse/part_bill_event.cgi +++ b/httemplate/browse/part_bill_event.cgi @@ -1,6 +1,4 @@ -<!-- mason kludge --> <% - my %search; if ( $cgi->param('showdisabled') ) { %search = (); @@ -10,13 +8,15 @@ if ( $cgi->param('showdisabled') ) { my @part_bill_event = qsearch('part_bill_event', \%search ); my $total = scalar(@part_bill_event); - %> + <%= include("/elements/header.html",'Invoice Event Listing', menubar( 'Main Menu' => $p) ) %> - Invoice events are actions taken on overdue invoices.<BR><BR> + Invoice events are actions taken on open invoices.<BR><BR> + <A HREF="<%= $p %>edit/part_bill_event.cgi"><I>Add a new invoice event</I></A> <BR><BR> + <%= $total %> events <%= $cgi->param('showdisabled') ? do { $cgi->param('showdisabled', 0); @@ -24,48 +24,93 @@ my $total = scalar(@part_bill_event); : do { $cgi->param('showdisabled', 1); '( <a href="'. $cgi->self_url. '">show disabled events</a> )'; } %> -<%= table() %> - <TR> - <TH COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH> - <TH>Payby</TH> - <TH>After</TH> - <TH>Action</TH> - <TH>Options</TH> - <TH>Code</TH> - </TR> +<BR><BR> + +<% 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->seconds <=> $b->seconds + || $a->weight <=> $b->weight + || $a->eventpart <=> $b->eventpart + } + @part_bill_event; -<% 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/<BR>/go; %> - <TR> - <TD><A HREF="<%= $url %>"> - <%= $part_bill_event->eventpart %></A></TD> -<% unless ( $cgi->param('showdisabled') ) { %> - <TD> - <%= $part_bill_event->disabled ? 'DISABLED' : '' %></TD> -<% } %> - <TD><A HREF="<%= $url %>"> - <%= $part_bill_event->event %></A></TD> - <TD> - <%= $part_bill_event->payby %></TD> - <TD> - <%= $delay %></TD> - <TD> - <%= $part_bill_event->plan %></TD> - <TD> - <%= $plandata %></TD> - <TD><FONT SIZE="-1"> - <%= $part_bill_event->eventcode %></FONT></TD> - </TR> + + <% 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/<BR>/go; + my $freq = $part_bill_event->freq || '1d'; + %> + + <% if ( $oldfreq ne $freq ) { %> + + <TR> + <TH CLASS="grid" BGCOLOR="#999999" COLSPAN=<%= $cgi->param('showdisabled') ? 7 : 8 %>><%= ucfirst($freq{$freq}) %> event tests for <FONT SIZE="+1"><I><%= $payby{$payby} %> customers</I></FONT></TH> + </TR> + + <TR> + <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">After</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Action</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Options</TH> + <TH CLASS="grid" BGCOLOR="#cccccc">Code</TH> + </TR> + + <% + $oldfreq = $freq; + $bgcolor = ''; + %> + + <% } %> + + <% + if ( $bgcolor eq $bgcolor1 ) { + $bgcolor = $bgcolor2; + } else { + $bgcolor = $bgcolor1; + } + %> + + <TR> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>"> + <%= $part_bill_event->eventpart %></A></TD> + <% unless ( $cgi->param('showdisabled') ) { %> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <%= $part_bill_event->disabled ? 'DISABLED' : '' %></TD> + <% } %> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>"> + <%= $part_bill_event->event %></A></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <%= $delay %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <%= $part_bill_event->plan %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"> + <%= $plandata %></TD> + <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><FONT SIZE="-1"> + <%= $part_bill_event->eventcode %></FONT></TD> + </TR> + <% } %> + </TABLE> + <BR><BR> + + <% } %> + <% } %> -</TABLE> + </BODY> </HTML> diff --git a/httemplate/edit/part_bill_event.cgi b/httemplate/edit/part_bill_event.cgi index 32ca47af4..57eedbc71 100755 --- a/httemplate/edit/part_bill_event.cgi +++ b/httemplate/edit/part_bill_event.cgi @@ -1,4 +1,4 @@ -<!-- mason kludge --> +<!--mason kludge--> <% if ( $cgi->param('eventpart') && $cgi->param('eventpart') =~ /^(\d+)$/ ) { @@ -23,48 +23,86 @@ if ( $query && $query =~ /^(\d+)$/ ) { $action ||= $part_bill_event->eventpart ? 'Edit' : 'Add'; my $hashref = $part_bill_event->hashref; -print header("$action Invoice Event Definition", menubar( - 'Main Menu' => popurl(2), - 'View all invoice events' => popurl(2). 'browse/part_bill_event.cgi', -)); +%> -print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'), - "</FONT>" - if $cgi->param('error'); +<%= include('/elements/header.html', + "$action Invoice Event Definition", + menubar( + 'Main Menu' => popurl(2), + 'View all invoice events' => popurl(2). 'browse/part_bill_event.cgi', + ) + ) +%> -print '<FORM ACTION="', popurl(1), 'process/part_bill_event.cgi" METHOD=POST>'. - '<INPUT TYPE="hidden" NAME="eventpart" VALUE="'. - $part_bill_event->eventpart .'">'; -print "Invoice Event #", $hashref->{eventpart} ? $hashref->{eventpart} : "(NEW)"; +<% if ( $cgi->param('error') ) { %> + <FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT> +<% } %> -print ntable("#cccccc",2), <<END; -<TR><TD ALIGN="right">Payby</TD><TD><SELECT NAME="payby"> -END +<FORM ACTION="<%= popurl(1) %>process/part_bill_event.cgi" METHOD=POST> +<INPUT TYPE="hidden" NAME="eventpart" VALUE="<%= $part_bill_event->eventpart %>"> +Invoice Event #<%= $hashref->{eventpart} ? $hashref->{eventpart} : "(NEW)" %> -for (qw(CARD DCRD CHEK DCHK LECB BILL COMP)) { - print qq!<OPTION VALUE="$_"!; - if ($part_bill_event->payby eq $_) { - print " SELECTED>$_</OPTION>"; - } else { - print ">$_</OPTION>"; - } -} +<%= ntable("#cccccc",2) %> -my $days = $hashref->{seconds}/86400; + <TR> + <TD ALIGN="right">Event name </TD> + <TD><INPUT TYPE="text" NAME="event" VALUE="<%= $hashref->{event} %>"></TD> + </TR> -print <<END; -</SELECT></TD></TR> -<TR><TD ALIGN="right">Event</TD><TD><INPUT TYPE="text" NAME="event" VALUE="$hashref->{event}"></TD></TR> -<TR><TD ALIGN="right">After</TD><TD><INPUT TYPE="text" NAME="days" VALUE="$days"> days</TD></TR> -END + <TR> + <TD ALIGN="right">For </TD> + <TD> + <SELECT NAME="payby"> + + <% tie my %payby, 'Tie::IxHash', FS::payby->cust_payby2longname; + foreach my $payby ( keys %payby ) { + %> + + <OPTION VALUE="<%= $payby %>"<%= ($part_bill_event->payby eq $payby) ? ' SELECTED' : '' %>><%= $payby{$payby} %></OPTION> + + <% } %> + + </SELECT> customers + </TD> + </TR> + + <% my $days = $hashref->{seconds}/86400; %> -print '<TR><TD ALIGN="right">Disabled</TD><TD>'; -print '<INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"'; -print ' CHECKED' if $hashref->{disabled} eq "Y"; -print '>'; -print '</TD></TR>'; + <TR> + <TD ALIGN="right">After</TD> + <TD><INPUT TYPE="text" NAME="days" VALUE="<%= $days %>"> days</TD> + </TR> -print '<TR><TD ALIGN="right">Action</TD><TD>'; + <TR> + <TD ALIGN="right">Test event</TD> + <TD> + <SELECT NAME="freq"> + + <% tie my %freq, 'Tie::IxHash', '1d' => 'daily', '1m' => 'monthly'; + foreach my $freq ( keys %freq ) { + %> + + <OPTION VALUE="<%= $freq %>"<%= ($part_bill_event->freq eq $freq) ? ' SELECTED' : '' %>><%= $freq{$freq} %></OPTION> + + <% } %> + + </SELECT> + </TD> + </TR> + + + <TR> + <TD ALIGN="right">Disabled</TD> + <TD> + <INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<%= $hashref->{disabled} eq 'Y' ? ' CHECKED' : '' %>> + </TD> + </TR> + + <TR> + <TD VALIGN="top" ALIGN="right">Action</TD> + <TD> + +<% #print ntable(); @@ -113,7 +151,7 @@ tie my %events, 'Tie::IxHash', 'code' => '$cust_main->suspend();', 'weight' => 10, }, - 'suspend' => { + 'suspend-if-balance' => { 'name' => 'Suspend if balance (this invoice and previous) over', 'code' => '$cust_bill->cust_suspend_if_balance_over( %%%balanceover%%% );', 'html' => " $money_char ". '<INPUT TYPE="text" SIZE="7" NAME="balanceover" VALUE="%%%balanceover%%%">', @@ -174,13 +212,13 @@ tie my %events, 'Tie::IxHash', }, 'send' => { - 'name' => 'Send invoice (email/print)', + 'name' => 'Send invoice (email/print/fax)', 'code' => '$cust_bill->send();', 'weight' => 50, }, 'send_alternate' => { - 'name' => 'Send invoice (email/print) with alternate template', + 'name' => 'Send invoice (email/print/fax) with alternate template', 'code' => '$cust_bill->send(\'%%%templatename%%%\');', 'html' => '<INPUT TYPE="text" NAME="templatename" VALUE="%%%templatename%%%">', @@ -188,7 +226,7 @@ tie my %events, 'Tie::IxHash', }, 'send_if_newest' => { - 'name' => 'Send invoice (email/print) with alternate template, if it is still the newest invoice (useful for late notices - set to 31 days or later)', + 'name' => 'Send invoice (email/print/fax) with alternate template, if it is still the newest invoice (useful for late notices - set to 31 days or later)', 'code' => '$cust_bill->send_if_newest(\'%%%if_newest_templatename%%%\');', 'html' => '<INPUT TYPE="text" NAME="if_newest_templatename" VALUE="%%%if_newest_templatename%%%">', @@ -196,7 +234,7 @@ tie my %events, 'Tie::IxHash', }, 'send_agent' => { - 'name' => 'Send invoice (email/print) ', + 'name' => 'Send invoice (email/print/fax) ', 'code' => '$cust_bill->send(\'%%%agent_templatename%%%\', [ %%%agentnum%%% ], \'%%%agent_invoice_from%%%\');', 'html' => sub { '<TABLE BORDER=0> @@ -263,6 +301,7 @@ tie my %events, 'Tie::IxHash', 'code' => '$cust_bill->spool_csv( \'format\' => \'%%%spoolformat%%%\', \'dest\' => \'%%%spooldest%%%\', + \'balanceover\' => \'%%%spoolbalanceover%%%\', \'agent_spools\' => \'%%%spoolagent_spools%%%\', );', 'html' => sub { @@ -303,6 +342,13 @@ tie my %events, 'Tie::IxHash', $html .= '</SELECT>'. '</TD></TR>'. + + '<TR>'. + '<TD ALIGN="right">if balance (this invoice and previous) over </TD>'. + '<TD>'. + "$money_char ". + '<INPUT TYPE="text" SIZE="7" NAME="spoolbalanceover" VALUE="%%%spoolbalanceover%%%">'. + '</TD>'. '<TR><TD ALIGN="right">Individual per-agent spools? </TD>'. '<TD><INPUT TYPE="checkbox" NAME="spoolagent_spools" VALUE="1" '. ( $plandata->{'spoolagent_spools'} ? 'CHECKED' : '' ). |