Bug 5404: C4::Koha - remove subfield_is_koha_internal_p
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 12 Feb 2016 12:36:16 +0000 (12:36 +0000)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Mon, 7 Mar 2016 17:30:09 +0000 (17:30 +0000)
commit2237e0f871fa1bcf0009346022fa854aedf0b7f8
tree5e57abeb8b35f3559e5f2082c629e6950f65ff98
parent617b72a54eb80fd7ea5e55be9484cf1dbf5e292f
 Bug 5404: C4::Koha - remove subfield_is_koha_internal_p

The commit b5ecefd485a75d54a5fa26fff5a0cc890541e2c3
Date:   Mon Feb 3 18:46:00 2003 +0000

had a funny description:
Added function to check if a MARC subfield name is "koha-internal"
(instead of checking it for 'lib' and 'tag' everywhere); temporarily
added to Koha.pm

"Temporarily", since 2003, everything is relative, isn't it? :)

The thing is that GetMarcStructure returns hash like

field_200 => {
    subfield_a => {
        %attributes_of_subfield_a
    },
    %attributes_of_field_200
}

The attributes for field_200 can be 'repeatable', 'mandatory', 'tag', 'lib'.
We don't want to loop on these values when looping on subfields.
Since there are just { k => v } with v is a scalar (string), it's easier
to test if we are processing a subfield testing the reference.

At some places, we don't need to test that, we are looping on values
from MARC::Field->subfields which are always valid subfields.

Test plan:
1/ Edit items using the batch item mod tool
2/ display and edit items via the cataloguing module.

You should not see any changes between before and after the patch
applied.

Tech notes:
We need to check what we are processing when we loop on 'subfields' from
GetMarcStructure, not from MARC::Field->subfields.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
12 files changed:
C4/Acquisition.pm
C4/Items.pm
C4/Koha.pm
authorities/authorities-home.pl
authorities/authorities.pl
cataloguing/addbiblio.pl
cataloguing/additem.pl
labels/label-item-search.pl
opac/opac-authorities-home.pl
reports/guided_reports.pl
t/db_dependent/Acquisition/FillWithDefaultValues.t
tools/batchMod.pl