Description
davedaghita
2022-11-17 18:30:01 UTC
Several partners have indicated an interest in this functionality, especially those using RFID pads for self-check stations, as Dave noted. Could you clarify what form the output of the RFID reader comes as.. a newline delimited list of barcodes, or a comma delimited list perhaps? new line delimited list of barcodes Created attachment 154866 [details] [review] Bug 32256: WIP Not ready for testing Created attachment 154893 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Hi Aleisha. Step 9 doesn't work for me - everything else seems to work as per the test plan. 9. Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. Checking out multiple items, where one or more is not for loan. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I used three items: 39999000000498 (not for loan) 39999000011111 39999000011135 Results - using the order above: 1. First item - message in yellow saying item cannot be checked out, with option to return to account summary. 2. Other two items - not checked out. Results - putting the not for loan item in the middle: 1. Message in yellow: Item cannot be checked out (for 39999000000498) 2. Message in blue: Item checked out (39999000011111). 3. No other messages, the third item (39999000011135) not checked out Results - putting not for loan item at the end: 1. Message in yellow: Item cannot be checked out (for 39999000000498) 2. Messages in blue: Item checked out (39999000011111) Item checked out (39999000011135) 3. The first two items are checked out, the not for loan item isn't (as expected) Results - adding a fourth item: 1. I used four items: - 39999000011111 - 39999000011135 - 39999000000498 (not for loan) - 39999000005134 2. Stops at the third item, that is: the first two items are checked out. The third isn't (as expected), the fourth item isn't checked out. Conclusion: - If checking out multiple items, it stops checking out at the item that can't be checked out - even if later items can be checked out. Interface message ~~~~~~~~~~~~~~~~~ Since this change only allows multiple checkouts, but NOT renewals or returns, then I think the text needs to reflect that. Current text: Scan a new item or enter its barcode (or enter a barcode list, one barcode per line): Proposed text - something like: Scan a new item or enter its barcode (for **multiple check outs only**, enter a barcode list, one barcode per line): David (In reply to David Nind from comment #6) > Conclusion: > - If checking out multiple items, it stops checking out at the item that > can't be checked out - even if later items can be checked out. > > You're completely right, and actually that's what we wrote in the patch so maybe the test plan is misleading... "The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored." Do we think this is acceptable? I have not tested as I'm having an issue with adding the bug patch to my test server at the moment (I'm a rookie still LOL.) I think the patch is acceptable from previous comments, the workflow is as described. It will work for our needs; we do have alerts to let patrons know if a book causes an issue, so this helps with reducing unchecked items from walking out overall as well. This currently would be the best option to provide multiple item checkouts at once inside koha self-checkout natively. (In reply to Aleisha Amohia from comment #7) > (In reply to David Nind from comment #6) ... > > You're completely right, and actually that's what we wrote in the patch so > maybe the test plan is misleading... > > "The items in the batch will still be handled one-by-one, so if any item in > the batch requires confirmation (i.e. to be renewed or returned) or is > impossible to check out, the process will stop at that item. Any items > earlier in the list will be processed, but any items coming after in the > list will be ignored." > > Do we think this is acceptable? Thanks Aleisha - I didn't properly read the description in the test plan! I guess the main thing is knowing that this will happen. Having more advanced error messaging could be handled in a separate bug, if required. Adding this as a note in the documentation will help as well. The patch still applies, so I will sign off as it currently is, as it is working as planned. David (In reply to Dave from comment #8) > I have not tested as I'm having an issue with adding the bug patch to my > test server at the moment (I'm a rookie still LOL.) One way to test is to use the sandboxes (this bug can be tested in the sandboxes) - basically a fresh Koha environment that you can apply the bug with in your browser: https://wiki.koha-community.org/wiki/Sandboxes A more advanced way is to set up the testing environment on your desktop (which is what I normally use) https://gitlab.com/koha-community/koha-testing-docker (feel free to ask on IRC or the development list if you want to use it, but have issues setting it up. Created attachment 158585 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Created attachment 158586 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. (In reply to David Nind from comment #9) > (In reply to Aleisha Amohia from comment #7) > > (In reply to David Nind from comment #6) > ... > > > > You're completely right, and actually that's what we wrote in the patch so > > maybe the test plan is misleading... > > > > "The items in the batch will still be handled one-by-one, so if any item in > > the batch requires confirmation (i.e. to be renewed or returned) or is > > impossible to check out, the process will stop at that item. Any items > > earlier in the list will be processed, but any items coming after in the > > list will be ignored." > > > > Do we think this is acceptable? > > Thanks Aleisha - I didn't properly read the description in the test plan! > > I guess the main thing is knowing that this will happen. Having more > advanced error messaging could be handled in a separate bug, if required. > > Adding this as a note in the documentation will help as well. > > The patch still applies, so I will sign off as it currently is, as it is > working as planned. > > David Thanks David. I added the follow-up you suggested to say it only works for multiple checkouts, and agree with your other comments. (In reply to David Nind from comment #10) > (In reply to Dave from comment #8) > > I have not tested as I'm having an issue with adding the bug patch to my > > test server at the moment (I'm a rookie still LOL.) > > One way to test is to use the sandboxes (this bug can be tested in the > sandboxes) - basically a fresh Koha environment that you can apply the bug > with in your browser: https://wiki.koha-community.org/wiki/Sandboxes > > A more advanced way is to set up the testing environment on your desktop > (which is what I normally use) > https://gitlab.com/koha-community/koha-testing-docker (feel free to ask on > IRC or the development list if you want to use it, but have issues setting > it up. David- Thank you for the sandbox information I heard of these, but I've only seen the demo section of ByWater. I'll use those from now on too. I do have docker setup on my macbook, but didn't know if I needed it to be on my work network to test our SCO kiosks in the library. I was trying to added to a debian OS instance of koha that is on our network. Anyway long story as I slowly get into this developer chair LOL. Thank you for testing and the updated write up to the bug/patch. Great! (In reply to Aleisha Amohia from comment #13) > (In reply to David Nind from comment #9) > > (In reply to Aleisha Amohia from comment #7) > > > (In reply to David Nind from comment #6) > > ... > > > > > > You're completely right, and actually that's what we wrote in the patch so > > > maybe the test plan is misleading... > > > > > > "The items in the batch will still be handled one-by-one, so if any item in > > > the batch requires confirmation (i.e. to be renewed or returned) or is > > > impossible to check out, the process will stop at that item. Any items > > > earlier in the list will be processed, but any items coming after in the > > > list will be ignored." > > > > > > Do we think this is acceptable? > > > > Thanks Aleisha - I didn't properly read the description in the test plan! > > > > I guess the main thing is knowing that this will happen. Having more > > advanced error messaging could be handled in a separate bug, if required. > > > > Adding this as a note in the documentation will help as well. > > > > The patch still applies, so I will sign off as it currently is, as it is > > working as planned. > > > > David > > Thanks David. I added the follow-up you suggested to say it only works for > multiple checkouts, and agree with your other comments. Alesisha- Thank you for all your work on the bug/patch! Wonderful! Needs rebased on top of Bug 34478 now. Created attachment 163878 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Created attachment 163879 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. When I had no categories selected in BatchCheckoutsValidCategories, only one checkout was allowed at a time, as you described (Step 6). Once I'd enabled one category in BatchCheckoutsValidCategories, however, I was able to perform batch checkouts via the SCO with any patron, regardless of their category. Otherwise everything worked as described. Thanks! (In reply to Andrew Fuerste-Henry from comment #19) > When I had no categories selected in BatchCheckoutsValidCategories, only one > checkout was allowed at a time, as you described (Step 6). Once I'd enabled > one category in BatchCheckoutsValidCategories, however, I was able to > perform batch checkouts via the SCO with any patron, regardless of their > category. > > Otherwise everything worked as described. Thanks! I did a little more testing this morning and confirmed that BatchCheckoutsValidCategories is being enforced based on the category of the account used to activate the SCO, rather than the account of the patron. In KTD by default that's the self-check user, who is in category Staff. I did the following test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Staff in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time 6 - edit the self_check user, change category to Patron 7 - log into SCO with your Patron user again, now you are back to only checking out 1 item at a time Created attachment 164571 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Created attachment 164572 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Created attachment 164573 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US The category code limits are now working as intended, everything in the test plan worked. I typo-ed my way into finding another issue. Self-check login dies with the following error if self-check login is unsuccessful while BatchCheckouts is set to Allow: "Can't call method 'categorycode' on an undefined value at /kohadevbox/koha/opac/sco/sco-main.pl" I was testing this bug with SelfCheckoutByLogin set to cardnumber, so entering a nonexistent cardnumber caused the SCO to die. When I switched SelfCheckoutByLogin to username and password, it died on an incorrect username/password combo. Created attachment 164637 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Created attachment 164638 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 164639 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 164640 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> I'd love to have seen this allow for different delimiter options rather than on/off and assume it's new line delimited. I've seen scanners that allow for delimiter to be configured and final character to be configured.. so one could produce a comma delimited list followed by return.. that would allow for a more seamless workflow (and may also allow for replacing this on/off pref with a 'delimeter' preference instead. Even if we don't do that, the preference isn't well names.. we could make it clear this only pertains to the SCO and nothing else. Finally.. and the main reason I'm failing QA now.. if you list good and bad barcodes the failure is silent if it's not the first barcode happens to pass.. we should be listing all info/warning/blockers for each barcode that returns a problem. Created attachment 164869 [details] [review] Bug 32256: Display barcodes not checked out in batch This patch encourages the user to check out certain items individually if they fail to be checked out in a batch. This way they will be presented with more useful error messages. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - Find three barcodes 3 - log into SCO with a user in category Patron, paste the barcodes separated by newlines and submit. confirm one item is succcessfully checked out and the other two barcodes are listed in the pop-up, encouraged to try checking out individually. 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Thanks for your comments Martin (In reply to Martin Renvoize from comment #29) > I'd love to have seen this allow for different delimiter options rather than > on/off and assume it's new line delimited. > > I've seen scanners that allow for delimiter to be configured and final > character to be configured.. so one could produce a comma delimited list > followed by return.. that would allow for a more seamless workflow (and may > also allow for replacing this on/off pref with a 'delimeter' preference > instead. I haven't addressed this in the latest follow-up, I think it's a great idea for a next enhancement, but is outside of the scope for this development. > > Even if we don't do that, the preference isn't well names.. we could make it > clear this only pertains to the SCO and nothing else. BatchCheckouts is used already by the staff interface circulation system. It does not only pertain to the SCO. > > Finally.. and the main reason I'm failing QA now.. if you list good and bad > barcodes the failure is silent if it's not the first barcode happens to > pass.. we should be listing all info/warning/blockers for each barcode that > returns a problem. I have addressed this in follow-up. (In reply to Aleisha Amohia from comment #31) As Aleisha says, the sysprefs here existed before this feature and apply to both staff checkout and self-check. I agree that customizable delimiters make sense as a feature to be added down the road, but would hate to see this enhancement stall out over it now. > > > > Finally.. and the main reason I'm failing QA now.. if you list good and bad > > barcodes the failure is silent if it's not the first barcode happens to > > pass.. we should be listing all info/warning/blockers for each barcode that > > returns a problem. > > I have addressed this in follow-up. I'm not sure this follow-up is addressing the issue raised. With this new patch this is what I see: - enable BatchCheckouts, but no categories in BatchCheckoutsValidCategories - Have barcodes 1,2,3 that allow checkout, barcodes A,B,C that are not for loan - log into SCO with a patron, enter a valid barcode followed by an invalid barcode (1, A). Item 1 checks out correctly, but Koha says "Please check out the following items individually: A" -- This is inaccurate as A doesn't exist, cannot be checked out at all - log into SCO with another patron, enter an invalid barcode followed by a valid barcode (B, 2). Neither item checks out. Koha accurately reports that B is not a known item and says 2 must be checked out individually - return your items, enable a patron category in BatchCheckoutsValidCategories - log into SCO with a patron in the category you've allowed to use batch checkouts - Enter a valid barcode followed by an invalid barcode (1, A). Item 1 checks out, Koha makes no mention of item A. This behavior appears unchanged. Your new patch appears to apply only to patrons who are not allowed batch checkout? Created attachment 165719 [details] [review] Bug 32256: Handle batch error messages better This enhancement modifies the self-checkout script to better handle 'impossible' and 'needs confirmation' checkout messages. Test with a combination of barcodes that would invoke these messages, for example: - impossible: barcode doesn't exist - impossible: barcode is for a 'notforloan' item type - impossible: debt - needs confirmation: barcode already checked out, i.e. confirm renewal Include barcodes that should have successful checkouts too. Also, test with the following sysprefs: - BatchCheckouts: enabled - BatchCheckoutsValidCategories: none selected Confirm SCO does not have a multi-line text area for more than one barcode, and doesn't accept more than one barcode. Created attachment 165751 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 165752 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 165753 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 165754 [details] [review] Bug 32256: Display barcodes not checked out in batch This patch encourages the user to check out certain items individually if they fail to be checked out in a batch. This way they will be presented with more useful error messages. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - Find three barcodes 3 - log into SCO with a user in category Patron, paste the barcodes separated by newlines and submit. confirm one item is succcessfully checked out and the other two barcodes are listed in the pop-up, encouraged to try checking out individually. 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 165755 [details] [review] Bug 32256: Handle batch error messages better This enhancement modifies the self-checkout script to better handle 'impossible' and 'needs confirmation' checkout messages. Test with a combination of barcodes that would invoke these messages, for example: - impossible: barcode doesn't exist - impossible: barcode is for a 'notforloan' item type - impossible: debt - needs confirmation: barcode already checked out, i.e. confirm renewal Include barcodes that should have successful checkouts too. Also, test with the following sysprefs: - BatchCheckouts: enabled - BatchCheckoutsValidCategories: none selected Confirm SCO does not have a multi-line text area for more than one barcode, and doesn't accept more than one barcode. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> I made a follow-up about including item barcodes in the error messages. I tested this with a bunch of items all on the same bib and the lack of barcodes in errors got confusing. But that doesn't seem like a situation a lot of patrons will get into, so it didn't seem worth blocking this. I want to note explicitly that with these new patches the batch is not aborted on the first error. I entered the following barcodes in this order: 1 (good barcode) 2 (withdrawn) 3 (lost) 4 (not for loan) 5 (good barcode) Items 1 & 5 both checked out and I got detailed errors about the other three (or at least as detailed as I would have gotten in a regular not-batch checkout) Created attachment 165978 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 165979 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 165980 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 165981 [details] [review] Bug 32256: Display barcodes not checked out in batch This patch encourages the user to check out certain items individually if they fail to be checked out in a batch. This way they will be presented with more useful error messages. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - Find three barcodes 3 - log into SCO with a user in category Patron, paste the barcodes separated by newlines and submit. confirm one item is succcessfully checked out and the other two barcodes are listed in the pop-up, encouraged to try checking out individually. 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 165982 [details] [review] Bug 32256: Handle batch error messages better This enhancement modifies the self-checkout script to better handle 'impossible' and 'needs confirmation' checkout messages. Test with a combination of barcodes that would invoke these messages, for example: - impossible: barcode doesn't exist - impossible: barcode is for a 'notforloan' item type - impossible: debt - needs confirmation: barcode already checked out, i.e. confirm renewal Include barcodes that should have successful checkouts too. Also, test with the following sysprefs: - BatchCheckouts: enabled - BatchCheckoutsValidCategories: none selected Confirm SCO does not have a multi-line text area for more than one barcode, and doesn't accept more than one barcode. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 165983 [details] [review] Bug 32256: (QA follow-up) Tidy sco-main.pl This tidies the whole file as the patchset touched so much that we basically needed to tidy all to make the QA scripts clean. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Nice teamwork there, and thanks for the thorough testing. QA scripts are happy and I think all issues raised are now addressed. Passing QA I am sorry as this might be coming (too) late, but I think the way this patch re-uses the existing system preferences doesn't quite work for the use case. We have 2 preferences that come into play here: BatchCheckouts : General ON/OFF switch. BatchCheckoutsValidCategories : Patron categories allowed to checkout in a batch. I believe the second one is currently described misleadingly. It should probably read: Patron categories a staff user can batch checkout items to. Just to be sure I have confirmed the current behavior in our 22.11 demo installation and on main. What it means is that with the current preferences the behavior in the staff interface and the OPAC cannot be configured separately. I can't turn it off in the OPAC if I want to feature to remain available to my staff users. Just checking "staff" will not allow staff to still keep doing batch checkouts to all users and block patrons from doing so. We don't know how the self check stations are equipped/built and this could come as an unwanted feature for some libraries that want that patrons check out one after the other to avoid any confusion for errors/problems. I think this should have its own system preference. I am not sure that a ON/OFF is really needed - we could just do something like SCOBatchCheckoutsValidCategories and place it right in the "Self check-out module" section with the other relevant preferences. (In reply to Katrin Fischer from comment #48) > I think this should have its own system preference. I am not sure that a > ON/OFF is really needed - we could just do something like > SCOBatchCheckoutsValidCategories and place it right in the "Self check-out > module" section with the other relevant preferences. This solution makes sense to me. Should we rename the existing syspref "IntranetBatchCheckoutsValidCategories" while we're at it? (In reply to Andrew Fuerste-Henry from comment #49) > (In reply to Katrin Fischer from comment #48) > > I think this should have its own system preference. I am not sure that a > > ON/OFF is really needed - we could just do something like > > SCOBatchCheckoutsValidCategories and place it right in the "Self check-out > > module" section with the other relevant preferences. > > This solution makes sense to me. Should we rename the existing syspref > "IntranetBatchCheckoutsValidCategories" while we're at it? Let's move this to a new bug report: Bug 36776 - Clarify description of BatchCheckouts* system preferences Created attachment 166179 [details] [review] Bug 32256: Use a new SCOBatchCheckoutsValidCategories syspref So that this functionality can be controlled separately from staff-side batch checkouts Created attachment 166225 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166226 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166227 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166228 [details] [review] Bug 32256: Display barcodes not checked out in batch This patch encourages the user to check out certain items individually if they fail to be checked out in a batch. This way they will be presented with more useful error messages. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - Find three barcodes 3 - log into SCO with a user in category Patron, paste the barcodes separated by newlines and submit. confirm one item is succcessfully checked out and the other two barcodes are listed in the pop-up, encouraged to try checking out individually. 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166229 [details] [review] Bug 32256: Handle batch error messages better This enhancement modifies the self-checkout script to better handle 'impossible' and 'needs confirmation' checkout messages. Test with a combination of barcodes that would invoke these messages, for example: - impossible: barcode doesn't exist - impossible: barcode is for a 'notforloan' item type - impossible: debt - needs confirmation: barcode already checked out, i.e. confirm renewal Include barcodes that should have successful checkouts too. Also, test with the following sysprefs: - BatchCheckouts: enabled - BatchCheckoutsValidCategories: none selected Confirm SCO does not have a multi-line text area for more than one barcode, and doesn't accept more than one barcode. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166230 [details] [review] Bug 32256: (QA follow-up) Tidy sco-main.pl This tidies the whole file as the patchset touched so much that we basically needed to tidy all to make the QA scripts clean. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166231 [details] [review] Bug 32256: Use a new SCOBatchCheckoutsValidCategories syspref So that this functionality can be controlled separately from staff-side batch checkouts Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Created attachment 166320 [details] [review] Bug 32256: Enable batch checkout using self-checkout This patch allows more than one item to be scanned and processed at once in Koha's self-checkout module. The items in the batch will still be handled one-by-one, so if any item in the batch requires confirmation (i.e. to be renewed or returned) or is impossible to check out, the process will stop at that item. Any items earlier in the list will be processed, but any items coming after in the list will be ignored. This feature uses the existing BatchCheckouts and BatchCheckoutsValidCategories system preferences to determine if batch checkouts should be allowed. To test: 1) Open the staff interface. Go to Koha Administration -> Global system preferences. Search for "BatchCheckouts". Confirm BatchCheckouts syspref is disabled, and no categories are selected for the BatchCheckoutsValidCategories syspref. 2) In another tab, open the OPAC self checkout (found out OPACBaseURL/cgi-bin/koha/sco/sco-main.pl) and log in 3) Confirm the self-checkout works as normal for checking out, returning or renewing one item at a time 4) Go back to the staff interface tab (you may need to log back in). Enable the BatchCheckouts syspref but leave the BatchCheckoutsValidCategories syspref empty. 5) Refresh the OPAC self checkout tab. The barcode input field will now be bigger to support a list of barcodes. Enter a list of barcodes separated by newlines and Submit. 6) Only the first barcode should be processed. This is because no categories are valid for BatchCheckouts. 7) Go back to the staff interface tab (you may need to log back in). Select at least your patron category for the BatchCheckoutsValidCategories syspref and Save. 8) Refresh the OPAC self checkout tab. Enter a list of barcodes separated by newlines and Submit. Confirm all valid items are checked out as expected. 9) Test with a few items that are notforloan or would not be valid checkouts. Confirm they are not checked out, but other valid items in the batch are checked out successfully. 10) Test with a batch where one of the items is already checked out to the patron. The batch should get blocked at this item as the self-checkout asks for confirmation. 11) Test with both renewing and returning of items that are already checked out to the patron. This will only work with one item at a time and later items in the list will be ignored. Sponsored-by: Koha-US Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166321 [details] [review] Bug 32256: Add message to SCO that batch checkouts works for checkouts only Not yet handling renewals, returns, or items that are impossible to check out. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166322 [details] [review] Bug 32256: (follow-up) Use correct patron category This patch ensures we check the categorycode of the patron trying to issue the items is valid (based on BatchCheckoutsValidCategories), rather than the categorycode of the AutoSelfCheckAllowed patron. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - confirm AutoSelfCheckAllowed is allowed and contains the username and password for the self_check user. Confirm self_check user is in category Staff 3 - log into SCO with a user in category Patron, confirm you can only check out 1 item at a time 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Sponsored-by: Koha-US Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166323 [details] [review] Bug 32256: Display barcodes not checked out in batch This patch encourages the user to check out certain items individually if they fail to be checked out in a batch. This way they will be presented with more useful error messages. To test: 1 - Enable BatchCheckouts, select nothing in BatchCheckoutsValidCategories 2 - Find three barcodes 3 - log into SCO with a user in category Patron, paste the barcodes separated by newlines and submit. confirm one item is succcessfully checked out and the other two barcodes are listed in the pop-up, encouraged to try checking out individually. 4 - select Patron in BatchCheckoutsValidCategories 5 - log into SCO with your Patron user again, confirm you can check out multiple items at a time Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166324 [details] [review] Bug 32256: Handle batch error messages better This enhancement modifies the self-checkout script to better handle 'impossible' and 'needs confirmation' checkout messages. Test with a combination of barcodes that would invoke these messages, for example: - impossible: barcode doesn't exist - impossible: barcode is for a 'notforloan' item type - impossible: debt - needs confirmation: barcode already checked out, i.e. confirm renewal Include barcodes that should have successful checkouts too. Also, test with the following sysprefs: - BatchCheckouts: enabled - BatchCheckoutsValidCategories: none selected Confirm SCO does not have a multi-line text area for more than one barcode, and doesn't accept more than one barcode. Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166325 [details] [review] Bug 32256: (QA follow-up) Tidy sco-main.pl This tidies the whole file as the patchset touched so much that we basically needed to tidy all to make the QA scripts clean. Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Created attachment 166326 [details] [review] Bug 32256: Use a new SCOBatchCheckoutsValidCategories syspref So that this functionality can be controlled separately from staff-side batch checkouts Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> I'm happy this all works as expected now and QA comments have all been dealt with. QA scripts are happy too. Passing QA, thanks for all the work everyone. Pushed for 24.05! Well done everyone, thank you! Thanks everyone for your help! Not backported to 23.11.x |