From 9d4009f70ecbd65b70c37294b0de9a4964719180 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 --- 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 66b4002e81..c17d4965e4 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.39.2