Bug 38486

Summary: No block checkouts are still blocked by fines, checkouts, and blocked item types
Product: Koha Reporter: Kyle M Hall (khall) <kyle>
Component: SIP2Assignee: Kyle M Hall (khall) <kyle>
Status: Pushed to main --- QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: david, lucas, martin.renvoize
Version: unspecifiedKeywords: rel_24_11_candidate
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
This fixes SIP so that it allows noblock checkouts, regardless of normal patron checkout blocks. Explanation: The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ("store and forward") transaction. The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item due to lack of tracking. As such, no block checkouts should not be blocked under any circumstances.
Version(s) released in:
25.05.00
Circulation function:
Attachments: Bug 38486: Fix unit tests
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks
Bug 38486: Fix unit tests
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks
Bug 38486: Fix unit tests
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks
Bug 38486: Fix unit tests
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks

Description Kyle M Hall (khall) 2024-11-19 15:44:45 UTC
The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ( "store and forward" ) transaction. The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item do to lack of tracking. As such, no block checkouts should not be blocked under any circumstances.
Comment 1 Kyle M Hall (khall) 2024-11-19 16:16:42 UTC
Created attachment 174795 [details] [review]
Bug 38486: Fix unit tests
Comment 2 Kyle M Hall (khall) 2024-11-19 16:16:48 UTC
Created attachment 174796 [details] [review]
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks

The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ( "store and forward" ) transaction.
The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item do to lack of tracking.
As such, no block checkouts should not be blocked under any circumstances.

The sub C4::SIP::ILS::Transaction::Checkout::do_checkout already honors this, but it is wrapped by
C4::SIP::ILS::checkout which has additional checks that do not.

Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/SIP/Transaction.t will fail
3) Apply the second patch
4) prove t/db_dependent/SIP/Transaction.t will pass!
Comment 3 Kyle M Hall (khall) 2024-12-06 15:20:31 UTC
Created attachment 175263 [details] [review]
Bug 38486: Fix unit tests
Comment 4 Kyle M Hall (khall) 2024-12-06 15:20:38 UTC
Created attachment 175264 [details] [review]
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks

The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ( "store and forward" ) transaction.
The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item do to lack of tracking.
As such, no block checkouts should not be blocked under any circumstances.

The sub C4::SIP::ILS::Transaction::Checkout::do_checkout already honors this, but it is wrapped by
C4::SIP::ILS::checkout which has additional checks that do not.

Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/SIP/Transaction.t will fail
3) Apply the second patch
4) prove t/db_dependent/SIP/Transaction.t will pass!
Comment 5 David Nind 2024-12-06 22:06:43 UTC
Created attachment 175276 [details] [review]
Bug 38486: Fix unit tests

Signed-off-by: David Nind <david@davidnind.com>
Comment 6 David Nind 2024-12-06 22:06:46 UTC
Created attachment 175277 [details] [review]
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks

The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ( "store and forward" ) transaction.
The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item do to lack of tracking.
As such, no block checkouts should not be blocked under any circumstances.

The sub C4::SIP::ILS::Transaction::Checkout::do_checkout already honors this, but it is wrapped by
C4::SIP::ILS::checkout which has additional checks that do not.

Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/SIP/Transaction.t will fail
3) Apply the second patch
4) prove t/db_dependent/SIP/Transaction.t will pass!

Signed-off-by: David Nind <david@davidnind.com>
Comment 7 Martin Renvoize (ashimema) 2024-12-09 14:44:59 UTC
Created attachment 175312 [details] [review]
Bug 38486: Fix unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 8 Martin Renvoize (ashimema) 2024-12-09 14:45:01 UTC
Created attachment 175313 [details] [review]
Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks

The purpose of no block checkouts in SIP is to indicate that the SIP machine has made an offline ( "store and forward" ) transaction.
The patron already has the item. As such, the item must be checked out to the patron or the library risks losing the item do to lack of tracking.
As such, no block checkouts should not be blocked under any circumstances.

The sub C4::SIP::ILS::Transaction::Checkout::do_checkout already honors this, but it is wrapped by
C4::SIP::ILS::checkout which has additional checks that do not.

Test Plan:
1) Apply the unit test patch
2) prove t/db_dependent/SIP/Transaction.t will fail
3) Apply the second patch
4) prove t/db_dependent/SIP/Transaction.t will pass!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 9 Martin Renvoize (ashimema) 2024-12-09 15:57:14 UTC
No regressions found.. sip is always fun :S 

Passing QA
Comment 10 Katrin Fischer 2024-12-23 08:38:17 UTC
Pushed for 25.05!

Well done everyone, thank you!
Comment 11 Lucas Gass (lukeg) 2025-01-16 17:01:14 UTC
Can this be backported to 24.11?