Add mass enable and disable buttons
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled

This commit is contained in:
Jamie Cameron
2026-04-28 21:33:16 -07:00
parent f0a5b92b18
commit 1293a2cf4f
5 changed files with 38 additions and 10 deletions

View File

@@ -4,22 +4,40 @@
require './status-lib.pl';
&ReadParse();
$in{'d'} || &error($text{'deletes_enone'});
# Get the monitors
@d = split(/\0/, $in{'d'});
foreach $d (@d) {
$serv = &get_service($d);
$serv || &error($text{'deletes_egone'});
push(@dels, $serv);
}
if ($in{'delete'}) {
# Deleting
$access{'edit'} || &error($text{'mon_ecannot'});
foreach $d (@d) {
$serv = &get_service($d);
$serv || &error($text{'deletes_egone'});
push(@dels, $serv);
}
foreach $serv (@dels) {
&delete_service($serv);
}
&webmin_log("deletes", undef, scalar(@dels));
&redirect("");
}
elsif ($in{'disable'} || $in{'enable'}) {
# Disabling or enabling scheduled check
$access{'edit'} || &error($text{'mon_ecannot'});
foreach $serv (@dels) {
if ($in{'disable'} && $serv->{'nosched'} != 1) {
$serv->{'old_nosched'} = $serv->{'nosched'};
$serv->{'nosched'} = 1;
}
elsif ($in{'enable'} && $serv->{'nosched'} == 1) {
$serv->{'nosched'} = $serv->{'old_nosched'} || 0;
}
&save_service($serv);
}
&webmin_log($in{'enable'} ? 'enables' : 'disables', undef, scalar(@dels));
&redirect("");
}
else {
# Refreshing
&ui_print_unbuffered_header(undef, $text{'refresh_title'}, "");

View File

@@ -50,7 +50,8 @@ print &ui_table_row($text{'sched_warn'},
[ [ 1, $text{'sched_warn1'} ],
[ 0, $text{'sched_warn0'} ],
[ 3, $text{'sched_warn3'} ],
[ 2, $text{'sched_warn2'} ] ]), 3);
[ 2, $text{'sched_warn2'} ],
[ 4, $text{'sched_warn4'} ] ]), 3);
# Send email to
my $e = $config{'sched_email'};

View File

@@ -67,8 +67,13 @@ if (@serv) {
}
print &ui_links_row(\@links);
if ($access{'edit'}) {
print &ui_form_end([ [ "delete", $text{'index_delete'} ],
[ "refresh", $text{'index_refsel'} ] ]);
my @buts = ( [ "delete", $text{'index_delete'} ],
[ "refresh", $text{'index_refsel'} ] );
if (!$config{'index_status'}) {
push(@buts, [ "disable", $text{'index_disable'} ],
[ "enable", $text{'index_enable'} ]);
}
print &ui_form_end(\@buts);
}
}
else {

View File

@@ -16,6 +16,8 @@ index_refresh=Refresh Status
index_refreshdesc=Perform an immediate refresh of all monitor statuses, instead of waiting for the next scheduled update.
index_delete=Delete Selected
index_refsel=Refresh Selected
index_disable=Disable Selected
index_enable=Enable Selected
index_group=Members of $1
index_tmpls=Edit Email Templates
index_tmplsdesc=View and edit templates used to construct email messages sent when monitored services go down.
@@ -328,6 +330,8 @@ log_modify=Modified monitor $1
log_delete=Deleted monitor $1
log_sched=Changed scheduled monitoring
log_deletes=Deleted $1 monitors
log_disables=Disabled $1 monitors
log_enables=Enabled $1 monitors
log_tmpl_create=Created email template $1
log_tmpl_modify=Modified email template $1
log_tmpl_delete=Deleted email template $1

View File

@@ -15,8 +15,8 @@ elsif ($type eq "template") {
return &text("log_tmpl_${action}",
"<i>".&html_escape($p->{'desc'})."</i>");
}
elsif ($action eq "deletes") {
return &text("log_deletes", $object);
elsif ($action eq "deletes" || $action eq "disables" || $action eq "enables") {
return &text("log_".$action, $object);
}
else {
return &text("log_${action}", "<i>".&html_escape($p->{'desc'})."</i>");