Bug 18317 - Allow check out of already checked out items through SIP
Summary: Allow check out of already checked out items through SIP
Status: Patch doesn't apply
Alias: None
Product: Koha
Classification: Unclassified
Component: SIP2 (show other bugs)
Version: master
Hardware: All All
: P1 - high new feature (vote)
Assignee: David Cook
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-23 07:40 UTC by Marianne Rolfsen
Modified: 2021-10-31 06:52 UTC (History)
9 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:


Attachments
Bug 18317: Allow check out of already checked out items through SIP (5.47 KB, patch)
2021-07-19 04:19 UTC, David Cook
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Marianne Rolfsen 2017-03-23 07:40:51 UTC
We see the need to have the ability to allow already checked out material to be checked out by an another patron automatically when using the automat (sip). 

Today a patron is not allowed to check out already checked out material when using the automat (sip).(In the staff client you can override this if you scan the barcode).

There are several reason for allowing this:

Case 1:
If a patron, patron no.1, fails to deliver the item properly (the item is still on loan on his account) and the item is placed on the shelf where it belongs.
The next patron(no.2) who picks it up and borrows it, can in this way correct the error of patron no.1 without contacting the staff. 

Today we risk that patron no.1 will receive fines even though he has delivered it. Or even worse patron no.2 has borrowed  it (failed to see og ignored the message on the automat) and patron nr. 1 gets the fines.


Case 2:  
If a patron has an item on loan that belongs to another branch, has no renewals left and wishes to borrow it again. He will be able to do so if there are no one on the waiting list.   


Because we have many branches that are open without any staff present, this feature  is even more important. The patrons will be much more self-sufficient -  also during the hours when the library is open but without staff.
Comment 1 Francesco Rivetti 2017-06-26 07:37:04 UTC
For future reference, here a possible workaround:

change in SIP/ILS/Transaction/Checkout.pm (commenting out the block _after_ ISSUED_TO_ANOTHER and probably adding a few more conditions there) 

commenting out the _whole_ if case around "Item checked out to another patron" in C4/SIP/ILS.pm
Comment 2 Magnus Enger 2018-03-28 22:47:15 UTC
At least one library in Sweden would like to see this implemented too.
Comment 3 Colin Campbell 2018-09-05 08:50:58 UTC
Some sip clients already implement this - they force a discharge then proceed with the issue
Comment 4 David Cook 2021-07-19 03:56:23 UTC
(In reply to Francesco Rivetti from comment #1)
> For future reference, here a possible workaround:
> 
> change in SIP/ILS/Transaction/Checkout.pm (commenting out the block _after_
> ISSUED_TO_ANOTHER and probably adding a few more conditions there) 
> 
> commenting out the _whole_ if case around "Item checked out to another
> patron" in C4/SIP/ILS.pm

I have a library that has been carrying this customization for a few years now.

To be acceptable for Koha, I think that we'll have to wrap it with a system preference. 

Perhaps "AllowItemsOnLoanCheckoutSIP" (patterned after "AllowItemsOnHoldCheckoutSIP").
Comment 5 David Cook 2021-07-19 04:19:23 UTC
Created attachment 122934 [details] [review]
Bug 18317: Allow check out of already checked out items through SIP

This patch allows checkouts to be processed via SIP even when
the item is already checked out to a user.

Test plan:
0) Apply the patch
1) koha-sip --stop kohadev
2) koha-sip --start kohadev
3) misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkout --patron koha --item 39999000001310
4) misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkout --patron 23529000035676 --item 39999000001310
5) Note the output includes "AFItem checked out to another patron"
6) Enable system preference "AllowItemsOnLoanCheckoutSIP"
7) misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkout --patron 23529000035676 --item 39999000001310
8) Note the output no longer includes "AFItem checked out to another patron" and the item has been checked out to patron 23529000035676
Comment 6 David Cook 2021-07-19 04:20:14 UTC
Note that I developed this patch against 21.05 rather than master, so it might not actually apply. 

My priority is the local change, so I figured it was better to attach 21.05 patches here rather than not send anything upstream.
Comment 7 David Nind 2021-10-31 06:52:08 UTC
Just to confirm that the patch doesn't apply in master 8-(..

Applying: Bug 18317: Allow check out of already checked out items through SIP
Using index info to reconstruct a base tree...
M	C4/SIP/ILS.pm
M	C4/SIP/ILS/Transaction/Checkout.pm
M	installer/data/mysql/mandatory/sysprefs.sql
M	koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
Falling back to patching base and 3-way merge...
Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
Auto-merging installer/data/mysql/mandatory/sysprefs.sql
Auto-merging C4/SIP/ILS/Transaction/Checkout.pm
Auto-merging C4/SIP/ILS.pm
CONFLICT (content): Merge conflict in C4/SIP/ILS.pm
error: Failed to merge in the changes.
Patch failed at 0001 Bug 18317: Allow check out of already checked out items through SIP