fix usps-validation misfire and inability to submit on change package too, RT#12377...
[freeside.git] / httemplate / misc / change_pkg.cgi
1 <% include('/elements/header-popup.html', "Change Package") %>
2
3 <SCRIPT TYPE="text/javascript" SRC="../elements/order_pkg.js"></SCRIPT>
4
5 <% include('/elements/error.html') %>
6
7 <FORM NAME="OrderPkgForm" ACTION="<% $p %>edit/process/change-cust_pkg.html" METHOD=POST>
8 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
9
10 <% ntable('#cccccc') %>
11
12   <TR>
13     <TH ALIGN="right">Current package</TH>
14     <TD COLSPAN=7>
15       <% $curuser->option('show_pkgnum') ? $cust_pkg->pkgnum.': ' : '' %><B><% $part_pkg->pkg |h %></B> - <% $part_pkg->comment |h %>
16     </TD>
17   </TR>
18
19   <% include('/elements/tr-select-cust-part_pkg.html',
20                'pre_label'  => 'New',
21                'curr_value' => scalar($cgi->param('pkgpart')),
22                'classnum'   => $part_pkg->classnum,
23                'cust_main'  => $cust_main,
24                #'extra_sql'    => ' AND pkgpart != '. $cust_pkg->pkgpart,
25             )
26   %>
27
28   <% include('/elements/tr-select-cust_location.html',
29                'cgi'       => $cgi,
30                'cust_main' => $cust_main,
31             )
32   %>
33
34 </TABLE>
35
36 <% include( '/elements/standardize_locations.html',
37             'form'       => "OrderPkgForm",
38             'onlyship'   => 1,
39             'no_company' => 1,
40             'callback'   => 'document.OrderPkgForm.submit();',
41           )
42 %>
43
44 <BR>
45 <INPUT NAME    = "submitButton"
46        TYPE    = "button"
47        VALUE   = "Change package"
48        onClick = "this.disabled=true; standardize_new_location();"
49        <% scalar($cgi->param('pkgpart')) ? '' : 'DISABLED' %>
50 >
51
52 </FORM>
53 </BODY>
54 </HTML>
55
56 <%init>
57
58 my $conf = new FS::Conf;
59
60 my $curuser = $FS::CurrentUser::CurrentUser;
61
62 die "access denied"
63   unless $curuser->access_right('Change customer package');
64
65 my $pkgnum = scalar($cgi->param('pkgnum'));
66 $pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
67 $pkgnum = $1;
68
69 my $cust_pkg =
70   qsearchs({
71     'table'     => 'cust_pkg',
72     'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
73     'hashref'   => { 'pkgnum' => $pkgnum },
74     'extra_sql' => ' AND '. $curuser->agentnums_sql,
75   }) or die "unknown pkgnum $pkgnum";
76
77 my $cust_main = $cust_pkg->cust_main
78   or die "can't get cust_main record for custnum ". $cust_pkg->custnum.
79          " ( pkgnum ". cust_pkg->pkgnum. ")";
80
81 my $part_pkg = $cust_pkg->part_pkg;
82
83 </%init>