Merge branch 'FREESIDE_3_BRANCH_34237' into FREESIDE_3_BRANCH
[freeside.git] / httemplate / misc / link.cgi
1 <% include("/elements/header.html","Link to existing $svc") %>
2
3 <FORM ACTION="<% popurl(1) %>process/link.cgi" METHOD=POST>
4 % if ( $link_field ) { 
5
6   <INPUT TYPE="hidden" NAME="svcnum" VALUE="">
7   <INPUT TYPE="hidden" NAME="link_field" VALUE="<% $link_field %>">
8   <% $link_field %> of existing service: <INPUT TYPE="text" NAME="link_value">
9   <BR>
10 % if ( $link_field2 ) { 
11
12     <INPUT TYPE="hidden" NAME="link_field2" VALUE="<% $link_field2->{field} %>">
13     <% $link_field2->{'label'} %> of existing service: 
14 % if ( $link_field2->{'type'} eq 'select' ) { 
15 % if ( $link_field2->{'select_table'} ) { 
16
17         <SELECT NAME="link_value2">
18         <OPTION> </OPTION>
19 % foreach my $r ( qsearch( $link_field2->{'select_table'}, {})) { 
20 % my $key = $link_field2->{'select_key'}; 
21 % my $label = $link_field2->{'select_label'}; 
22
23           <OPTION VALUE="<% $r->$key() %>"><% $r->$label() %></OPTION>
24 % } 
25
26         </SELECT>
27 % } else { 
28
29         Don't know how to process secondary link field for <% $svcdb %>
30         (type=>select but no select_table)
31 % } 
32 % } else { 
33
34       Don't know how to process secondary link field for <% $svcdb %>
35         (unknown type <% $link_field2->{'type'} %>)
36 % } 
37
38     <BR>
39 % } 
40 % } else { 
41
42   Service # of existing service: <INPUT TYPE="text" NAME="svcnum" VALUE="">
43 % } 
44
45
46 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
47 <INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $svcpart %>">
48 <BR><INPUT TYPE="submit" VALUE="Link">
49 </FORM>
50
51 <% include('/elements/footer.html') %>
52
53 <%init>
54
55 die "access denied"
56   unless $FS::CurrentUser::CurrentUser->access_right('View/link unlinked services');
57
58 my %link_field = (
59   'svc_acct'    => 'username',
60   'svc_domain'  => 'domain',
61   'svc_phone'   => 'phonenum',
62 );
63
64 my %link_field2 = (
65   'svc_acct'    => { label => 'Domain',
66                      field => 'domsvc',
67                      type  => 'select',
68                      select_table => 'svc_domain',
69                      select_key   => 'svcnum',
70                      select_label => 'domain'
71                    },
72 );
73
74 $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum';
75 my $pkgnum = $1;
76 $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart';
77 my $svcpart = $1;
78
79 my $part_svc = qsearchs('part_svc',{'svcpart'=>$svcpart});
80 my $svc = $part_svc->getfield('svc');
81 my $svcdb = $part_svc->getfield('svcdb');
82 my $link_field = $link_field{$svcdb};
83 my $link_field2 = $link_field2{$svcdb};
84
85 </%init>