Currently if you have a stack of 15 books that you want to renew through the self checkout, you need to read the barcode of each item and then click "renew" for each of them. Same for returning books. One of my customers wants to change the SCO screen so that users can choose the action they want to take up front, then let them do the 15 renewals by just scanning the barcodes. Currently, I am thinking about implementing this as 3 tabs - Borrow/Renew/Return - with a barcode box on each one of them. I will have to get feedback from the customer in question, so this may be subject to change...
+1: Sounds like a nice update on the functionality to me
Work in progress: https://github.com/Libriotech/kohawork/tree/bug17449-sco-tabs
Created attachment 57996 [details] [review] Bug 17449 - Let users choose action in self checkout Currently if you have a stack of 15 books that you want to renew through the self checkout, you need to read the barcode of each item and then click "renew" for each of them. Same for returning books. One of my customers wants to change the SCO screen so that users can choose the action they want to take up front, then let them do the 15 renewals by just scanning the barcodes. This patch uses "Bootstrap tabs". I tried using "jQuery tabs", in a similar way to how it is done in e.g. record detail display in the OPAC. This resulted in weird conflicts between jQuery and Bootstrap, hence the the use of Bootstrap for the final patch. To test: - Apply this patch - Make sure self check is enabled - Log in to self check - Process some barcodes, first by borrowing, then renewing, then returning. Verify that the selected tab is still active and has focus after each barcode has been processed. - Now try "illegal" actions and check that you get appropriate responses: - Try to borrow a barcode you have already borrowed. - Try to return a barcode that you have not already borrowed. - Etc. - Try this with and without AllowSelfCheckReturns Sponsored-by: Hylte Public Library
I tested this, everything worked fine except that scanning the barcode on the renew tab fails to renew the item. If you manually click the renew link, it renews the item, but entering the barcode doesn't.
Created attachment 74796 [details] [review] Bug 17449 - Let users choose action in self checkout Currently if you have a stack of 15 books that you want to renew through the self checkout, you need to read the barcode of each item and then click "renew" for each of them. Same for returning books. One of my customers wants to change the SCO screen so that users can choose the action they want to take up front, then let them do the 15 renewals by just scanning the barcodes. This patch uses "Bootstrap tabs". I tried using "jQuery tabs", in a similar way to how it is done in e.g. record detail display in the OPAC. This resulted in weird conflicts between jQuery and Bootstrap, hence the use of Bootstrap for the final patch. To test: - Apply this patch - Make sure self check is enabled - Log in to self check - Process some barcodes, first by borrowing, then renewing, then returning. Verify that the selected tab is still active and has focus after each barcode has been processed. - Now try "illegal" actions and check that you get appropriate responses: - Try to borrow a barcode you have already borrowed. - Try to return a barcode that you have not already borrowed. - Etc. - Try this with and without AllowSelfCheckReturns 2018-04-24: Fixed conflicts and problems with renew and return. Sponsored-by: Hylte Public Library
I'm getting a periodic error when testing checkouts: Undefined subroutine &C4::Circulation::getnextacctno called at /home/vagrant/kohaclone/C4/Circulation.pm line 3190. When I return to the patron's account summary the item has been checked out. I haven't been able to tell whether there's something about the item that's causing this, but I confirmed that it wasn't checked out/on hold/lost, etc. before trying to check it out.
(In reply to Owen Leonard from comment #6) > I'm getting a periodic error when testing checkouts: > > Undefined subroutine &C4::Circulation::getnextacctno called at > /home/vagrant/kohaclone/C4/Circulation.pm line 3190. Weird, I have not seen that error when developing. C4/Circulation.pm line 3190 is inside AddIssuingCharge(), so it seems to be related to items that have an issuing charge? And "sub getnextacctno" is actually in C4::Accounts, not in C4::Circulation. Could it be a missing "use C4::Accounts;"... somewhere?