Bug 30880

Summary: Expand OPACResultsUnavailableGroupingBy to have a 'branch only' option
Product: Koha Reporter: Aleisha Amohia <aleisha>
Component: OPACAssignee: Aleisha Amohia <aleisha>
Status: CLOSED FIXED QA Contact: Nick Clemens (kidclamp) <nick>
Severity: enhancement    
Priority: P5 - low CC: nick
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: Sponsored Patch complexity: Small patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
22.11.00
Bug Depends on:    
Bug Blocks: 31047    
Attachments: Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy
Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy
Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy
Bug 30880: (QA follow-up) Add exec flag

Description Aleisha Amohia 2022-06-01 22:13:43 UTC
Currently you can group unavailable items in OPAC search results by substatus or branch. However the 'branch' option is misleading, because it still groups unavailable items by substatus as well as branch. Some libraries do not need this amount of information about their unavailable items on the search results.

OPACResultsUnavailableGroupingBy should have the following options:
- 'branch and substatus' (current 'branch' behaviour)
- 'substatus only' (current 'substatus' behaviour)
- 'branch only' (new behaviour)

For example:

Currently, with 'substatus' enabled for OPACResultsUnavailableGroupingBy the results look like: 
Not available: Checked out (1). Lost (1). 

With 'branch' enabled for OPACResultsUnavailableGroupingBy the results look like: 
Not available: Fairview: Checked out (1). Fairview: Lost (1). 

As you can see, different substatuses within the same branch are split out. There should be an option to make the search results look like: 
Not available: Fairview (2).
Comment 1 Aleisha Amohia 2022-06-01 22:45:58 UTC
Created attachment 135563 [details] [review]
Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy

This patch adds a third option 'branch only' to the
OPACResultsUnavailableGroupBy system preference. This option will group
unavailable items by branch in the OPAC search results and NOT show
individual callnumbers or substatuses.

Note: This assumes OPACXSLTResultsDisplay is set to default.

To test:
1. Create a biblio record with 3 items with the following home branches:
Item A: Branch A
Item B: Branch A
Item C: Branch B
2. Check out Item A to yourself
3. Edit Item B to have a lost status
4. Go to Administration -> global system preferences. Search for
OPACResultsUnavailableGroupingBy.
5. By default, this preference will be set to 'branch'.
6. Open the OPAC in another tab, and search for your record.
7. Confirm the search results shows an Availability line with "Not
available: Branch A: Checked out (1). Branch A: Lost (1)." i.e. showing
both branch and substatus.
8. In your staff client tab, set OPACResultsUnavailableGroupingBy to
'substatus'.
9. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Checked
out (1). Lost (1)." i.e. showing substatus only.
10. Apply patch, update database, restart services.
11. In your staff client tab, refresh the page. Confirm the options for
OPACResultsUnavailableGroupingBy have now changed to:
- branch and substatus
- substatus only
- branch only
12. Set OPACResultsUnavailableGroupingBy to 'branch only'.
13. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Branch A
(2)." i.e. showing branch only.
14. Confirm the other two options still work as expected.

Sponsored-by: Chartered Accountants Australia and New Zealand
Comment 2 David Nind 2022-07-07 14:57:55 UTC
Created attachment 137324 [details] [review]
Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy

This patch adds a third option 'branch only' to the
OPACResultsUnavailableGroupBy system preference. This option will group
unavailable items by branch in the OPAC search results and NOT show
individual callnumbers or substatuses.

Note: This assumes OPACXSLTResultsDisplay is set to default.

To test:
1. Create a biblio record with 3 items with the following home branches:
Item A: Branch A
Item B: Branch A
Item C: Branch B
2. Check out Item A to yourself
3. Edit Item B to have a lost status
4. Go to Administration -> global system preferences. Search for
OPACResultsUnavailableGroupingBy.
5. By default, this preference will be set to 'branch'.
6. Open the OPAC in another tab, and search for your record.
7. Confirm the search results shows an Availability line with "Not
available: Branch A: Checked out (1). Branch A: Lost (1)." i.e. showing
both branch and substatus.
8. In your staff client tab, set OPACResultsUnavailableGroupingBy to
'substatus'.
9. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Checked
out (1). Lost (1)." i.e. showing substatus only.
10. Apply patch, update database, restart services.
11. In your staff client tab, refresh the page. Confirm the options for
OPACResultsUnavailableGroupingBy have now changed to:
- branch and substatus
- substatus only
- branch only
12. Set OPACResultsUnavailableGroupingBy to 'branch only'.
13. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Branch A
(2)." i.e. showing branch only.
14. Confirm the other two options still work as expected.

Sponsored-by: Chartered Accountants Australia and New Zealand

Signed-off-by: David Nind <david@davidnind.com>
Comment 3 Nick Clemens (kidclamp) 2022-08-19 11:43:59 UTC
Created attachment 139480 [details] [review]
Bug 30880: Add 'branchonly' to OPACResultsUnavailableGroupingBy

This patch adds a third option 'branch only' to the
OPACResultsUnavailableGroupBy system preference. This option will group
unavailable items by branch in the OPAC search results and NOT show
individual callnumbers or substatuses.

Note: This assumes OPACXSLTResultsDisplay is set to default.

To test:
1. Create a biblio record with 3 items with the following home branches:
Item A: Branch A
Item B: Branch A
Item C: Branch B
2. Check out Item A to yourself
3. Edit Item B to have a lost status
4. Go to Administration -> global system preferences. Search for
OPACResultsUnavailableGroupingBy.
5. By default, this preference will be set to 'branch'.
6. Open the OPAC in another tab, and search for your record.
7. Confirm the search results shows an Availability line with "Not
available: Branch A: Checked out (1). Branch A: Lost (1)." i.e. showing
both branch and substatus.
8. In your staff client tab, set OPACResultsUnavailableGroupingBy to
'substatus'.
9. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Checked
out (1). Lost (1)." i.e. showing substatus only.
10. Apply patch, update database, restart services.
11. In your staff client tab, refresh the page. Confirm the options for
OPACResultsUnavailableGroupingBy have now changed to:
- branch and substatus
- substatus only
- branch only
12. Set OPACResultsUnavailableGroupingBy to 'branch only'.
13. Go back to your OPAC tab and search for your record. Confirm the
search results shows an Availability line with "Not available: Branch A
(2)." i.e. showing branch only.
14. Confirm the other two options still work as expected.

Sponsored-by: Chartered Accountants Australia and New Zealand

Signed-off-by: David Nind <david@davidnind.com>
Comment 4 Nick Clemens (kidclamp) 2022-08-19 11:44:02 UTC
Created attachment 139481 [details] [review]
Bug 30880: (QA follow-up) Add exec flag
Comment 5 Nick Clemens (kidclamp) 2022-08-19 11:45:08 UTC
I almost think we should change 'branch' option in DB to 'branch_substatus' but also don't want to touch existing values, so leaving for RM
Comment 6 Tomás Cohen Arazi 2022-11-08 13:07:57 UTC
Pushed to master for 22.11.

Nice work everyone, thanks!