diff options
Diffstat (limited to 'httemplate/misc/disable-cust_location.cgi')
-rwxr-xr-x | httemplate/misc/disable-cust_location.cgi | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/httemplate/misc/disable-cust_location.cgi b/httemplate/misc/disable-cust_location.cgi new file mode 100755 index 000000000..ee7ba1dbc --- /dev/null +++ b/httemplate/misc/disable-cust_location.cgi @@ -0,0 +1,35 @@ +<% header("Location disabled") %> + <SCRIPT TYPE="text/javascript"> + window.top.location.reload(); + </SCRIPT> +</BODY> +</HTML> +<%init> + +my $curuser = $FS::CurrentUser::CurrentUser; +my $error; + +die "access denied" + unless $curuser->access_right('Change customer package'); + +my $locationnum = $cgi->param('locationnum'); +my $cust_location = qsearchs({ + 'select' => 'cust_location.*', + 'table' => 'cust_location', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => { 'locationnum' => $locationnum }, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, +}); +die "unknown locationnum $locationnum" unless $cust_location; + +my @pkgs = qsearch('cust_pkg', { 'locationnum' => $locationnum, + 'cancel' => '' }); +if ( @pkgs ) { + $error = "Location $locationnum has active packages" +} +else { + $cust_location->disabled('Y'); + $error = $cust_location->replace; +} +die $error if $error; +</%init> |