summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorivan <ivan>2006-01-31 11:02:54 +0000
committerivan <ivan>2006-01-31 11:02:54 +0000
commita5a4afbb77bbdffc25ae94d10b645b0bcc76e859 (patch)
treebf3c028597a3f9017a293b40ea3aa73fac8d662c /httemplate
parentc1bb4ddb71147d0571bd301a6d8c452fdf0e1bc9 (diff)
*** empty log message ***
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/browse/part_bill_event.cgi133
-rwxr-xr-xhttemplate/edit/part_bill_event.cgi126
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' : '' ).