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>"
22 if $field && $field > 0;
28 $OUT .= qq! <TABLE style="empty-cells: show;" class="svctable"><TR><TH>Package</TH><TH>Status</TH> !;
29 $OUT .= "<TH>Setup</TH><TH>Last Bill</TH><TH>Next Bill</TH><TH>Adjourn</TH>";
30 $OUT .= "<TH>Suspend</TH><TH>Expire</TH><TH>Contract End</TH>";
31 $OUT .= "<TH>Cancel</TH><TH>Services</TH></TR>";
32 foreach my $pkg ( @cust_pkg ) {
33 my $part_pkg = $pkg->{part_pkg}[0];
34 $status = ws_pkgstatus($pkg);
35 if($pkg->{pkgpart} == $pkgpart &&
36 ( ($filter && $filter eq $status) || !$filter) ) {
37 $OUT .= "<TR><TD>$part_pkg->{pkg}</TD><TD>$status</TD>";
38 $OUT .= pdate($pkg->{setup},$date_format);
39 $OUT .= pdate($pkg->{last_bill},$date_format);
40 $OUT .= pdate($pkg->{bill},$date_format);
41 $OUT .= pdate($pkg->{adjourn},$date_format);
42 $OUT .= pdate($pkg->{susp},$date_format);
43 $OUT .= pdate($pkg->{expire},$date_format);
44 $OUT .= pdate($pkg->{contract_end},$date_format);
45 $OUT .= pdate($pkg->{cancel},$date_format);
47 $OUT .= "<TD style='font-size: 85%'>";
48 my @cust_svc = @{$pkg->{cust_svc}};
49 foreach my $cust_svc ( @cust_svc ) {
50 my @label = @{$cust_svc->{'label'}};
51 $OUT .= qq!$label[0]: $label[1] <BR><BR>!;
53 my @part_svc = @{$pkg->{part_svc}};
54 foreach my $part_svc ( @part_svc ) {
55 my $link = qq!<A HREF="${url}provision_svc;!
56 . qq!pkgnum=$pkg->{'pkgnum'};svcpart=$part_svc->{'svcpart'}!
57 . qq!;numavail=$part_svc->{'num_avail'}">Setup !
58 . qq!$part_svc->{'svc'}</A> ($part_svc->{'num_avail'}!
59 . qq! available)<BR><BR>!;
60 $OUT .= $link if $part_svc->{'can_get_dids'};
62 if($part_svc->{'svcdb'} eq 'svc_phone' && $lnp) {
63 $OUT .= qq!<A HREF="${url}provision_svc;lnp=1;!
64 . qq!pkgnum=$pkg->{'pkgnum'};svcpart=$part_svc->{'svcpart'}!
65 . qq!">Port-In $part_svc->{'svc'}</A>!;
76 foreach my $pkg ( @cust_pkg ) {
77 my $status = ws_pkgstatus($pkg);
78 $pkgparts{$pkg->{pkgpart}}{$status}++;
79 my $part_pkg = $pkg->{part_pkg}[0];
80 $pkgparts{$pkg->{pkgpart}}{pkg} = $part_pkg->{pkg};
83 $OUT .= "<TABLE><TR><TD>";
85 $OUT .= qq! <TABLE class="svctable"><TR><TH>Package</TH><TH>Status</TH></TR> !;
87 while(($pkgpart,$count) = each %pkgparts){
88 my $link = "${url}provision;pkgpart=$pkgpart";
89 $OUT .= qq! <TR><TD><A HREF="$link">$count->{pkg}</A></TD><TD> !;
90 $OUT .= ws_pkglink("unbilled",$count,$link);
91 $OUT .= ws_pkglink("active",$count,$link);
92 $OUT .= ws_pkglink("suspended",$count,$link);
93 $OUT .= ws_pkglink("cancelled",$count,$link);
98 $OUT .= qq!</TD><TD VALIGN="TOP" STYLE="padding-left: 11px;">!;
100 if ( @login_svcpart ) {
101 $OUT .= "<B>Self-service accounts</B><BR>";
102 foreach my $pkg ( @cust_pkg ) {
103 @cust_svc = @{$pkg->{cust_svc}};
104 @part_svc = @{$pkg->{part_svc}};
106 foreach my $cust_svc ( @cust_svc ) {
107 $svcpart = $cust_svc->{'svcpart'};
108 next unless grep($_ eq $svcpart, @login_svcpart);
109 @label = @{$cust_svc->{'label'}};
110 $OUT .= $label[1] . " ";
111 unless ( $cust_svc->{'svcnum'} == $svcnum ) {
112 $OUT .= qq!<A HREF="javascript:areyousure('${url}delete_svc;svcnum=$cust_svc->{svcnum}', 'This will permanently delete the $label[1] $label[0]. Are you sure?')">!.
118 foreach my $part_svc ( @part_svc ) {
119 $svcpart = $part_svc->{'svcpart'};
120 next unless grep($_ eq $svcpart, @login_svcpart);
121 $link = "${url}provision_svc;pkgnum=$pkg->{'pkgnum'};".
122 "svcpart=$part_svc->{'svcpart'}";
123 $OUT .= qq!<A HREF="$link">!. 'Setup '. $part_svc->{'svc'}.
124 '</A> ('. $part_svc->{'num_avail'}. ' available)'
125 if $part_svc->{'svcdb'} eq 'svc_acct';
132 foreach my $pkg ( @cust_pkg ) {
133 @cust_svc = @{$pkg->{cust_svc}};
134 foreach my $cust_svc ( @cust_svc ) {
135 @label = @{$cust_svc->{'label'}};
136 $hasPhone = 1 if $label[2] eq 'svc_phone';
140 $link = "${url}didreport;type=";
141 $OUT .= "<BR><BR><BR>Download currently allocated DIDs:<BR>";
142 $OUT .= qq! <A HREF="${link}csv">CSV</A> |
143 <A HREF="${link}xls">Excel</A>!;
144 $OUT .= "<BR><BR>Download recently allocated DIDs:<BR>";
145 $OUT .= qq! <A HREF="${link}csv;recentonly=1">CSV</A> |
146 <A HREF="${link}xls;recentonly=1">Excel</A>!;
149 $OUT .= "</TD></TR></TABLE>";