6998b8541ce7ea7a96c0afed7f9e428cf0aaef7e
[freeside.git] / httemplate / view / qual.cgi
1 <% include("/elements/header.html","View Qualification") %>
2
3 % if ( $cust_or_prospect->custnum ) {
4
5     <% include( '/elements/small_custview.html', $cust_or_prospect,
6                   '',                        #countrydefault override
7                   1,                         #no balance
8                   "${p}view/cust_main.cgi"), #url
9     %>
10
11 % } elsif ( $cust_or_prospect->prospectnum ) {
12
13     <% include( '/elements/small_prospect_view.html', $cust_or_prospect) %>
14
15 % }
16
17 <BR><BR>
18
19 <B>Qualification #<% $qual->qualnum %></B>
20 <% ntable("#cccccc", 2) %>
21 <% include('elements/tr.html', label => 'Status', value => $qual->status_long ) %>
22 <% include('elements/tr.html', label => 'Service Telephone Number', value => $qual->phonenum || '(none - dry loop)' ) %>
23 <% include('elements/tr.html', label => 'Address', value => $location_line ) %>
24 % if ( $location_kind ) {
25 <% include('elements/tr.html', label => 'Location Kind', value => $location_kind ) %>
26 % } if ( $export ) { 
27 <% include('elements/tr.html', label => 'Qualified using', value => $export->exportname ) %>
28 <% include('elements/tr.html', label => 'Vendor Qualification #', value => $qual->vendor_qual_id ) %>
29 % } 
30 </TABLE>
31 <BR><BR>
32
33 % if ( $export ) {
34 %   my $qual_result = $export->qual_result($qual);
35 %   if ($qual_result->{'pkglist'}) { # one of the possible formats (?)
36       <B>Qualifying Packages</B> - click to order
37 %     my $svcpart = '';
38 %     my $pkglist = $qual_result->{'pkglist'};
39 %     my $cust_or_prospect = $qual->cust_or_prospect;
40 %     my $locationnum = '';
41 %     my %location = $qual->location_hash;
42 %     my $locationnum = $location{'locationnum'};
43       <UL>
44 %       foreach my $pkgpart ( keys %$pkglist ) { 
45           <LI>
46
47 %           if($cust_or_prospect->custnum) {
48
49 %             my %opt = ( 'label'       => $pkglist->{$pkgpart},
50 %                         'pkgpart'     => $pkgpart,
51 %                         'locationnum' => $location{'locationnum'},
52 %                       );
53 %             if ( $export->exporttype eq 'ikano' ) {
54 %               my $pkg_svc = qsearchs('pkg_svc', { 'pkgpart'     => $pkgpart,
55 %                                                   'primary_svc' => 'Y',
56 %                                                 }
57 %                                     );
58 %               $opt{'svcpart'} = $pkg_svc->svcpart if $pkg_svc;
59 %             }
60
61               <% include('/view/cust_main/order_pkg_link.html',
62                            $cust_or_prospect, %opt) %>
63
64 %           } elsif ($cust_or_prospect->prospectnum) {
65
66 %             my $link = "${p}edit/cust_main.cgi?qualnum=". $qual->qualnum.
67 %                                              ";lock_pkgpart=$pkgpart";
68               <A HREF="<% $link %>"><% $pkglist->{$pkgpart} |h %></A>
69
70 %           }
71           </LI>
72 %       }
73       </UL>
74 %  }
75
76 %  my $not_avail = $qual_result->{'not_avail'};
77 %  if ( keys %$not_avail ) {
78      <BR>
79      Qualifying vendor packages (not yet configured in any package definition):
80      <% join(', ', map $not_avail->{$_}, keys %$not_avail ) |h %>
81 %  }
82
83 % }
84
85 <%init>
86
87 die "access denied"
88   unless $FS::CurrentUser::CurrentUser->access_right('Qualify service');
89
90 my $qualnum;
91 if ( $cgi->param('qualnum') ) {
92   $cgi->param('qualnum') =~ /^(\d+)$/ or die "unparsable qualnum";
93   $qualnum = $1;
94 } else {
95   my($query) = $cgi->keywords;
96   $query =~ /^(\d+)$/ or die "no qualnum";
97   $qualnum = $1;
98 }
99
100 my $qual = qsearchs('qual', { qualnum => $qualnum }) or die "invalid qualnum";
101 my $location_line = '';
102 my %location_hash = $qual->location_hash;
103 my $cust_location;
104 if ( %location_hash ) {
105     $cust_location = new FS::cust_location(\%location_hash);
106     $location_line = $cust_location->location_label;
107 }
108
109 my $location_kind;
110 $location_kind = "Residential" if $cust_location->get('location_kind') eq 'R';
111 $location_kind = "Business" if $cust_location->get('location_kind') eq 'B';
112
113 my $cust_or_prospect = $qual->cust_or_prospect; #or die?  qual without this?
114 my $export = $qual->part_export;
115
116 </%init>