https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43095 Bug ID: 43095 Summary: Patron card creator dies on CODE39MOD and CODE39MOD10 barcode types (missing Algorithm::CheckDigits import) Initiative type: --- Sponsorship --- status: Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: normal Priority: P5 - low Component: Label/patron card printing Assignee: chris.nighswonger@veritassuperaitsolutions.com Reporter: chris.nighswonger@veritassuperaitsolutions.com QA Contact: testopia@bugs.koha-community.org Target Milestone: --- C4::Patroncards::Patroncard::_draw_barcode() calls CheckDigits('code_39') and CheckDigits('siret') for the CODE39MOD and CODE39MOD10 barcode types (Patroncard.pm lines 434 and 437), but the module never imports Algorithm::CheckDigits. Compare C4::Labels::Label, which has: use Algorithm::CheckDigits qw( CheckDigits ); at line 7. C4::Patroncards::Patroncard has no such line. Both CheckDigits() calls sit *outside* the internal eval that guards the PDF::Reuse::Barcode call (the eval begins at line 440), so selecting either checksum barcode type in a patron card layout dies at runtime: Undefined subroutine &C4::Patroncards::Patroncard::CheckDigits called at C4/Patroncards/Patroncard.pm line 434. To reproduce: create a patron card layout with barcode type CODE39MOD (or CODE39MOD10) and print/export a batch, or run the extended t/db_dependent/Patroncards/t_Patroncard.t from Bug 41719, whose draw_barcode() subtest exercises all five supported barcode types and fails on these two. The fix is a one-line import. This was surfaced by the rendering test coverage work on Bug 41719, which will depend on this bug so its barcode-type coverage passes. -- You are receiving this mail because: You are watching all bug changes.