91e31d8320cc859c764878f3bd9a012220dfa3cb
[freeside.git] / httemplate / browse / part_bill_event.cgi
1 <% 
2 my %search;
3 if ( $cgi->param('showdisabled') ) {
4   %search = ();
5 } else {
6   %search = ( 'disabled' => '' );
7 }
8
9 my @part_bill_event = qsearch('part_bill_event', \%search );
10 my $total = scalar(@part_bill_event);
11 %>
12
13 <%= include("/elements/header.html",'Invoice Event Listing', menubar( 'Main Menu' => $p) ) %>
14
15     Invoice events are actions taken on open invoices.<BR><BR>
16
17 <A HREF="<%= $p %>edit/part_bill_event.cgi"><I>Add a new invoice event</I></A>
18 <BR><BR>
19
20 <%= $total %> events
21 <%= $cgi->param('showdisabled')
22       ? do { $cgi->param('showdisabled', 0);
23              '( <a href="'. $cgi->self_url. '">hide disabled events</a> )'; }
24       : do { $cgi->param('showdisabled', 1);
25              '( <a href="'. $cgi->self_url. '">show disabled events</a> )'; }
26 %>
27 <BR><BR>
28
29 <% tie my %payby, 'Tie::IxHash', FS::payby->cust_payby2longname;
30    tie my %freq, 'Tie::IxHash', '1d' => 'daily', '1m' => 'monthly';
31    foreach my $payby ( keys %payby ) {
32      my $oldfreq = '';
33
34      my @payby_part_bill_event =
35        grep { $payby eq $_->payby }
36        sort {    ( $a->freq || '1d') cmp ( $b->freq || '1d' ) # for now
37               ||   $a->seconds       <=>   $b->seconds
38               ||   $a->weight        <=>   $b->weight
39               ||   $a->eventpart     <=>   $b->eventpart
40             }
41        @part_bill_event;
42
43 %>
44
45   <% if ( @payby_part_bill_event ) { %>
46
47     <%= include('/elements/table-grid.html') %>
48   
49     <% my $bgcolor1 = '#eeeeee';
50        my $bgcolor2 = '#ffffff';
51        my $bgcolor;
52     %>
53   
54     <%
55        foreach my $part_bill_event ( @payby_part_bill_event ) {
56          my $url = "${p}edit/part_bill_event.cgi?". $part_bill_event->eventpart;
57          my $delay = duration_exact($part_bill_event->seconds);
58          ( my $plandata = $part_bill_event->plandata ) =~ s/\n/<BR>/go;
59          my $freq = $part_bill_event->freq || '1d';
60     %>
61   
62       <% if ( $oldfreq ne $freq ) { %>
63   
64         <TR>
65           <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>
66         </TR>
67       
68         <TR>
69           <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= $cgi->param('showdisabled') ? 2 : 3 %>>Event</TH>
70           <TH CLASS="grid" BGCOLOR="#cccccc">After</TH>
71           <TH CLASS="grid" BGCOLOR="#cccccc">Action</TH>
72           <TH CLASS="grid" BGCOLOR="#cccccc">Options</TH>
73           <TH CLASS="grid" BGCOLOR="#cccccc">Code</TH>
74         </TR>
75   
76         <%
77            $oldfreq = $freq;
78            $bgcolor = '';
79         %>
80   
81       <% } %>
82   
83       <%
84          if ( $bgcolor eq $bgcolor1 ) {
85             $bgcolor = $bgcolor2;
86           } else {
87             $bgcolor = $bgcolor1;
88           }
89       %>
90   
91       <TR>
92         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>">
93           <%= $part_bill_event->eventpart %></A></TD>
94     <% unless ( $cgi->param('showdisabled') ) { %>
95         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
96           <%= $part_bill_event->disabled ? 'DISABLED' : '' %></TD>
97     <% } %>
98         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%= $url %>">
99           <%= $part_bill_event->event %></A></TD>
100         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
101           <%= $delay %></TD>
102         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
103           <%= $part_bill_event->plan %></TD>
104         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
105           <%= $plandata %></TD>
106         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><FONT SIZE="-1">
107           <%= $part_bill_event->eventcode %></FONT></TD>
108       </TR>
109     <% } %>
110     </TABLE>
111     <BR><BR>
112
113   <% } %>
114
115 <% } %>
116
117 </BODY>
118 </HTML>