1 %my $conf = new FS::Conf;
3 %my @svc_broadband = ();
4 %my $sortby=\*svcnum_sort;
5 %if ( $cgi->param('magic') =~ /^(all|unlinked)$/ ) {
7 % @svc_broadband=qsearch('svc_broadband',{});
9 % if ( $cgi->param('magic') eq 'unlinked' ) {
10 % @svc_broadband = grep { qsearchs('cust_svc', {
11 % 'svcnum' => $_->svcnum,
19 % if ( $cgi->param('sortby') =~ /^(\w+)$/ ) {
21 % if ( $sortby eq 'blocknum' ) {
22 % $sortby = \*blocknum_sort;
26 %} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
29 % qsearch( 'svc_broadband', {}, '',
30 % " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
31 % " WHERE cust_svc.svcnum = svc_external.svcnum ) "
34 %} elsif ( $cgi->param('ip_addr') =~ /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/ ) {
36 % @svc_broadband = qsearchs('svc_broadband',{'ip_addr'=>$ip_addr});
39 %my %routerbyblock = ();
40 %foreach my $router (qsearch('router', {})) {
41 % foreach ($router->addr_block) {
42 % $routerbyblock{$_->blocknum} = $router;
46 %if ( scalar(@svc_broadband) == 1 ) {
47 % print $cgi->redirect(popurl(2). "view/svc_broadband.cgi?". $svc_broadband[0]->svcnum);
49 %} elsif ( scalar(@svc_broadband) == 0 ) {
54 % eidiot "No matching ip address found!\n";
60 % my($total)=scalar(@svc_broadband);
61 % print header("IP Address Search Results",''), <<END;
63 % $total matching broadband services found
64 % <TABLE BORDER=4 CELLSPACING=0 CELLPADDING=0>
72 % foreach my $svc_broadband (
73 % sort $sortby (@svc_broadband)
75 % my($svcnum,$ip_addr,$routername,$routernum)=(
76 % $svc_broadband->svcnum,
77 % $svc_broadband->ip_addr,
78 % $routerbyblock{$svc_broadband->blocknum}->routername,
79 % $routerbyblock{$svc_broadband->blocknum}->routernum,
86 % <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_broadband.cgi?$svcnum">$svcnum</A></TD>
87 % <TD ROWSPAN=$rowspan><A HREF="${p}view/router.cgi?$routernum">$routername</A></TD>
88 % <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_broadband.cgi?$svcnum">$ip_addr</A></TD>
105 % $a->getfield('svcnum') <=> $b->getfield('svcnum');
109 % if ($a->getfield('blocknum') == $b->getfield('blocknum')) {
110 % $a->getfield('ip_addr') cmp $b->getfield('ip_addr');
112 % $a->getfield('blocknum') cmp $b->getfield('blocknum');