mirror of
https://github.com/webmin/webmin.git
synced 2026-05-06 15:20:29 +01:00
Fix to delete chains and sets immediately
This commit is contained in:
@@ -20,34 +20,13 @@ my @refs = grep {
|
||||
($_->{'jump'} && $_->{'jump'} eq $in{'chain'}) ||
|
||||
($_->{'goto'} && $_->{'goto'} eq $in{'chain'})
|
||||
} @{$table->{'rules'}};
|
||||
@refs && error(text('delete_chain_inuse', $in{'chain'}, scalar(@refs)));
|
||||
|
||||
if ($in{'confirm'}) {
|
||||
@refs && error(text('delete_chain_inuse', $in{'chain'}, scalar(@refs)));
|
||||
@{$table->{'rules'}} = grep { $_->{'chain'} ne $in{'chain'} } @{$table->{'rules'}};
|
||||
delete($table->{'chains'}->{$in{'chain'}});
|
||||
|
||||
@{$table->{'rules'}} = grep { $_->{'chain'} ne $in{'chain'} } @{$table->{'rules'}};
|
||||
delete($table->{'chains'}->{$in{'chain'}});
|
||||
|
||||
my $err = save_table_configuration($table, @tables);
|
||||
error(text('delete_chain_failed', $err)) if ($err);
|
||||
webmin_log("delete", "chain", $in{'chain'},
|
||||
{ 'table' => $table->{'name'}, 'family' => $table->{'family'} });
|
||||
redirect("index.cgi?table=$in{'table'}");
|
||||
}
|
||||
|
||||
ui_print_header(undef, $text{'delete_chain_title'}, "", "intro", 1, 1);
|
||||
print ui_form_start("delete_chain.cgi");
|
||||
print ui_hidden("table", $in{'table'});
|
||||
print ui_hidden("chain", $in{'chain'});
|
||||
print "<center><b>",
|
||||
text('delete_chain_confirm',
|
||||
"<tt>$in{'chain'}</tt>",
|
||||
"<tt>$table->{'family'} $table->{'name'}</tt>"),
|
||||
"</b>";
|
||||
if (@refs) {
|
||||
print "<br><br>", text('delete_chain_inuse', $in{'chain'}, scalar(@refs));
|
||||
}
|
||||
print "<p>\n";
|
||||
print ui_submit($text{'delete'}, "confirm");
|
||||
print "</center>\n";
|
||||
print ui_form_end();
|
||||
ui_print_footer("index.cgi?table=$in{'table'}", $text{'index_return'});
|
||||
my $err = save_table_configuration($table, @tables);
|
||||
error(text('delete_chain_failed', $err)) if ($err);
|
||||
webmin_log("delete", "chain", $in{'chain'},
|
||||
{ 'table' => $table->{'name'}, 'family' => $table->{'family'} });
|
||||
redirect("index.cgi?table=$in{'table'}");
|
||||
|
||||
@@ -17,32 +17,12 @@ my $set = $table->{'sets'}->{$in{'set'}};
|
||||
$set || error($text{'set_noset'});
|
||||
|
||||
my $refs = count_set_references($table, $in{'set'});
|
||||
$refs && error(text('delete_set_inuse', $in{'set'}, $refs));
|
||||
|
||||
if ($in{'confirm'}) {
|
||||
$refs && error(text('delete_set_inuse', $in{'set'}, $refs));
|
||||
delete($table->{'sets'}->{$in{'set'}});
|
||||
|
||||
delete($table->{'sets'}->{$in{'set'}});
|
||||
my $err = save_table_configuration($table, @tables);
|
||||
error(text('delete_set_failed', $err)) if ($err);
|
||||
webmin_log("delete", "set", $in{'set'},
|
||||
{ 'table' => $table->{'name'}, 'family' => $table->{'family'} });
|
||||
redirect("index.cgi?table=$in{'table'}&view=sets");
|
||||
}
|
||||
|
||||
ui_print_header(undef, $text{'delete_set_title'}, "", "intro", 1, 1);
|
||||
print ui_form_start("delete_set.cgi");
|
||||
print ui_hidden("table", $in{'table'});
|
||||
print ui_hidden("set", $in{'set'});
|
||||
print "<center><b>",
|
||||
text('delete_set_confirm',
|
||||
"<tt>$in{'set'}</tt>",
|
||||
"<tt>$table->{'family'} $table->{'name'}</tt>"),
|
||||
"</b>";
|
||||
if ($refs) {
|
||||
print "<br><br>", text('delete_set_inuse', $in{'set'}, $refs);
|
||||
}
|
||||
print "<p>\n";
|
||||
print ui_submit($text{'delete'}, "confirm");
|
||||
print "</center>\n";
|
||||
print ui_form_end();
|
||||
ui_print_footer("index.cgi?table=$in{'table'}&view=sets", $text{'index_return'});
|
||||
my $err = save_table_configuration($table, @tables);
|
||||
error(text('delete_set_failed', $err)) if ($err);
|
||||
webmin_log("delete", "set", $in{'set'},
|
||||
{ 'table' => $table->{'name'}, 'family' => $table->{'family'} });
|
||||
redirect("index.cgi?table=$in{'table'}&view=sets");
|
||||
|
||||
@@ -165,10 +165,8 @@ chain_edup=A chain with that name already exists
|
||||
chain_notable=No such table selected
|
||||
chain_nochain=No such chain selected
|
||||
chain_ebase=Base chains require type, hook, priority, and policy.
|
||||
delete_chain_title=Delete chain
|
||||
delete_chain_err=Failed to delete chain
|
||||
delete_chain_failed=Failed to delete chain: <pre>$1</pre>
|
||||
delete_chain_confirm=Are you sure you want to delete chain $1 from table $2?
|
||||
delete_chain_inuse=Chain $1 is referenced by $2 rule(s) via jump/goto. Remove those rules first.
|
||||
delete_chains_err=Failed to delete selected chains
|
||||
delete_chains_failed=Failed to delete selected chains: <pre>$1</pre>
|
||||
@@ -222,10 +220,8 @@ set_edup=A set with that name already exists
|
||||
set_etype=Set type is required
|
||||
set_notable=No such table selected
|
||||
set_noset=No such set selected
|
||||
delete_set_title=Delete set
|
||||
delete_set_err=Failed to delete set
|
||||
delete_set_failed=Failed to delete set: <pre>$1</pre>
|
||||
delete_set_confirm=Are you sure you want to delete set $1 from table $2?
|
||||
delete_set_inuse=Set $1 is referenced by $2 rule(s). Remove those rules first.
|
||||
delete_sets_err=Failed to delete selected sets
|
||||
delete_sets_failed=Failed to delete selected sets: <pre>$1</pre>
|
||||
|
||||
Reference in New Issue
Block a user