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.
Created attachment 174795 [details] [review] Bug 38486: Fix unit tests
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!