From b3de3ff39f366110539045d2185d9c4fb93d9c95 Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 15 Jul 2024 03:59:23 +0000 Subject: [PATCH] Bug 37357: Map @ to 00 for control field select lists This change adds the existing @ to 00 mapping for control fields to work for authorized value select lists as well. Test plan: 0. Apply the patch 1. koha-plack --reload kohadev 2. Make 001 subfield @ mandatory and give it an authorised value of branches for Default framework 3. Go to the New record editor for a Default record 4. Click "Save" 5. Note that the editor prompts you to fill in the 001 field 6. Fill in required fields and click "Save" 7. Note that all data is captured correctly 8. prove t/db_dependent/Koha/UI/Form/Builder/Biblio.t To prove that this wouldn't work without the patch, try the test plan on a different branch without this patch. You won't be prompted to fill in mandatory fields and the record will just save (or if a possible duplicate is detected it will just redirect you back to an empty editor) Signed-off-by: David Nind Signed-off-by: Martin Renvoize --- Koha/UI/Form/Builder/Biblio.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Koha/UI/Form/Builder/Biblio.pm b/Koha/UI/Form/Builder/Biblio.pm index 66b4002e810..c17d4965e4f 100644 --- a/Koha/UI/Form/Builder/Biblio.pm +++ b/Koha/UI/Form/Builder/Biblio.pm @@ -361,10 +361,13 @@ sub build_authorized_values_list { } } + my $id_subfield = $subfield; + $id_subfield = "00" if $id_subfield eq "@"; + return { type => 'select', - id => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, - name => "tag_".$tag."_subfield_".$subfield."_".$index_tag."_".$index_subfield, + id => "tag_".$tag."_subfield_".$id_subfield."_".$index_tag."_".$index_subfield, + name => "tag_".$tag."_subfield_".$id_subfield."_".$index_tag."_".$index_subfield, default => $value, values => \@authorised_values, labels => \%authorised_lib, -- 2.45.2