To recreate: 1 - Set 'itemcallnumber' system preference to 082 2 - Find/Create a record with an 082 field 3 - Add items to the record 4 - Error: Unmatched [ in regex; marked by <-- HERE in m/^[ <-- HERE ]$/ at /usr/share/perl5/MARC/Field.pm line 643.
Created attachment 121738 [details] [review] Bug 28533: Set subfields to 'undef' if whole field request in itemcallnumebr system preference This patch undefines the CNsubfields variable when the whole field is requested Note that the substr returns '' when no characters are found, so we test if the string eq '' Testing 'truth' doesn't work because "0" is a valid option To test: 1 - Edit a record, add an 082 field 082 0 0 ‡aalpha‡bbeta‡0delta 2 - Set itemcallnumber system preference to 082 3 - Attempt to add/edit items 4 - ISE 5 - Apply patch, restart all the things 6 - Add/edit items - no error 7 - Confirm the itemcallnumber field is populated with "alpha beta delta" 8 - Set itemcallnumber system preference to '0820' 9 - Add/edit items 10 - Confirm itemcallnumber is populated with 'delta'
Created attachment 121808 [details] [review] Bug 28533: Set subfields to 'undef' if whole field request in itemcallnumebr system preference This patch undefines the CNsubfields variable when the whole field is requested Note that the substr returns '' when no characters are found, so we test if the string eq '' Testing 'truth' doesn't work because "0" is a valid option To test: 1 - Edit a record, add an 082 field 082 0 0 ‡aalpha‡bbeta‡0delta 2 - Set itemcallnumber system preference to 082 3 - Attempt to add/edit items 4 - ISE 5 - Apply patch, restart all the things 6 - Add/edit items - no error 7 - Confirm the itemcallnumber field is populated with "alpha beta delta" 8 - Set itemcallnumber system preference to '0820' 9 - Add/edit items 10 - Confirm itemcallnumber is populated with 'delta' Signed-off-by: Salman Ali <salman@outaouais>
* Signed-off-by line 'Signed-off-by: Salman Ali <salman@outaouais>' seems invalid
Hmm who invented this variable name :) my $temp = GetMarcBiblio({ biblionumber => $biblionumber });
(In reply to Nick Clemens from comment #0) > Unmatched [ in regex; marked by <-- HERE in m/^[ <-- HERE ]$/ at > /usr/share/perl5/MARC/Field.pm line 643. Looks like Galen has a problem too.
Created attachment 122870 [details] [review] Bug 28533: Set subfields to 'undef' if whole field request in itemcallnumebr system preference This patch undefines the CNsubfields variable when the whole field is requested Note that the substr returns '' when no characters are found, so we test if the string eq '' Testing 'truth' doesn't work because "0" is a valid option To test: 1 - Edit a record, add an 082 field 082 0 0 ‡aalpha‡bbeta‡0delta 2 - Set itemcallnumber system preference to 082 3 - Attempt to add/edit items 4 - ISE 5 - Apply patch, restart all the things 6 - Add/edit items - no error 7 - Confirm the itemcallnumber field is populated with "alpha beta delta" 8 - Set itemcallnumber system preference to '0820' 9 - Add/edit items 10 - Confirm itemcallnumber is populated with 'delta' Signed-off-by: Salman Ali <salman.ali@inLibro.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Same code in C4::Items::PrepareItemrecordDisplay. It certainly needs to be adjusted too.
Created attachment 123343 [details] [review] Bug 28533: Fix other ocurrence
Pushed to master for 21.11, thanks to everybody involved!
Pushed to 21.05.x for 21.05.03
Pushed to 20.11.x for 20.11.09
Not backported to oldoldstable (20.05.x). Feel free to ask if it's needed.
[Just saying... Got a conflict with this patch when rebasing bug 28533. It clearly shows that the work done is very useful: 1. the need to centralize the code and 2. have test coverage for ANY changes we are making there.]