Allow deletion of storage devices
authorJamie Cameron <jcameron@webmin.com>
Wed, 12 Nov 2008 21:34:47 +0000 (21:34 +0000)
committerJamie Cameron <jcameron@webmin.com>
Wed, 12 Nov 2008 21:34:47 +0000 (21:34 +0000)
bacula-backup/CHANGELOG
bacula-backup/delete_devices.cgi [new file with mode: 0755]

index 03da808..688526d 100644 (file)
@@ -5,3 +5,5 @@ Removed the requirement for the /etc/bacula/bacula command to be installed, if /
 Added a field to the mount/un-mount page for entering an auto-loader slot number.
 ---- Changes since 1.370 ----
 Backup schedules with Level= and Pool= tags are now properly displayed and editable.
+---- Changes since 1.440 ----
+Added a missing program so that mass deletion of storage devices works.
diff --git a/bacula-backup/delete_devices.cgi b/bacula-backup/delete_devices.cgi
new file mode 100755 (executable)
index 0000000..8297f32
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/local/bin/perl
+# Delete multiple storage devices from the SD config
+
+require './bacula-backup-lib.pl';
+&ReadParse();
+$conf = &get_storage_config();
+$parent = &get_storage_config_parent();
+@devices = &find("Device", $conf);
+
+&error_setup($text{'devices_derr'});
+@d = split(/\0/, $in{'d'});
+@d || &error($text{'filesets_ednone'});
+
+&lock_file($parent->{'file'});
+foreach $d (@d) {
+       $device = &find_by("Name", $d, \@devices);
+       if ($device) {
+               &save_directive($conf, $parent, $device, undef, 0);
+               }
+       }
+&flush_file_lines($parent->{'file'});
+&unlock_file($parent->{'file'});
+&webmin_log("delete", "devices", scalar(@d));
+&redirect("list_devices.cgi");
+