https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31925
--- Comment #34 from Martin Renvoize (ashimema) <[email protected]> --- Created attachment 204582 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=204582&action=edit Bug 31925: Don't override 008/11 when the heading's thesaurus wasn't identified QA (comments 23-30) flagged a regression in the previous patches: the guard around coding a new authority's 008/11 (and 040$f) from the source heading's thesaurus was `if ( $heading->{thesaurus} )`, but C4::Heading::MARC21::_get_subject_thesaurus() never returns a false value - a heading with a blank/unrecognised indicator 2 (by far the commonest real-world case) comes back as the placeholder string "notdefined", and indicator 2 = 4 comes back as "notspecified". Both are truthy, so the override always fired, unconditionally coding every new authority's 008/11 as 'z' or '|' instead of respecting the site's MARCAuthorityControlField008 default (which defaults to 'a'/LCSH) - a disruptive behaviour change for the majority of headings, not just the non-LCSH ones this bug is meant to fix. Adds Koha::Authority::$MARC21_UNDEFINED_THESAURUS_VALUES, the subset of the existing thesaurus table's keys ('notdefined', 'notspecified') that mean "no thesaurus could be identified" rather than a genuine one, and uses it in LinkBibHeadingsToAuthorities()'s guard so those two values now fall through to the site's own syspref default, unchanged, exactly as before this bug's patches. Test plan: 1. prove t/db_dependent/Biblio.t Note the two new cases in the "codes new authorities with the source thesaurus" subtest: a blank-indicator-2 heading now keeps 008/11 at the syspref default ('a') instead of being forced to 'z', and an indicator-2=4 heading respects a customised syspref default instead of being forced to '|'. 2. Librarian-facing regression check: with AutoLinkBiblios and AutoCreateAuthorities on, catalogue a 650 with a blank/space indicator 2 (e.g. `650 __ $a Some topic`, no $2) and save. The new authority's 008 position 11 should read whatever MARCAuthorityControlField008 says (LCSH 'a' by default), not 'z'. 3. Confirm the non-LCSH cases from the earlier patches are unaffected: a FAST heading (ind2=7, $2=fast) still codes 008/11='z' with 040$f=fast, and a MeSH heading (ind2=2) still codes 008/11='c'. Sponsored-by: Heythrop Library <https://heythroplibrary.co.uk/> -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list -- [email protected] To unsubscribe send an email to [email protected] website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
