RT#40641: unprovisioning preserved cancelled services [fixed for cust_svc without...
[freeside.git] / httemplate / search / svc_circuit.cgi
1 <& elements/svc_Common.html,
2   'title'       => 'Circuit Search Results',
3   'name'        => 'circuit services',
4   'query'       => $query,
5   'count_query' => $query->{'count_query'},
6   'redirect'    => [ popurl(2). "view/svc_circuit.cgi?", 'svcnum' ],
7   'header'      => [ '#',
8                      'Provider',
9                      'Type',
10                      'Termination',
11                      'Circuit ID',
12                      'IP Address',
13                      emt('Pkg. Status'),
14                      FS::UI::Web::cust_header($cgi->param('cust_fields')),
15                    ],
16   'fields'      => [ 'svcnum',
17                      'provider',
18                      'typename',
19                      'termination',
20                      'circuit_id',
21                      'ip_addr',
22                      sub {
23                        $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
24                        return '' unless $cust_pkg_cache{$_[0]->svcnum};
25                        $cust_pkg_cache{$_[0]->svcnum}->ucfirst_status
26                      },
27                      \&FS::UI::Web::cust_fields,
28                    ],
29   'links'       => [ $link,
30                      '',
31                      '',
32                      '',
33                      $link,
34                      $link,
35                      '', # pkg status
36                      FS::UI::Web::cust_links($cgi->param('cust_fields')),
37                    ],
38   'align'       => 'rlllllr'.  FS::UI::Web::cust_aligns(),
39   'color'       => [ 
40                      ('') x 6,
41                      sub {
42                        $cust_pkg_cache{$_[0]->svcnum} ||= $_[0]->cust_svc->cust_pkg;
43                        return '' unless $cust_pkg_cache{$_[0]->svcnum};
44                        my $c = FS::cust_pkg::statuscolors;
45                        $c->{$cust_pkg_cache{$_[0]->svcnum}->status };
46                      }, # pkg status
47                      FS::UI::Web::cust_colors(),
48                    ],
49   'style'       => [ 
50                      ('') x 6,
51                      'b',
52                      FS::UI::Web::cust_styles(),
53                    ],
54
55 &>
56 <%init>
57
58 die "access denied" unless
59   $FS::CurrentUser::CurrentUser->access_right('List services');
60
61 my %cust_pkg_cache;
62
63 my $conf = new FS::Conf;
64
65 my %search_hash;
66 if ( $cgi->param('magic') eq 'unlinked' ) {
67   %search_hash = ( 'unlinked' => 1 );
68 } else {
69   foreach (qw( custnum agentnum svcpart cust_fields )) {
70     $search_hash{$_} = $cgi->param($_) if $cgi->param($_);
71   }
72   foreach (qw(pkgpart routernum towernum sectornum)) {
73     $search_hash{$_} = [ $cgi->param($_) ] if $cgi->param($_);
74   }
75   if ( defined($cgi->param('cancelled')) ) {
76     $search_hash{'cancelled'} = $cgi->param('cancelled') ? 1 : 0;
77   }
78 }
79
80 my $query = FS::svc_circuit->search(\%search_hash);
81
82 my $link = [ $p.'view/svc_circuit.cgi?', 'svcnum' ];
83
84 </%init>