Bug 39407

Summary: Having no active currency defined breaks SIP silently
Product: Koha Reporter: Kyle M Hall (khall) <kyle>
Component: SIP2Assignee: Kyle M Hall (khall) <kyle>
Status: Failed QA --- QA Contact: Marcel de Rooy <m.de.rooy>
Severity: normal    
Priority: P5 - low CC: m.de.rooy
Version: unspecified   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: Trivial patch Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 39407: Add unit test to prove no active currency crashes SIP
Bug 39407: Add unit test to prove no active currency crashes SIP
Bug 39407: Prevent SIP from crashing due to lack of active currency
Bug 39407: Prevent SIP from crashing due to lack of active currency
Bug 39407: Add unit test to prove no active currency crashes SIP
Bug 39407: Prevent SIP from crashing due to lack of active currency

Description Kyle M Hall (khall) 2025-03-21 10:51:19 UTC
In the staff interface, in most areas of Koha that require an active currency to be defined, a large info box appears to let the user know there is no active currency defined. Our SIP code presumes an active currency and if one is not defined, any SIP messages utilizing C4::SIP::ILS::Patron will crash with no errors such that a response is never transmitted for the request.
Comment 1 Kyle M Hall (khall) 2025-03-21 11:05:21 UTC Comment hidden (obsolete)
Comment 2 Kyle M Hall (khall) 2025-03-21 11:11:53 UTC Comment hidden (obsolete)
Comment 3 Kyle M Hall (khall) 2025-03-21 11:11:59 UTC Comment hidden (obsolete)
Comment 4 Magnus Enger 2025-03-31 14:36:50 UTC Comment hidden (obsolete)
Comment 5 Magnus Enger 2025-03-31 14:38:16 UTC
Created attachment 180061 [details] [review]
Bug 39407: Add unit test to prove no active currency crashes SIP

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Comment 6 Magnus Enger 2025-03-31 14:38:29 UTC
Created attachment 180062 [details] [review]
Bug 39407: Prevent SIP from crashing due to lack of active currency

In the staff interface, in most areas of Koha that require an active currency to be defined, a large info box appears to let the user know there is no active currency defined. Our SIP code presumes an active currency and if one is not defined, any SIP messages utilizing C4::SIP::ILS::Patron will crash with no errors such that a response is never transmitted for the request.

Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/SIP/Patron.t Fails!
3) Apply the second patch
4) prove t/db_dependent/SIP/Patron.t Succeeds!

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Comment 7 Marcel de Rooy 2025-04-18 09:13:50 UTC
I ran the test without the second patch. And was surprised to see:
# Subtest: new tests
    1..6
    ok 1 - Found patron via cardnumber scalar
    ok 2 - Found patron via userid scalar
    ok 3 - Found patron via borrowernumber hashref
    ok 4 - Found patron via cardnumber hashref
    ok 5 - Found patron via userid hashref
    ok 6 - Found patron when  no active currency is defined
ok 3 - new tests

Please clarify.