fix slowness on change package and also make it into a popup
[freeside.git] / httemplate / misc / change_pkg.cgi
1 <% include('/elements/header-popup.html', "Change Package") %>
2
3 % if ( $cgi->param('error') ) {
4   <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
5   <BR><BR>
6 % }
7
8 <FORM ACTION="<% $p %>edit/process/cust_pkg.cgi" METHOD=POST>
9 <INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
10 <INPUT TYPE="hidden" NAME="remove_pkg" VALUE="<% $pkgnum %>">
11
12 <% ntable('#cccccc') %>
13
14   <TR>
15     <TD>Current package:&nbsp;</TD>
16     <TD>
17       <B><% $part_pkg->pkgpart %>: <% $part_pkg->pkg %> - <% $part_pkg->comment %></B>
18     </TD>
19   </TR>
20   
21   <TR>
22     <TD>New package: </TD>
23     <TD><% include('/elements/select-cust-part_pkg.html',
24                      'cust_main'    => $cust_main,
25                      'element_name' => 'new_pkgpart',
26                      'extra_sql'    => ' AND pkgpart != '. $cust_pkg->pkgpart,
27                      'curr_value'   => ( $cgi->param('error')
28                                            ? scalar($cgi->param('new_pkgpart'))
29                                            : ''
30                                        ),
31                   )
32         %>
33     </TD>
34   </TR>
35
36 </TABLE>
37
38 <BR>
39 <INPUT TYPE="submit" VALUE="Change package">
40
41 </FORM>
42 </BODY>
43 </HTML>
44
45 <%init>
46
47 die "access denied"
48   unless $FS::CurrentUser::CurrentUser->access_right('Change customer package');
49
50 my $pkgnum;
51 if ( $cgi->param('error') ) {
52   $pkgnum = ($cgi->param('remove_pkg'))[0];
53 } else {
54   $pkgnum = $cgi->param('pkgnum');
55 }
56 $pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
57 $pkgnum = $1;
58
59 my $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } )
60   or die "unknown pkgnum $pkgnum";
61 my $custnum = $cust_pkg->custnum;
62
63 my $conf = new FS::Conf;
64
65 my $cust_main = $cust_pkg->cust_main
66   or die "can't get cust_main record for custnum ". $cust_pkg->custnum.
67          " ( pkgnum ". cust_pkg->pkgnum. ")";
68 my $agent = $cust_main->agent;
69
70 my $part_pkg = $cust_pkg->part_pkg;
71
72 </%init>