cust_location editing features, RT#10766
[freeside.git] / httemplate / misc / disable-cust_location.cgi
diff --git a/httemplate/misc/disable-cust_location.cgi b/httemplate/misc/disable-cust_location.cgi
new file mode 100755 (executable)
index 0000000..ee7ba1d
--- /dev/null
@@ -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>