Bug 37784: [24.05] (QA follow-up) Bail out to new definition

The code went back to step 3 but the error message is not there.
It is easier to go back to the start: no need to fetch columns.
And this is now an exception; it will only come up when trying
malicious things.

Also turned foreach and unless forbidden around. No need to go
into the loop when we found a forbidden field.

Test plan:
See first patch. You should see the message now.

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
This commit is contained in:
Marcel de Rooy 2025-03-14 09:31:57 +00:00 committed by Alex Buckley
parent dbfb62c63b
commit a4888ff9a9
1 changed files with 3 additions and 12 deletions

View File

@ -84,8 +84,8 @@ elsif ( $op eq 'cud-add_form_4' ) {
my $columnstring = join( ',', @columns );
my $forbidden = Koha::Report->new->check_columns( undef, \@columns );
my @column_loop;
foreach my $column (@columns) {
unless ($forbidden) {
unless ($forbidden) {
foreach my $column (@columns) {
my %tmp_hash;
$tmp_hash{'name'} = $column;
my $type = get_column_type($column);
@ -115,16 +115,7 @@ elsif ( $op eq 'cud-add_form_4' ) {
'columnstring' => $columnstring,
);
} else {
my $columns = get_columns( $area, $input );
$template->param(
'step_3' => 1,
'area' => $area,
'definition_name' => $definition_name,
'definition_description' => $definition_description,
'columns' => \@column_loop,
'columnstring' => $columnstring,
'passworderr' => 1,
);
$template->param( 'new_dictionary' => 1, passworderr => 1 );
}
}