Summary: | No block checkouts are still blocked by fines, checkouts, and blocked item types | ||
---|---|---|---|
Product: | Koha | Reporter: | Kyle M Hall (khall) <kyle> |
Component: | SIP2 | Assignee: | Kyle M Hall (khall) <kyle> |
Status: | RESOLVED FIXED | QA Contact: | Testopia <testopia> |
Severity: | normal | ||
Priority: | P5 - low | CC: | alexbuckley, david, fridolin.somers, jesse, lucas, martin.renvoize, paul.derscheid |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
GIT URL: | 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,24.11.02,24.05.08,23.11.13
|
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 Bug 38486: [24.05.x] Fix unit tests Bug 38486: [24.05.x] For SIP allow noblock checkouts reguardless of normal patron checkout blocks |
Description
Kyle M Hall (khall)
2024-11-19 15:44:45 UTC
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! Created attachment 175263 [details] [review] Bug 38486: Fix unit tests 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! Created attachment 175276 [details] [review] Bug 38486: Fix unit tests Signed-off-by: David Nind <david@davidnind.com> 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> 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> 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> No regressions found.. sip is always fun :S Passing QA Pushed for 25.05! Well done everyone, thank you! Can this be backported to 24.11? Nice work everyone! Pushed to 24.11.x for 24.11.01 Hi Kyle, We are testing this patchset for 24.05.x backport. When we cherry-pick the first patch from 24.11.x onto 24.05.x it applies cleanly. But the second patch conflicts, see below: --- kohadev-koha@kohadevbox:koha(24.05.x)$ git cherry-pick 34df58a5b98f8f36e8820666834a76a0bf7167d2 Auto-merging C4/SIP/ILS.pm CONFLICT (content): Merge conflict in C4/SIP/ILS.pm error: could not apply 34df58a5b98... Bug 38486: For SIP allow noblock checkouts reguardless of normal patron checkout blocks hint: After resolving the conflicts, mark them with hint: "git add/rm <pathspec>", then run hint: "git cherry-pick --continue". hint: You can instead skip this commit with "git cherry-pick --skip". hint: To abort and get back to the state before "git cherry-pick", hint: run "git cherry-pick --abort". kohadev-koha@kohadevbox:koha(24.05.x|CHERRY-PICKING)$ git status On branch 24.05.x You are currently cherry-picking commit 34df58a5b98. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --skip" to skip this patch) (use "git cherry-pick --abort" to cancel the cherry-pick operation) Unmerged paths: (use "git add <file>..." to mark resolution) both modified: C4/SIP/ILS.pm no changes added to commit (use "git add" and/or "git commit -a") (failed reverse-i-search)`sed': re^Ct_all kohadev-koha@kohadevbox:koha(24.05.x|CHERRY-PICKING)$ --- Could you please attach a 24.05.x rebase for the second patch to this bug report? Thanks in advance, Alex Created attachment 179514 [details] [review] Bug 38486: [24.05.x] Fix unit tests Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 179515 [details] [review] Bug 38486: [24.05.x] 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> > Could you please attach a 24.05.x rebase for the second patch to this bug
> report?
Here you go!
(In reply to Kyle M Hall (khall) from comment #16) > > Could you please attach a 24.05.x rebase for the second patch to this bug > > report? > > Here you go! Thank you very much! Nice work everyone! Pushed to 24.05.x for 24.05.08 Pushed to 23.11.x for 23.11.13 Patch doesn't apply to 22.11.x. Many merge conflicts. |