Bug 32797: Check if fields have a value, not if true
authorNick Clemens <nick@bywatersolutions.com>
Thu, 2 Feb 2023 14:57:14 +0000 (14:57 +0000)
committerArthur Suzuki <arthur.suzuki@biblibre.com>
Fri, 17 Feb 2023 12:08:30 +0000 (13:08 +0100)
When saving OAI set mappgins we are checking for truth, this prevents
saving subfield 0. We should check for content

To test:
1 - Go to Admin->OAI sets
2 - Create a set
3 - Define mappings for the set
4 - Attempt to save a rule on field 952 subfield 0 (withdrawn)
5 - It does not save
6 - Apply patch
7 - Try again
8 - Success!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 6f606e00c597cfdfb30fe969b061a331c8a372db)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
(cherry picked from commit 677e68c7f1c3456b4a4bbb0e4141a797b99e676b)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 94bb81502b25dcb3128664e9a681e444afaf691f)
Signed-off-by: Arthur Suzuki <arthur.suzuki@biblibre.com>
admin/oai_set_mappings.pl

index 0210396..a47dade 100755 (executable)
@@ -60,7 +60,7 @@ if($op && $op eq "save") {
     my @mappings;
     my $i = 0;
     while($i < @marcfields and $i < @marcsubfields and $i < @marcvalues) {
-        if($marcfields[$i] and $marcsubfields[$i]) {
+        if($marcfields[$i] ne '' and $marcsubfields[$i] ne '' ) {
             push @mappings, {
                 marcfield     => $marcfields[$i],
                 marcsubfield  => $marcsubfields[$i],