4 my($cat,$count,$link) = (shift,shift,shift);
5 return "0 $cat <BR>" unless $count->{$cat};
6 return qq! <A HREF="${link};filter=$cat">$count->{$cat}</A> $cat <BR> !;
12 $status = "active" if ( $pkg->{setup} && !$pkg->{cancel}
14 $status = "suspended" if ( $pkg->{susp} && !$pkg->{cancel} );
15 $status = "cancelled" if $pkg->{cancel};
20 my($field,$date_format) = (shift,shift);
21 return "<TD>".Date::Format::time2str($date_format,$field)."</TD>"
27 $OUT .= qq! <TABLE BORDER="1"><TR><TH>Package</TH><TH>Status</TH> !;
28 $OUT .= "<TH>Setup</TH><TH>Last Bill</TH><TH>Next Bill</TH><TH>Adjourn</TH>";
29 $OUT .= "<TH>Suspend</TH><TH>Expire</TH><TH>Contract End</TH>";
30 $OUT .= "<TH>Cancel</TH></TR>";
31 foreach my $pkg ( @cust_pkg ) {
32 my $part_pkg = $pkg->{part_pkg}[0];
33 $status = ws_pkgstatus($pkg);
34 if($pkg->{pkgpart} == $pkgpart && ($filter eq $status || !$filter) ) {
35 $OUT .= "<TR><TD>$part_pkg->{pkg}</TD><TD>$status</TD>";
36 $OUT .= pdate($pkg->{setup},$date_format);
37 $OUT .= pdate($pkg->{last_bill},$date_format);
38 $OUT .= pdate($pkg->{bill},$date_format);
39 $OUT .= pdate($pkg->{adjourn},$date_format);
40 $OUT .= pdate($pkg->{susp},$date_format);
41 $OUT .= pdate($pkg->{expire},$date_format);
42 $OUT .= pdate($pkg->{contract_end},$date_format);
43 $OUT .= pdate($pkg->{cancel},$date_format);
51 foreach my $pkg ( @cust_pkg ) {
52 my $status = ws_pkgstatus($pkg);
53 $pkgparts{$pkg->{pkgpart}}{$status}++;
54 my $part_pkg = $pkg->{part_pkg}[0];
55 $pkgparts{$pkg->{pkgpart}}{pkg} = $part_pkg->{pkg};
58 $OUT .= qq! <TABLE BORDER="1"><TR><TH>Package</TH><TH>Status</TH></TR> !;
60 while(($pkgpart,$count) = each %pkgparts){
61 my $link = "${url}provision;pkgpart=$pkgpart";
62 $OUT .= qq! <TR><TD><A HREF="$link">$count->{pkg}</A></TD><TD> !;
63 $OUT .= ws_pkglink("unbilled",$count,$link);
64 $OUT .= ws_pkglink("active",$count,$link);
65 $OUT .= ws_pkglink("suspended",$count,$link);
66 $OUT .= ws_pkglink("cancelled",$count,$link);