22 Oct
2026
22 Oct
'26
11:43 a.m.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30557
Pedro Amorim (ammopt) <pedro.amorim@openfifth.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|Passed QA |Failed QA
CC| |pedro.amorim@openfifth.co.u
| |k
--- Comment #201 from Pedro Amorim (ammopt) <pedro.amorim@openfifth.co.uk> ---
Hi all, review below, 5 blockers and 2 code design questions.
Base setup
1) Launch ktd with patches applied else the new module results in a 404.
Similar to circulation triggers (bug 10190), the new RewriteRule means
/cgi-bin/koha/lists/items returns a 404 on the upgrade path. This was deemed a
non-issue then and is treated as a non-issue here too.
2) In `ktd --shell`, run `yarn api:bundle && yarn build && restart_all`.
3) Create these staff users and set a username and password for each. Both need
'catalogue': the share form's 'Patron' search only finds patrons with that
permission.
- 'Staff B', home library Centerville: 'catalogue', plus 'Manage item lists'
> 'Create item lists' (`create_item_lists`), plus 'Patrons' > 'Search, list and
view patrons' (`list_borrowers`). Nothing else.
- 'Staff C', home library Centerville: 'catalogue' only.
4) Item lists live at http://localhost:8081/cgi-bin/koha/lists/items ('More' >
'Item lists'). Don't add `.pl`.
Blocker 1: someone with an 'Edit' share can take a list over
1) As koha, open http://localhost:8081/cgi-bin/koha/lists/items and create a
list 'Koha private', with owner koha and visibility 'Private'.
2) In that list's row, open the actions dropdown in the last column and click
'Add Shares'. Search for Staff B in 'Patron', set 'Permission' to 'Edit', and
save.
3) Log in as Staff B, open the same page, and choose 'Edit' from the dropdown
on 'Koha private'. 'Owner' shows koha.
4) Change 'Owner' to Staff B and save. It saves, although Staff B has no
`edit_item_lists` permission.
5) Log back in as koha and reload the page. 'Koha private' has gone: koha has
lost its own list, even though it's a superlibrarian.
Blocker 2: lists appear more than once
1) As koha, create a list 'Shared twice' with visibility 'Public'.
2) Use 'Add Shares' on its row twice: 'Patron' Staff B with 'Permission'
'View', then 'Patron' Staff C with 'Permission' 'View'.
3) Reload http://localhost:8081/cgi-bin/koha/lists/items. 'Shared twice'
appears twice, and the entry count at the bottom is one too high.
4) Open http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=1,
tick an item in the holdings table and click 'Add selected items to list'.
'Shared twice' appears twice in the dropdown.
Blocker 3: deleting the owner opens their private lists to everyone
1) Log in as Staff B and create a list 'B private', visibility 'Private'. Don't
add any shares.
2) Log in as Staff C and open http://localhost:8081/cgi-bin/koha/lists/items.
'B private' isn't there (correct).
3) As koha, delete Staff B ('Patrons' > Staff B > 'More' > 'Delete').
4) Log back in as Staff C and reload the page. 'B private' is listed with no
owner. 'Edit' and 'Delete' in its dropdown both work, although Staff C has only
'catalogue'.
Blocker 4: Remove breaks for records with a subtitle
1) Open
http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=1 and
click 'Save' without changing anything. The record already has 245$b, but KTD's
sample data leaves the subtitle column empty until the record is saved.
2) Open http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=1,
tick the item (barcode 3999900000001), click 'Add selected items to list' and
add it to any list.
3) On http://localhost:8081/cgi-bin/koha/lists/items, click that list's name to
see its items, then click 'Remove' on the row. No confirmation dialog appears,
and the browser console shows `ReferenceError: row is not defined`.
4) Clear 245$b on the record, save, and repeat step 3. The dialog opens
normally.
Blocker 5: 'Copy shareable link' disappears from existing Vue tables
1) Enable 'ERMModule' and add one agreement.
2) Without the patches (any current main), open
http://localhost:8081/cgi-bin/koha/erm/agreements. The table toolbar has a
'Copy shareable link' button.
3) With the patches applied and rebuilt, reload the same page. The button has
gone. The same happens on the ERM licenses, SIP2, vendors and ILL supplying
tables.
Code design questions:
- additionalButtons (datatables.js): base-resource.js already supports
additionalToolbarButtons, and ItemListItemsResource.vue uses both
(additionalToolbarButtons for 'Add shares' and additionalButtons for the batch
actions). I suggest we add the 'selection-based' actions functionality to
additionalToolbarButtons and keep a single implementation of additional toolbar
buttons.
The OPAC counterpart of settings.additionalButtons has no caller and should be
dropped.
- doResourceRemove (base-resource.js): this is almost a copy of
doResourceDelete (only the labels and the API method differ), and item lists
are its only caller. I suggest one of the following:
A) Don't abstract this logic (for now anyway) and have it live in
ItemListItemsResource.vue instead
B) Add this optional functionality to doResourceDelete, taking the labels and
method as parameters
--
You are receiving this mail because:
You are watching all bug changes.