Bug 17449 - Let users choose action in self checkout
Summary: Let users choose action in self checkout
Status: Failed QA
Alias: None
Product: Koha
Classification: Unclassified
Component: Self checkout (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Magnus Enger
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-14 16:51 UTC by Magnus Enger
Modified: 2018-08-09 08:20 UTC (History)
4 users (show)

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


Attachments
Bug 17449 - Let users choose action in self checkout (12.90 KB, patch)
2016-12-06 10:21 UTC, Magnus Enger
Details | Diff | Splinter Review
Bug 17449 - Let users choose action in self checkout (13.07 KB, patch)
2018-04-24 09:58 UTC, Magnus Enger
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Magnus Enger 2016-10-14 16:51:17 UTC
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...
Comment 1 Martin Renvoize 2016-10-14 16:57:09 UTC
+1: Sounds like a nice update on the functionality to me
Comment 2 Magnus Enger 2016-10-17 08:18:32 UTC Comment hidden (obsolete)
Comment 3 Magnus Enger 2016-12-06 10:21:12 UTC Comment hidden (obsolete)
Comment 4 Chuck McAndrew 2016-12-12 22:13:58 UTC
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.
Comment 5 Magnus Enger 2018-04-24 09:58:17 UTC
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
Comment 6 Owen Leonard 2018-08-08 14:01:13 UTC
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.
Comment 7 Magnus Enger 2018-08-09 08:20:16 UTC
(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?