fix address standardization when changing package locations, #13763
[freeside.git] / httemplate / misc / change_pkg.cgi
1 <& /elements/header-popup.html, mt("Change Package") &>
2
3 <SCRIPT TYPE="text/javascript" SRC="../elements/order_pkg.js"></SCRIPT>
4
5 <& /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"><% mt('Current package') |h %></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   <& /elements/tr-select-cust-part_pkg.html,
20                'pre_label'  => emt('New'),
21                'curr_value' => scalar($cgi->param('pkgpart')),
22                'classnum'   => $part_pkg->classnum,
23                'cust_main'  => $cust_main,
24   &>
25
26   <& /elements/tr-select-cust_location.html,
27                'cgi'       => $cgi,
28                'cust_main' => $cust_main,
29   &>
30
31 </TABLE>
32
33 <& /elements/standardize_locations.html,
34             'form'       => "OrderPkgForm",
35             'callback'   => 'document.OrderPkgForm.submit();',
36 &>
37
38 <BR>
39 <INPUT NAME    = "submitButton"
40        TYPE    = "button"
41        VALUE   = "<% mt("Change package") |h %>"
42        onClick = "this.disabled=true; standardize_new_location();"
43        <% scalar($cgi->param('pkgpart')) ? '' : 'DISABLED' %>
44 >
45
46 </FORM>
47 </BODY>
48 </HTML>
49
50 <%init>
51
52 my $conf = new FS::Conf;
53
54 my $curuser = $FS::CurrentUser::CurrentUser;
55
56 die "access denied"
57   unless $curuser->access_right('Change customer package');
58
59 my $pkgnum = scalar($cgi->param('pkgnum'));
60 $pkgnum =~ /^(\d+)$/ or die "illegal pkgnum $pkgnum";
61 $pkgnum = $1;
62
63 my $cust_pkg =
64   qsearchs({
65     'table'     => 'cust_pkg',
66     'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
67     'hashref'   => { 'pkgnum' => $pkgnum },
68     'extra_sql' => ' AND '. $curuser->agentnums_sql,
69   }) or die "unknown pkgnum $pkgnum";
70
71 my $cust_main = $cust_pkg->cust_main
72   or die "can't get cust_main record for custnum ". $cust_pkg->custnum.
73          " ( pkgnum ". cust_pkg->pkgnum. ")";
74
75 my $part_pkg = $cust_pkg->part_pkg;
76
77 </%init>