Some libraries have different types of SIP2 checkout stations - staffed or unstaffed. There are certin itemtypes (passes, equipment, etc.) that should not be checked out from unstaffed stations, This bug proposes to add the ability to define a list of item types in the SIP configuration for an account and prevent those items from being issued by that SIP account
Created attachment 152773 [details] [review] Bug 34101: Unit Tests prove t/db_dependent/SIP/Message.t
Created attachment 152774 [details] [review] Bug 34101: Limit items types that can be checked out via SIP2 This bug adds the ability to define a list of item types that are blocked from being issued at that SIP account To test: 1) Apply this patch 2) Visit Administration->Item types and select edit on the music item type 3) Make the rental charge 0 and save changes (this allows for the item to be checked out via SIP) 4) In the terminal, vim /etc/koha/sites/kohadev/SIPconfig.xml 5) Edit the term1 account and add the following *inside* the login section: blocked_item_types="BK|MU" You should have something similar to this: <login id ="term1" ........... checked_in_ok="1" blocked_item_types="BK|MU" /> 6) Restart SIP (sudo koha-sip --restart <instancename>) 7) Run a checkout query for an item with the item type book. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418-m checkout 8) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 9) Run a checkout query for an item with the item type music. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 10) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 11) vim /etc/koha/sites/kohadev/SIPconfig.xml and delete the BK from the blocked_item 12) Delete the BK from blocked_item_types. It should now look like : blocked_item_types="MU" 13) Restart SIP (sudo koha-sip --restart <instancename>) 14) Run a checkout query for the item with the item type book perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418 -m checkout 15) Checkout succesful 16) Run a checkout query for the item with the item type music perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 17) Still fails (because it is blocked) 18) prove t/db_dependent/SIP/Message.t 19) Congratulate yourself for making it through the long test and sign-off :)
Created attachment 152798 [details] [review] Bug 34101: Unit Tests prove t/db_dependent/SIP/Message.t Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Created attachment 152799 [details] [review] Bug 34101: Limit items types that can be checked out via SIP2 This bug adds the ability to define a list of item types that are blocked from being issued at that SIP account To test: 1) Apply this patch 2) Visit Administration->Item types and select edit on the music item type 3) Make the rental charge 0 and save changes (this allows for the item to be checked out via SIP) 4) In the terminal, vim /etc/koha/sites/kohadev/SIPconfig.xml 5) Edit the term1 account and add the following *inside* the login section: blocked_item_types="BK|MU" You should have something similar to this: <login id ="term1" ........... checked_in_ok="1" blocked_item_types="BK|MU" /> 6) Restart SIP (sudo koha-sip --restart <instancename>) 7) Run a checkout query for an item with the item type book. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418-m checkout 8) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 9) Run a checkout query for an item with the item type music. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 10) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 11) vim /etc/koha/sites/kohadev/SIPconfig.xml and delete the BK from the blocked_item 12) Delete the BK from blocked_item_types. It should now look like : blocked_item_types="MU" 13) Restart SIP (sudo koha-sip --restart <instancename>) 14) Run a checkout query for the item with the item type book perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418 -m checkout 15) Checkout succesful 16) Run a checkout query for the item with the item type music perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 17) Still fails (because it is blocked) 18) prove t/db_dependent/SIP/Message.t 19) Congratulate yourself for making it through the long test and sign-off :) Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Created attachment 152924 [details] [review] Bug 34101: Unit Tests prove t/db_dependent/SIP/Message.t Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Created attachment 152925 [details] [review] Bug 34101: Limit items types that can be checked out via SIP2 This bug adds the ability to define a list of item types that are blocked from being issued at that SIP account To test: 1) Apply this patch 2) Visit Administration->Item types and select edit on the music item type 3) Make the rental charge 0 and save changes (this allows for the item to be checked out via SIP) 4) In the terminal, vim /etc/koha/sites/kohadev/SIPconfig.xml 5) Edit the term1 account and add the following *inside* the login section: blocked_item_types="BK|MU" You should have something similar to this: <login id ="term1" ........... checked_in_ok="1" blocked_item_types="BK|MU" /> 6) Restart SIP (sudo koha-sip --restart <instancename>) 7) Run a checkout query for an item with the item type book. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418-m checkout 8) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 9) Run a checkout query for an item with the item type music. Here is an example you could use: perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 10) Notice the checkout failed and you are given the screen msg "Item type cannot be checked out at this checkout location" 11) vim /etc/koha/sites/kohadev/SIPconfig.xml and delete the BK from the blocked_item 12) Delete the BK from blocked_item_types. It should now look like : blocked_item_types="MU" 13) Restart SIP (sudo koha-sip --restart <instancename>) 14) Run a checkout query for the item with the item type book perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000011418 -m checkout 15) Checkout succesful 16) Run a checkout query for the item with the item type music perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL --patron 23529001000463 --item 39999000008715 -m checkout 17) Still fails (because it is blocked) 18) prove t/db_dependent/SIP/Message.t 19) Congratulate yourself for making it through the long test and sign-off :) Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Nice work.. all looks good here. Passing QA
Pushed to master for 23.11. Nice work everyone, thanks!
Thank you for your hard work on this everyone! Is it possible to have this back ported to either 23.05 or 22.11, or both? Thanks! Chris
As this requires serverside configuration changes to have any effect, I think we're safe to backport this one to 23.05.x series.
Thanks for all the hard work! Pushed to 23.05.x for the next release
Enhancement - not backporting to 22.11.x Nice work everyone!