ACLs
[freeside.git] / httemplate / edit / bulk-cust_svc.html
1 <% include('/elements/header.html', 'Bulk customer service change') %>
2
3 <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws.js"></SCRIPT>
4 <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_iframe.js"></SCRIPT>
5 <SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_draggable.js"></SCRIPT>
6
7 <% include('/elements/progress-init.html',
8               'OneTrueForm',
9               [qw( old_svcpart new_svcpart pkgpart )],
10               'process/bulk-cust_svc.cgi',
11               $p.'browse/part_svc.cgi',
12            )
13 %>
14
15 <FORM NAME="OneTrueForm">
16 %
17 %  $cgi->param('svcpart') =~ /^(\d+)$/
18 %    or die "illegal svcpart: ". $cgi->param('svcpart');
19 %
20 %  my $old_svcpart = $1;
21 %  my $src_part_svc = qsearchs('part_svc', { 'svcpart' => $old_svcpart } )
22 %    or die "unknown svcpart: $old_svcpart";
23 %
24
25
26 <INPUT NAME="old_svcpart" TYPE="hidden" VALUE="<% $old_svcpart %>">
27 Change <!-- customer
28 <B><% $src_part_svc->svcpart %>: <% $src_part_svc->svc %></B> services
29 <BR>
30 -->
31
32 <SELECT NAME="pkgpart">
33 % my $num_cust_svc = $src_part_svc->num_cust_svc; 
34 % if ( $num_cust_svc > 1 ) { 
35
36   <OPTION VALUE="">all <% $num_cust_svc %> <% $src_part_svc->svc %> services
37 % } else { 
38
39   <OPTION VALUE="">the <% $num_cust_svc %> <% $src_part_svc->svc %> service
40 % } 
41 %
42 %  my $num_unlinked = $src_part_svc->num_cust_svc(0);
43 %  if ( $num_unlinked ) {
44 %
45
46   <OPTION VALUE="0">the <% $num_unlinked %> unlinked <% $src_part_svc->svc %> services
47 % } 
48 % foreach my $schwartz (
49 %     grep { $_->[1] }
50 %     map  { [ $_, $src_part_svc->num_cust_svc($_->pkgpart) ] }
51 %          qsearch('part_pkg', {} )
52 %   ) {
53 %     my( $part_pkg, $num_cust_svc ) = @$schwartz;
54 %
55
56   <OPTION VALUE="<% $part_pkg->pkgpart %>">the <% $num_cust_svc %>
57     <% $src_part_svc->svc %> service<% $num_cust_svc > 1 ? 's in' : ' in a' %>
58     <% $part_pkg->pkg %> package<% $num_cust_svc > 1 ? 's' : '' %>
59 % } 
60
61 </SELECT>
62 <BR>
63
64 to new service definition
65 <SELECT NAME="new_svcpart">
66 % foreach my $dest_part_svc (
67 %     grep {    $_->svcpart != $old_svcpart
68 %            && $_->svcdb   eq $src_part_svc->svcdb
69 %          }
70 %          qsearch('part_svc', { 'disabled' => '' } )
71 %   ) {
72 %
73
74   <OPTION VALUE="<% $dest_part_svc->svcpart %>"><% $dest_part_svc->svcpart %>: <% $dest_part_svc->svc %>
75 % } 
76
77 </SELECT>
78 <BR>
79
80 <BR>
81
82 <SCRIPT TYPE="text/javascript">
83 var confirm_change = '<P ALIGN="center"><B>Bulk customer service change - Are you sure?</B><BR><P ALIGN="CENTER" <INPUT TYPE="button" VALUE="Yes, make changes" onClick="process();">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="BUTTON" VALUE="Cancel" onClick="cClick()">';
84 </SCRIPT>
85
86 <INPUT TYPE="button" VALUE="Bulk change customer services" onClick="overlib(confirm_change, CAPTION, 'Confirm bulk customer service change', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, 576, HEIGHT, 128, TEXTSIZE, 3, BGCOLOR, '#ff0000', CGCOLOR, '#ff0000' );">
87
88 </FORM>
89
90 <% include('/elements/footer.html') %>
91
92 <%init>
93
94 die "access denied"
95   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
96
97 </%init>