<STYLE TYPE="text/css">
.package TH { font-size: medium }
.package TR { font-size: smaller }
-.package .datehdr TH { font-size: smaller }
.package .pkgnum { font-size: medium }
.package .provision { font-size: larger; color: red; font-weight: bold }
</STYLE>
%>
<TABLE CLASS="package" BORDER=1 CELLSPACING=0 CELLPADDING=2 BORDERCOLOR="#999999">
<TR>
- <TH COLSPAN=2 ROWSPAN=2>Package</TH>
- <TH COLSPAN=6>Dates</TH>
- <TH COLSPAN=2 ROWSPAN=2>Services</TH>
-</TR>
-<TR CLASS="datehdr">
- <TH>Setup</TH>
- <TH>Last bill</TH>
- <TH>Next bill</TH>
- <TH>Susp.</TH>
- <TH>Expire</TH>
- <TH>Cancel</TH>
+ <TH COLSPAN=2>Package</TH>
+ <TH>Status</TH>
+ <TH COLSPAN=2>Services</TH>
</TR>
<%
foreach my $pkg (sort pkgsort_pkgnum_cancel @$packages) {
<%=$pkg->{pkg}%> - <%=$pkg->{comment}%> ( <%=pkg_details_link($pkg)%> )<BR>
<% unless ($pkg->{cancel}) { %>
( <%=pkg_change_link($pkg)%> )
- ( <%=($pkg->{susp}) ? pkg_unsuspend_link($pkg) : pkg_suspend_link($pkg)%> | <%=pkg_cancel_link($pkg)%> )
( <%=pkg_dates_link($pkg)%> | <%=pkg_customize_link($pkg)%> )
<% } %>
</TD>
<%
- foreach (qw(setup last_bill next_bill susp expire cancel)) {
- print qq! <TD ROWSPAN=$rowspan>! . pkg_datestr($pkg,$_) . qq!</TD>\n!;
+ #foreach (qw(setup last_bill next_bill susp expire cancel)) {
+ # print qq! <TD ROWSPAN=$rowspan>! . pkg_datestr($pkg,$_) . qq!</TD>\n!;
+ #}
+ print "<TD ROWSPAN=$rowspan>". &itable('');
+
+ #move
+ my %freq = (
+ 1 => 'monthly',
+ 2 => 'bi-monthly',
+ 3 => 'quarterly',
+ 6 => 'semi-annually',
+ 12 => 'annually',
+ 24 => 'bi-annually',
+ 36 => 'tri-annually',
+ );
+
+ sub freq {
+ my $freq = shift;
+ exists $freq{$freq} ? $freq{$freq} : "every $freq months";
}
+ #eomove
+
+ if ( $pkg->{cancel} ) { #status: cancelled
+
+ print '<TR><TD><FONT COLOR="#ff0000">Cancelled </FONT></TD><TD>'.
+ pkg_datestr($pkg,'cancel'). '</TD></TR>';
+ unless ( $pkg->{setup} ) {
+ print '<TR><TD COLSPAN=2>Never billed</TD></TR>';
+ } else {
+ print "<TR><TD>Setup </TD><TD>".
+ pkg_datestr($pkg, 'setup'). '</TD></TR>';
+ print "<TR><TD>Last bill </TD><TD>".
+ pkg_datestr($pkg, 'last_bill'). '</TD></TR>'
+ if $pkg->{'last_bill'};
+ print "<TR><TD>Suspended </TD><TD>".
+ pkg_datestr($pkg, 'susp'). '</TD></TR>'
+ if $pkg->{'susp'};
+ }
+
+ } else {
+
+ if ( $pkg->{susp} ) { #status: suspended
+ print '<TR><TD><FONT COLOR="#FF9900">Suspended </FONT></TD><TD>'.
+ pkg_datestr($pkg,'susp'). '</TD></TR>';
+ unless ( $pkg->{setup} ) {
+ print '<TR><TD COLSPAN=2>Never billed</TD></TR>';
+ } else {
+ print "<TR><TD>Setup </TD><TD>".
+ pkg_datestr($pkg, 'setup'). '</TD></TR>';
+ }
+ print "<TR><TD>Last bill </TD><TD>".
+ pkg_datestr($pkg, 'last_bill'). '</TD></TR>'
+ if $pkg->{'last_bill'};
+ # next bill ??
+ print "<TR><TD>Expires </TD><TD>".
+ pkg_datestr($pkg, 'expire'). '</TD></TR>'
+ if $pkg->{'expire'};
+ print '<TR><TD COLSPAN=2>( '. pkg_unsuspend_link($pkg).
+ ' | '. pkg_cancel_link($pkg). ' )</TD></TR>';
+
+ } else { #status: active
+
+ unless ( $pkg->{setup} ) { #not setup
+
+ print '<TR><TD COLSPAN=2>Not yet billed (';
+ unless ( $pkg->{freq} ) {
+ print 'one-time charge)</TD></TR>';
+ print '<TR><TD COLSPAN=2>( '. pkg_cancel_link($pkg).
+ ' )</TD</TR>';
+ } else {
+ print 'billed '. freq($pkg->{freq}). ')</TD></TR>';
+ }
+
+ } else { #setup
+
+ unless ( $pkg->{freq} ) {
+ print "<TR><TD COLSPAN=2>One-time charge</TD></TR>".
+ '<TR><TD>Billed </TD><TD>'.
+ pkg_datestr($pkg,'setup'). '</TD></TR>';
+ } else {
+ print '<TR><TD COLSPAN=2><FONT COLOR="#00CC00">Active</FONT>, '.
+ 'billed '. freq($pkg->{freq}). '</TD></TR>'.
+ '<TR><TD>Setup </TD><TD>'.
+ pkg_datestr($pkg, 'setup'). '</TD></TR>';
+ }
+
+ }
+
+ print "<TR><TD>Last bill </TD><TD>".
+ pkg_datestr($pkg, 'last_bill'). '</TD></TR>'
+ if $pkg->{'last_bill'};
+ print "<TR><TD>Next bill </TD><TD>".
+ pkg_datestr($pkg, 'next_bill'). '</TD></TR>'
+ if $pkg->{'next_bill'};
+ print "<TR><TD>Expires </TD><TD>".
+ pkg_datestr($pkg, 'expire'). '</TD></TR>'
+ if $pkg->{'expire'};
+ if ( $pkg->{freq} ) {
+ print '<TR><TD COLSPAN=2>( '. pkg_suspend_link($pkg).
+ ' | '. pkg_cancel_link($pkg). ' )</TD></TR>';
+ }
+
+ }
+
+ }
+
+ print "</TABLE></TD>\n";
+
if ($rowspan == 0) { print qq!</TR>\n!; next; }
my $cnt = 0;
$pkg{pkg} = $part_pkg->pkg;
$pkg{pkgpart} = $part_pkg->pkgpart;
$pkg{comment} = $part_pkg->getfield('comment');
+ $pkg{freq} = $part_pkg->freq;
$pkg{setup} = $cust_pkg->getfield('setup');
$pkg{last_bill} = $cust_pkg->getfield('last_bill');
$pkg{next_bill} = $cust_pkg->getfield('bill');
}
sub pkg_datestr {
- my ($pkg,$field) = (shift,shift) or return '';
- return $pkg->{$field} ? time2str('%D<BR><FONT SIZE=-3>%l:%M:%S%P %z</FONT>',
- $pkg->{$field})
- : ' ';
+ my($pkg, $field) = @_ or return '';
+ return ' ' unless $pkg->{$field};
+ my $format = $conf->exists('pkg_showtimes')
+ ? '<B>%D</B> <FONT SIZE=-3>%l:%M:%S%P %z</FONT>'
+ : '<B>%b %o, %Y</B>';
+ ( my $strip = time2str($format, $pkg->{$field}) ) =~ s/ (\d)/$1/g;
+ $strip;
}
sub pkg_details_link {