Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher.
Created attachment 46392 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is a kind of "RFC-patch" as I'm not sure of how to implement that feature. It's obviously not finished, as I would like some feedback before going further. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Check in an item of one of the reserved biblios and confirm the hold 7. The hold status is changed to Waiting, and all other holds are deleted. Comments: - A column is added to the reserves table (reserve_group_id) to group the reserves that belong together, and an additional table (reserve_group) with a single column is used to generate an auto increment ID. I feel that something better can be done... - I don't know how to indicates in the interface that two or more reserves are only one request in reality. - I'm bad at naming things, and "reserve_group" should probably be something else.
(In reply to Julian Maurice from comment #1) > Comments: > - A column is added to the reserves table (reserve_group_id) to group > the reserves that belong together, and an additional table > (reserve_group) with a single column is used to generate an auto > increment ID. I feel that something better can be done... It's because you don't have any other attributes, but I am sure you could find others: for instance a name, a timestamp, etc. It's a 1n relation and it's correctly represented. Maybe you could add a foreign key to borrowers.borrowernumber to list the reserve group of a given patron. > - I don't know how to indicates in the interface that two or more > reserves are only one request in reality. What do you plan to implement next? If the reserve groups were named, and linked to a patron, you could display these infos. > - I'm bad at naming things, and "reserve_group" should probably be > something else. Some for me... but reserve_group sounds not too bad.
(In reply to Jonathan Druart from comment #2) > Maybe you could add a foreign key to borrowers.borrowernumber to list the > reserve group of a given patron. The link to the borrowers table is already there in reserves table, and this makes me think the schema is inconsistent because it allows grouping reserves for different borrowers. Maybe reserves.borrowernumber should be moved to reserve_group (and all reserves should belong to a group, even if the group only contains one reserve). What do you think ? > > - I don't know how to indicates in the interface that two or more > > reserves are only one request in reality. > > What do you plan to implement next? > If the reserve groups were named, and linked to a patron, you could display > these infos. Next steps would be to change the interface to reflect that change everywhere we display holds. And implement that in OPAC too. In the tables that show all holds of a patron I can group visually the holds of the same "reserve_group", but I can't do that on tables that show only a title's holds for instance.
Created attachment 47498 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles Added missing atomicupdate file
Created attachment 47570 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl
Created attachment 47961 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve
Created attachment 47962 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl
Created attachment 47963 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve
Hello, if I followed test plan, i got Internal server error as result of step 4. Koha 3.22.3 with active Plack. Mike
(In reply to Mike from comment #9) > Hello, > if I followed test plan, i got Internal server error as result of step 4. > Koha 3.22.3 with active Plack. > > Mike Are you sure you tested with 3.22.3 version? It should be tested on master... maybe the problem is that you didn't run update_dbix_class_files.pl script? Just guess...
Created attachment 48097 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 48098 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 48448 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail
Created attachment 48449 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail
*** Bug 15914 has been marked as a duplicate of this bug. ***
*** Bug 16119 has been marked as a duplicate of this bug. ***
Created attachment 50094 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 50095 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 50096 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53742 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53743 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53744 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Rebased against master
Created attachment 53770 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53771 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53772 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Rebased to update foreign keys
Created attachment 53774 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53775 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 53776 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Now rebased against pushed Bug 15533 - Allow patrons and librarians to select itemtype when placing hold. Tested to be working as before this patch was pushed
Created attachment 54977 [details] [review] Bug 15516: Set reserve-group.pl to be executable
The term "reserve group" is inconsistent with our terminology guidelines. I think it should be "hold group." The word "reserve" is associated only with course reserves. https://wiki.koha-community.org/wiki/Terminology
Created attachment 55300 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
Created attachment 55304 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55305 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55306 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55307 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 55308 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
All patches rebased on master
Created attachment 55768 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55769 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55770 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 55771 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 55772 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
Created attachment 58799 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 58800 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 58801 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 58802 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 58803 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
Created attachment 59314 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 59315 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 59316 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 59317 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 59318 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
Sorry, but I found some problems... First, the ReserveCount test is failing: t/db_dependent/Reserves/ReserveCount.t .. 1/3 Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. # Failed test 'Test borrower has 2 reserve.' # at t/db_dependent/Reserves/ReserveCount.t line 82. # got: '1' # expected: '2' Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. Value not allowed for auto_incr hold_group_id in HoldGroup at /home/vagrant/kohaclone/t/lib/TestBuilder.pm line 267. # Failed test 'Test borrower has 2 reserve.' # at t/db_dependent/Reserves/ReserveCount.t line 114. # got: '1' # expected: '3' # Looks like you failed 2 tests of 3. Second, Koha qa tools has complains: FAIL koha-tmpl/intranet-tmpl/prog/en/includes/hold-group-modal.inc FAIL forbidden patterns forbidden pattern: simple-quote string (line 24) forbidden pattern: Contains old bootstrap style for buttons (see bug 16239) (line 1) FAIL koha-tmpl/intranet-tmpl/prog/en/modules/reserve/reserve-group.tt FAIL git manipulation The file has been added and deleted in the same patchset FAIL reserve/reserve-group.pl FAIL git manipulation The file has been added and deleted in the same patchset And you should also change the modal syntax... For bootstrap related issues see page https://wiki.koha-community.org/wiki/Interface_patterns especially sections "Buttons" and "Modals"
Can anobody move this bug ... its on very good way.... Thanks Mike
It's waiting for the patch author to fix the problems pointed out in testing.
Created attachment 69902 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 69903 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 69904 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 69905 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 69906 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
I did a rebase, the feature is not working now, but applies cleanly and I plan to continue on it during Christmas I hope. Changes to C4/Reserves.pm should be moved to objects and many more. The codebase changed too much since the patches were uploaded, but they are still good start to work on it.
Created attachment 72485 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 72486 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 72487 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 72488 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 72489 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
rebased against master
Created attachment 72491 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
added missing file hold-group-modal.inc
Comment on attachment 72485 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles Couple tiny nitpicks: 1) the JS translation function should have the string in double quotes, so instead of _('Loading'), use _("Loading") 2) Having separate translatable strings for PART_OF_A and HOLD_GROUP isn't optimal, because those two always go together. It should perhaps be written as PART_OF_HOLD_GROUP = _("(part of a %shold group%s)") and then replace the placeholders with the html code. Even better would be to avoid the html in the middle of the sentence altogether, by making the whole sentence a link.
Created attachment 79077 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 79078 [details] [review] Bug 15516 - Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 79080 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>
Created attachment 79081 [details] [review] Bug 15516: Set reserve-group.pl to be executable
Created attachment 79082 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group'
Created attachment 79083 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP)
Patches rebased on master + followup for comment 73
Created attachment 79213 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79214 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79215 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79216 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79217 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79218 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79219 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79220 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79221 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 79222 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Sorry, patch doesn't apply, please rebase and rerun the QA script! Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 15516: Allow to reserve first available item from a group of titles Applying: Bug 15516: Holding first available item from x biblios only count 1 reserve Applying: Bug 15516: Update old_reserves (reserve_group_id) Applying: Bug 15516: Set reserve-group.pl to be executable Applying: Bug 15516: Reword 'reserve group' to 'hold group' Applying: Bug 15516: Fix translation issues Applying: Bug 15516: (follow-up) Fix kohastructure.sql Applying: Bug 15516: (follow-up) Fix reserve -> hold change Applying: Bug 15516: (follow-up) Fix modal for hold group error: sha1 information is lacking or useless (koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt). error: could not build fake ancestor Patch failed at 0001 Bug 15516: (follow-up) Fix modal for hold group The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem run "git bz apply --continue". If you would prefer to skip this patch, instead run "git bz apply --skip". To restore the original branch and stop patching run "git bz apply --abort". Patch left in /tmp/Bug-15516-follow-up-Fix-modal-for-hold-group-khk1ja.patch
Created attachment 81453 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81454 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81455 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81456 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81457 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81458 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81459 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81460 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81461 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81462 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 81463 [details] [review] Bug 15516: (follow-up) Fix template filters
(In reply to Katrin Fischer from comment #91) > Sorry, patch doesn't apply, please rebase and rerun the QA script! > I've just rebased and added new follow-up (tt filters)
Created attachment 84554 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84555 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84556 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84557 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84558 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84559 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84560 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84561 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84562 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84563 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 84564 [details] [review] Bug 15516: (follow-up) Fix template filters
Aleisha, did you mean to sign-off?
(In reply to Katrin Fischer from comment #115) > Aleisha, did you mean to sign-off? Oops no was just rebasing. Still working on this
(In reply to Aleisha Amohia from comment #116) > (In reply to Katrin Fischer from comment #115) > > Aleisha, did you mean to sign-off? > > Oops no was just rebasing. Still working on this Aleisha, what did you want to do with this? Can we make some progress on these long standing patches?
(In reply to Josef Moravec from comment #117) > (In reply to Aleisha Amohia from comment #116) > > (In reply to Katrin Fischer from comment #115) > > > Aleisha, did you mean to sign-off? > > > > Oops no was just rebasing. Still working on this > > Aleisha, what did you want to do with this? Can we make some progress on > these long standing patches? Looking at these again now!
Created attachment 87828 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87829 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87830 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87831 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87832 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87833 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87834 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87835 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87836 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87837 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Created attachment 87838 [details] [review] Bug 15516: (follow-up) Fix template filters
Hi Aleisha, ready for test? This can be nice new feature for 19.05 release.
(In reply to Michal Denar from comment #130) > Hi Aleisha, > ready for test? This can be nice new feature for 19.05 release. Not yet, almost there!
Created attachment 88038 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl
Created attachment 88039 [details] [review] Bug 15516: (follow-up) Schema updates
Ready for testing!
Comment on attachment 88038 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Review of attachment 88038 [details] [review]: ----------------------------------------------------------------- Just quick look into the follow-ups, found this: ::: installer/data/mysql/atomicupdate/bug_15516_-_hold_group_table.perl @@ +3,5 @@ > + $dbh->do(q{DROP TABLE IF EXISTS hold_group}); > + $dbh->do(q{CREATE TABLE hold_group ( > + hold_group_id int unsigned NOT NULL AUTO_INCREMENT, > + PRIMARY KEY (hold_group_id) > + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci}); should be utf8mb4
(In reply to Josef Moravec from comment #135) > Comment on attachment 88038 [details] [review] [review] > Bug 15516: (follow-up) Fixing modal view and more > > Review of attachment 88038 [details] [review] [review]: > ----------------------------------------------------------------- > > Just quick look into the follow-ups, found this: > > ::: installer/data/mysql/atomicupdate/bug_15516_-_hold_group_table.perl > @@ +3,5 @@ > > + $dbh->do(q{DROP TABLE IF EXISTS hold_group}); > > + $dbh->do(q{CREATE TABLE hold_group ( > > + hold_group_id int unsigned NOT NULL AUTO_INCREMENT, > > + PRIMARY KEY (hold_group_id) > > + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci}); > > should be utf8mb4 I'll fix this up
Patch look working and useful. I'll wait till follow-up for final test. Thank you.
Created attachment 88125 [details] [review] Bug 15516: (follow-up) Changing utf8 to utf8mb4
(In reply to Michal Denar from comment #137) > Patch look working and useful. I'll wait till follow-up for final test. > > Thank you. Ready for testing!
Created attachment 88173 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88174 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88175 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88176 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88177 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88178 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88179 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88180 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88181 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88182 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88183 [details] [review] Bug 15516: (follow-up) Fix template filters Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88184 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88185 [details] [review] Bug 15516: (follow-up) Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 88186 [details] [review] Bug 15516: (follow-up) Changing utf8 to utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Hi there, patch works. Great work. I've just one notice. If somebody use this feature to hold to pull (reserve on title with available item). It's wrong process, I know it. But some libraian can make this fault. In this case tool don't delete reserves on next titles. I'm not sure that is an error. It's same behaviour from earlier version of Place hold on more than one title. Ideas: - if title with available item is add into group, Koha show kind of info text (easy solution) - if somedoby try to add title with available item, Koha don't allow it with message What do you think about it? Thank you.
Currently this patch set doesn't apply. Can you please rebase? It might make sense to wait a bit until after the 19.05 release as this will be for 19.11. Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 15516: Allow to reserve first available item from a group of titles Using index info to reconstruct a base tree... M C4/Reserves.pm M installer/data/mysql/kohastructure.sql M koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc M koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt M koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt M koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt M reserve/placerequest.pl M reserve/request.pl Falling back to patching base and 3-way merge... Auto-merging reserve/request.pl Auto-merging reserve/placerequest.pl Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt Auto-merging koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc Auto-merging installer/data/mysql/kohastructure.sql Auto-merging C4/Reserves.pm Applying: Bug 15516: Holding first available item from x biblios only count 1 reserve Applying: Bug 15516: Update old_reserves (reserve_group_id) Applying: Bug 15516: Set reserve-group.pl to be executable Applying: Bug 15516: Reword 'reserve group' to 'hold group' Applying: Bug 15516: Fix translation issues Applying: Bug 15516: (follow-up) Fix kohastructure.sql Applying: Bug 15516: (follow-up) Fix reserve -> hold change Applying: Bug 15516: (follow-up) Fix modal for hold group error: sha1 information is lacking or useless (koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt). error: could not build fake ancestor Patch failed at 0001 Bug 15516: (follow-up) Fix modal for hold group The copy of the patch that failed is found in: .git/rebase-apply/patch When you have resolved this problem run "git bz apply --continue". If you would prefer to skip this patch, instead run "git bz apply --skip". To restore the original branch and stop patching run "git bz apply --abort". Patch left in /tmp/Bug-15516-follow-up-Fix-modal-for-hold-group-vopUHO.patch
I really love this at 19.05. Aleisa, can you rebase it on master. I'm ready for test.
(In reply to Michal Denar from comment #156) > I really love this at 19.05. Aleisa, can you rebase it on master. I'm ready > for test. Hi Michal, we have reached 'feature freeze' - this means no new features will be pushed for 19.05 apart from a select few that the RM has marked with rel_19_05_candidate. See here: http://lists.koha-community.org/pipermail/koha-devel/2019-April/045179.html
Hi Katrin, OK, one day after. It's sad for me. But I hope that we finish this bug soon. 19.11. will be fine.
Thanks all, I'll rebase this in June after the 19.05 release.
I hope that we together finalize this feature for 19.11 release.
Created attachment 90289 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90290 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90291 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90292 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90293 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90294 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90295 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90296 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90297 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90298 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90299 [details] [review] Bug 15516: (follow-up) Fix template filters Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90300 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90301 [details] [review] Bug 15516: (follow-up) Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90302 [details] [review] Bug 15516: (follow-up) Changing utf8 to utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90303 [details] [review] Bug 15516: (follow-up) Fixing atomic update to prevent errors This patch prevents errors when applying atomic update, particularly for those that have already tested this feature before.
Rebased and ready to test
Created attachment 90829 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90830 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90831 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90832 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90833 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90834 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90835 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90836 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90837 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90838 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90839 [details] [review] Bug 15516: (follow-up) Fix template filters Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90840 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90841 [details] [review] Bug 15516: (follow-up) Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90842 [details] [review] Bug 15516: (follow-up) Changing utf8 to utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 90843 [details] [review] Bug 15516: (follow-up) Fixing atomic update to prevent errors This patch prevents errors when applying atomic update, particularly for those that have already tested this feature before.
Created attachment 90844 [details] [review] Bug 15516: Fixing missing curly bracket
Created attachment 92783 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92784 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92785 [details] [review] Bug 15516: Update old_reserves (reserve_group_id) Without it, deletion of reserves will fail Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92786 [details] [review] Bug 15516: Set reserve-group.pl to be executable Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92787 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92788 [details] [review] Bug 15516: Fix translation issues - Use " inside _() - Merge two strings (PART_OF_A, HOLD_GROUP) Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92789 [details] [review] Bug 15516: (follow-up) Fix kohastructure.sql Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92790 [details] [review] Bug 15516: (follow-up) Fix reserve -> hold change Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92791 [details] [review] Bug 15516: (follow-up) Fix modal for hold group Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92792 [details] [review] Bug 15516: (follow-up) Fix pod in C4::Reserves Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92793 [details] [review] Bug 15516: (follow-up) Fix template filters Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92794 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92795 [details] [review] Bug 15516: (follow-up) Schema updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92796 [details] [review] Bug 15516: (follow-up) Changing utf8 to utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 92797 [details] [review] Bug 15516: (follow-up) Fixing atomic update to prevent errors This patch prevents errors when applying atomic update, particularly for those that have already tested this feature before.
Created attachment 92798 [details] [review] Bug 15516: Fixing missing curly bracket
Patches rebased on master. Status changed to Signed Off, as most patches are already signed off.
I am having issues with the Schema updates. I tried to skip Bug 15516: (follow-up) Schema updates in favor of runing the dbic command myself later, but Bug 15516: Fixing missing curly bracket looks like there are also manual changes? Can you please keep the automated updates in a separate patch and rebase?
Some doubts here: 1) Koha vs. C4 This adds quite some new code to the C4 namespace: AddHoldGroup DeleteHoldGroup GetHoldGroupHolds GetReserveCount We already have started to move to Hold.pm and Holds.pm in the Koha namespace. I feel like the new things (*HoldGroup*) at least should be started in the new namespace... someone else might weigh in here. Also uses lots of SQL. 2) Database changes The database update looks quite complicated, because you try to catch that the holds_groups could already exist. I feel it could be simplified. The holds groups table only consists of a PK column? I think the charset is not correct, should be: 3) Had the same question looking at the new method added: + # TODO: Should be: $reserve_cnt = $patron->holds->count; + $reserve_cnt = GetReserveCount( $borrowernumber ); 4) Rename test file (must have missed the global renaming :) ) 5) How does this feature affect limits on holds? (total and daily limits). Will every hold be counted as before?
Are you hoping to pick this back up at some point Julian or are you hoping someone will adopt it?
(In reply to Martin Renvoize from comment #212) > Are you hoping to pick this back up at some point Julian or are you hoping > someone will adopt it? I second this question! My library is looking for something like this.
(In reply to Martin Renvoize from comment #212) > Are you hoping to pick this back up at some point Julian or are you hoping > someone will adopt it? I'm always hoping to have the time to work on patches I submitted, but that shouldn't stop people to rebase them, or submit follow-up patches. I certainly won't be mad if someone other than me make it pass QA :D
Hi Julian, is possible to make rebase and follow-up? It's nice feature for 21.05. Isn't it? I'm ready for testing. Thank you.
Maybe Aleisha can finish it? Thank you.
I would love to pick this back up but unfortunately won't have time, at least not until the New Year.
Is it possible to squash these patches down a bit? With 16 patches, I think it's difficult to rebase and difficult to have a cohesive idea of how this change is supposed to work.
Julian, what's the commit that these are based off? I'd love to apply these to a stable base so that I could get a sense of the changes...
(In reply to David Cook from comment #219) > Julian, what's the commit that these are based off? I'd love to apply these > to a stable base so that I could get a sense of the changes... See https://gist.github.com/jajm/f0b77da1a41b6b1c5ab1
Created attachment 114513 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114514 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114515 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114516 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl - utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114517 [details] [review] Bug 15516: (follow-up) Fix QA and rebase issues
Created attachment 114518 [details] [review] Bug 15516: (follow-up) Fix db structure and atomic update
I rebased and squashed a bit, but this still must be considered as WIP
(In reply to Josef Moravec from comment #227) > I rebased and squashed a bit, but this still must be considered as WIP I'll hopefully take a look at this tomorrow. Why is it considered a WIP at this point?
(In reply to David Cook from comment #228) > (In reply to Josef Moravec from comment #227) > > I rebased and squashed a bit, but this still must be considered as WIP > > I'll hopefully take a look at this tomorrow. > > Why is it considered a WIP at this point? I do consider i as WIP mainly because, thinks needs to be moved from C4 to Koha namespace (using Koha::Object[s] of course). Second step would to modify hold to by always a hold group (even on only one title). But this could be eventually done on another report.
Created attachment 114585 [details] [review] Bug 15516: (follow-up) Fix db structure and atomic update
Created attachment 114586 [details] [review] Bug 15516: DO NOT PUSH - Schema changes
Created attachment 114603 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s]
Created attachment 114624 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114625 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114626 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114627 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl - utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114628 [details] [review] Bug 15516: (follow-up) Fix QA and rebase issues
Created attachment 114629 [details] [review] Bug 15516: (follow-up) Fix db structure and atomic update
Created attachment 114630 [details] [review] Bug 15516: DO NOT PUSH - Schema changes
Created attachment 114631 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s]
Just rebased on current master
Created attachment 114632 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s] Test plan: prove t/db_dependent/Koha/HoldGroup.t prove t/db_dependent/Koha/Holds.t
Created attachment 114633 [details] [review] Bug 15516: (follow-up) Remove C4::Reserves::GetHoldGroupHolds
Created attachment 114634 [details] [review] Bug 15516: (follow-up) Fix creating hold group in placerequest
Created attachment 114635 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114636 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114637 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114638 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl - utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114639 [details] [review] Bug 15516: (follow-up) Fix QA and rebase issues Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114640 [details] [review] Bug 15516: (follow-up) Fix db structure and atomic update Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114641 [details] [review] Bug 15516: DO NOT PUSH - Schema changes Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114642 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s] Test plan: prove t/db_dependent/Koha/HoldGroup.t prove t/db_dependent/Koha/Holds.t Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114643 [details] [review] Bug 15516: (follow-up) Remove C4::Reserves::GetHoldGroupHolds Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114644 [details] [review] Bug 15516: (follow-up) Fix creating hold group in placerequest Signed-off-by: Michal Denar <black23@gmail.com>
I have still some concerns: - ModReserveAffect, when hold from group is set to waiting (or transfer), this just delete other reserves from group and even group itself. I don't think it is what we want... We probably want to keep history - The changes in ModReserveAffect are not covered by tests - Is there other way of set hold waiting? If so, we need to make changes an all places where the hold status is affected - hold-group.js contains TT tags ;) (I will fix it)
Created attachment 114645 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s] Test plan: prove t/db_dependent/Koha/HoldGroup.t prove t/db_dependent/Koha/Holds.t Signed-off-by: Michal Denar <black23@gmail.com>
Just squashed last three patches into one for better readability
Created attachment 114647 [details] [review] Bug 15516: (follow-up) Fix showing list of titles in hold group
Created attachment 114648 [details] [review] Bug 15516: (follow-up) Fix showing list of titles in hold group
Created attachment 114649 [details] [review] Bug 15516: (follow-up) Remove loading-small.gif reference Test plan: Ensure the hold group modal is still working
(In reply to Josef Moravec from comment #255) > - hold-group.js contains TT tags ;) (I will fix it) fixed
Created attachment 114650 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library have the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This patch is only for staff interface. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Enter a patron cardnumber and click Search 3. Check the box for 'Place a hold on the next available item' (it's usually hidden when placing a hold on multiple biblios) 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a reserve group)' in Details column. 6. Click on the "reserve group" link. A modal window should appear with the content of the reserve group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "reserve group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114651 [details] [review] Bug 15516: Holding first available item from x biblios only count 1 reserve Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114652 [details] [review] Bug 15516: Reword 'reserve group' to 'hold group' Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114653 [details] [review] Bug 15516: (follow-up) Fixing modal view and more Fixing - modal view - missed changes from 'reserve group' to 'hold group' - updating atomic update to perl - utf8mb4 Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114654 [details] [review] Bug 15516: (follow-up) Fix QA and rebase issues Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114655 [details] [review] Bug 15516: (follow-up) Fix db structure and atomic update Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114656 [details] [review] Bug 15516: DO NOT PUSH - Schema changes Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114657 [details] [review] Bug 15516: (follow-up) Move to Koha::Object[s] Test plan: prove t/db_dependent/Koha/HoldGroup.t prove t/db_dependent/Koha/Holds.t Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114658 [details] [review] Bug 15516: (follow-up) Fix showing list of titles in hold group Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 114659 [details] [review] Bug 15516: (follow-up) Remove loading-small.gif reference Test plan: Ensure the hold group modal is still working Signed-off-by: Michal Denar <black23@gmail.com>
My test plan: Test plan: 0a. koha-shell kohadev -c /kohadevbox/koha/installer/data/mysql/updatedatabase.pl #0b. koha-shell kohadev -c "/kohadevbox/koha/misc/devel/update_dbix_class_files.pl --koha-conf /etc/koha/sites/kohadev/koha-conf.xml --db_name koha_kohadev" 0c. koha-plack --restart kohadev 1. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=e 2. Click checkboxes next to # 1 and # 2 3. Click "Place hold" button at the top of search results 4. Enter "koha" into patron search and press "Search", then choose "koha," 5. Check the box for "Hold next available item" 6. Click "Place hold" 7. Note the text "(part of a hold group)" in Details column. 8. Click on the "hold group" link text 9. Note a modal with a title of "Hold group" and containing the two titles that you've previously selected 10. Go to http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=51 11. Click on the "Holds" tab and note that there are 2 holds. One for each of the titles that you've selected. (There is no evidence here that they're part of a hold group.) 12. Checkin "39999000002195" 13. Note a modal saying "Hold found" and click "Confirm hold" 14. Go to http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=51 15. Note that the 2nd hold for "The Arden edition of the works of William Shakespeare." has been removed. -- I'm failing QA as I can only see the "hold group" link on the following page: - reserve/request.pl It does *not* appear on the following pages (although it is claimed it is in the commit messages): - circ/circulation.pl - members/moremember.pl It is unknown whether or not it appears on the following pages because there were no tests for these pages: - circ/pendingreserves.pl
(In reply to Josef Moravec from comment #255) > I have still some concerns: > - ModReserveAffect, when hold from group is set to waiting (or transfer), > this just delete other reserves from group and even group itself. I don't > think it is what we want... We probably want to keep history I am curious about that as well. > - The changes in ModReserveAffect are not covered by tests That's not good. I think that might be an automatic QA fail? > - Is there other way of set hold waiting? If so, we need to make changes an > all places where the hold status is affected I don't know.
Output from qa tool: testing 10 commit(s) (applied to 6982680 'e9 Bug 14564: Set permissions on conf') Processing files before patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 312. |========================>| 31 / 31 (100.00%) Processing files after patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 312. |========================>| 31 / 31 (100.00%) OK C4/Reserves.pm OK Koha/HoldGroup.pm OK Koha/HoldGroups.pm OK Koha/Holds.pm FAIL Koha/Schema/Result/HoldGroup.pm FAIL pod coverage POD coverage was greater before, try perl -MPod::Coverage=PackageName -e666 OK Koha/Schema/Result/OldReserve.pm OK Koha/Schema/Result/Reserve.pm OK Koha/Template/Plugin/Biblio.pm OK circ/pendingreserves.pl FAIL installer/data/mysql/atomicupdate/bug_15516.sql FAIL git manipulation The file has been added and deleted in the same patchset OK installer/data/mysql/kohastructure.sql OK koha-tmpl/intranet-tmpl/prog/en/includes/hold-group-modal.inc OK koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc FAIL koha-tmpl/intranet-tmpl/prog/en/includes/reserve-group-modal.inc FAIL git manipulation The file has been added and deleted in the same patchset OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/hold-group.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/reserve-group.tt OK koha-tmpl/intranet-tmpl/prog/js/hold-group.js OK koha-tmpl/intranet-tmpl/prog/js/holds.js OK opac/opac-reserve.pl OK reserve/hold-group.pl OK reserve/placerequest.pl OK reserve/request.pl FAIL reserve/reserve-group.pl FAIL file permissions File must have the exec flag OK svc/holds OK t/db_dependent/Koha/HoldGroup.t OK t/db_dependent/Koha/Holds.t FAIL t/db_dependent/Reserves/HoldCount.t FAIL file permissions File must have the exec flag FAIL git manipulation The file has been added and deleted in the same patchset Processing additional checks OK!
Ugh, "holds group" is already being used by Bug 22284. That's already confusing me when I read Bugzilla reports...
Who is working on this one now?
I could potentially take over some work on this in the near future, although I might be more valuable as a tester/QAer.
Working on this now
(In reply to Aleisha Amohia from comment #278) > Working on this now \0/
Created attachment 117423 [details] [review] Bug 15516: Database and installer updates
Created attachment 117424 [details] [review] Bug 15516: Relevant controller changes and tests
Created attachment 117425 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT
Created attachment 117426 [details] [review] Bug 15516: Schema updates
What impact will this feature have on the holds queue. As it stands, there will be a request in the queue for each available item in the hold group. I see the holds to pull report gives a link to the holds group. I think the same functionality would be needed for the holds queue report as well. In addition, we'll need to make sure this bug and bug 24359 work together.
(In reply to Kyle M Hall from comment #284) > What impact will this feature have on the holds queue. As it stands, there > will be a request in the queue for each available item in the hold group. I > see the holds to pull report gives a link to the holds group. I think the > same functionality would be needed for the holds queue report as well. > > In addition, we'll need to make sure this bug and bug 24359 work together. I'm willing to test this, but holding off while I wait for an answer to Kyle's comment. Personally, I don't understand the holds queue feature well enough to really even understand the question.
Created attachment 118281 [details] [review] Bug 15516: Database and installer updates
Created attachment 118282 [details] [review] Bug 15516: Relevant controller changes and tests
Created attachment 118283 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT
Created attachment 118284 [details] [review] Bug 15516: Schema updates
Created attachment 118285 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue.
Created attachment 118286 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting
(In reply to Kyle M Hall from comment #284) > What impact will this feature have on the holds queue. As it stands, there > will be a request in the queue for each available item in the hold group. I > see the holds to pull report gives a link to the holds group. I think the > same functionality would be needed for the holds queue report as well. > > In addition, we'll need to make sure this bug and bug 24359 work together. Have rebased and addressed these points!
Created attachment 118350 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 118351 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 118352 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 118353 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 118354 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 118355 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com>
The patch works as expected using the following test plan. My test plan: 0a. Apply the patch 0b. perl ./installer/data/mysql/updatedatabase.pl 0c. perl misc/devel/update_dbix_class_files.pl --koha-conf /etc/koha/sites/kohadev/koha-conf.xml 0d. restart_all 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. (e.g. http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test) 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold (e.g. Check in 39999000001310 ) 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold
Created attachment 120368 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 120369 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 120370 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 120371 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 120372 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 120373 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com>
Rebased and works as expected with following test plan: My test plan: 0a. Apply the patch 0b. perl ./installer/data/mysql/updatedatabase.pl 0c. perl misc/devel/update_dbix_class_files.pl --koha-conf /etc/koha/sites/kohadev/koha-conf.xml 0d. restart_all 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. (e.g. http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test) 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold (e.g. Check in 39999000001310 ) 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold
However, it's failing the QA test tools: root@kohadevbox:koha(bug_15516)$ qa testing 6 commit(s) (applied to 8fe090f 'e3 Bug 27864: (QA follow-up) Select2 ') Processing files before patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) Processing files after patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) OK C4/Reserves.pm FAIL Koha/Hold.pm FAIL critic # Subroutines::ProhibitExplicitReturnUndef: Got 1 violation(s). OK Koha/HoldGroup.pm OK Koha/HoldGroups.pm OK Koha/Holds.pm FAIL Koha/Schema/Result/HoldGroup.pm FAIL pod coverage POD coverage was greater before, try perl -MPod::Coverage=PackageName -e666 OK Koha/Schema/Result/OldReserve.pm OK Koha/Schema/Result/Reserve.pm OK circ/view_holdsqueue.pl OK installer/data/mysql/kohastructure.sql OK koha-tmpl/intranet-tmpl/prog/en/includes/hold-group-modal.inc FAIL koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc FAIL filters wrong_html_filter at line 181 ( <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% hold.hold_group_id %]" class="hold-group">hold group</a>)</div>) missing_filter at line 181 ( <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% hold.hold_group_id %]" class="hold-group">hold group</a>)</div>) OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt FAIL koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt FAIL filters wrong_html_filter at line 185 ( <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% itemsloo.hold_group_id %]" class="hold-group">hold group</a>)</div>) missing_filter at line 185 ( <div>(part of a <a href="/cgi-bin/koha/reserve/hold-group.pl?hold_group_id=[% itemsloo.hold_group_id %]" class="hold-group">hold group</a>)</div>) OK koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt FAIL koha-tmpl/intranet-tmpl/prog/en/modules/reserve/hold-group.tt FAIL filters missing_filter at line 23 ( <td>[% hold.priority %]</td>) missing_filter at line 24 ( <td>[% hold.reservenotes %]</td>) FAIL forbidden patterns forbidden pattern: Title elements must start with the unique information (bug 26703) (line 2) OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt OK koha-tmpl/intranet-tmpl/prog/js/hold-group.js OK koha-tmpl/intranet-tmpl/prog/js/holds.js OK opac/opac-reserve.pl FAIL reserve/hold-group.pl FAIL critic Subroutine "new" called using indirect syntax at line 25, column 11. See page 349 of PBP. FAIL file permissions File must have the exec flag FAIL forbidden patterns forbidden pattern: Script permissions is authnotrequired => 0, it could be correct for an OPAC script if it is was you really want error (bug 24663) (line 30) OK reserve/placerequest.pl OK reserve/request.pl OK svc/holds OK t/db_dependent/Koha/Holds.t FAIL t/db_dependent/Reserves/HoldGroup.t FAIL file permissions File must have the exec flag Processing additional checks OK!
Code looks all right just looking at the diff, so I think fixing the QA test tool failures should resolve things.
Comment on attachment 120368 [details] [review] Bug 15516: Database and installer updates Review of attachment 120368 [details] [review]: ----------------------------------------------------------------- ::: installer/data/mysql/kohastructure.sql @@ +4350,3 @@ > CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE, > CONSTRAINT `reserves_ibfk_5` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE, > CONSTRAINT `reserves_ibfk_6` FOREIGN KEY (`desk_id`) REFERENCES `desks` (`desk_id`) ON DELETE SET NULL ON UPDATE CASCADE There is a missing comma here which causes this error: Something went wrong loading file /kohadevbox/koha/installer/data/mysql/kohastructure.sql ([SQL ERROR]: CREATE TABLE `reserves` (
Created attachment 120574 [details] [review] Bug 15516: (follow-up) Fixes for qa tools
Still failing the QA tools. I think the pod coverage one can be ignored, as I think that's a QA tool bug. You do need to "chmod +x reserve/hold-group.pl t/db_dependent/Reserves/HoldGroup.t". And it looks like the <title> elements needs to be ordered specific to general. I recall that being a fairly recent requirement: https://wiki.koha-community.org/wiki/Coding_Guidelines#ACC3:_Title_elements_should_contain_unique_information_information_first root@kohadevbox:koha(bug_15516)$ qa testing 7 commit(s) (applied to 640ba47 'cf Bug 28288: Prevent XSISBN.t to fai') Processing files before patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) Processing files after patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) OK C4/Reserves.pm OK Koha/Hold.pm OK Koha/HoldGroup.pm OK Koha/HoldGroups.pm OK Koha/Holds.pm FAIL Koha/Schema/Result/HoldGroup.pm FAIL pod coverage POD coverage was greater before, try perl -MPod::Coverage=PackageName -e666 OK Koha/Schema/Result/OldReserve.pm OK Koha/Schema/Result/Reserve.pm OK circ/view_holdsqueue.pl OK installer/data/mysql/kohastructure.sql OK koha-tmpl/intranet-tmpl/prog/en/includes/hold-group-modal.inc OK koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt FAIL koha-tmpl/intranet-tmpl/prog/en/modules/reserve/hold-group.tt FAIL forbidden patterns forbidden pattern: Title elements must start with the unique information (bug 26703) (line 2) OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt OK koha-tmpl/intranet-tmpl/prog/js/hold-group.js OK koha-tmpl/intranet-tmpl/prog/js/holds.js OK opac/opac-reserve.pl FAIL reserve/hold-group.pl FAIL file permissions File must have the exec flag OK reserve/placerequest.pl OK reserve/request.pl OK svc/holds OK t/db_dependent/Koha/Holds.t FAIL t/db_dependent/Reserves/HoldGroup.t FAIL file permissions File must have the exec flag Processing additional checks OK!
Created attachment 120643 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120644 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120645 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120646 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120647 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120648 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 120649 [details] [review] Bug 15516: (follow-up) Fixes for qa tools Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Works as expected :) Note: maxreserves counts the number of holds in the group hold, i.e. it doesn't count it as one. It seems that was intentional. But highlighting that for QA to review. Holds per day and holds total circ rules count the group as 1. Signing off. Though above QA fixes still needed.
Created attachment 120650 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order
Created attachment 120651 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
(In reply to Victor Grousset/tuxayo from comment #321) > Note: maxreserves counts the number of holds in the group hold, i.e. it > doesn't count it as one. It seems that was intentional. But highlighting > that for QA to review. > Holds per day and holds total circ rules count the group as 1. That's an interesting point. On one hand, you might want to limit the number of group members. On the other hand, it doesn't make sense to count the group as 1 hold but then also consider group members in terms of max reserves. Aleisha: What are your thoughts?
(In reply to David Cook from comment #324) > That's an interesting point. On one hand, you might want to limit the number > of group members. On the other hand, it doesn't make sense to count the > group as 1 hold but then also consider group members in terms of max > reserves. > > Aleisha: What are your thoughts? Oh I think I might be conflating 15565 and 15516. I think Victor's comment is still relevant though.
(In reply to Victor Grousset/tuxayo from comment #321) > Works as expected :) > > Note: maxreserves counts the number of holds in the group hold, i.e. it > doesn't count it as one. It seems that was intentional. But highlighting > that for QA to review. > Holds per day and holds total circ rules count the group as 1. > > Signing off. Though above QA fixes still needed. Ah I remember now - yes, a hold group is supposed to be treated as one hold because when one item from that group is confirmed to fill the hold, the rest of the group is deleted. I'll fix this up.
(In reply to Aleisha Amohia from comment #326) > Ah I remember now - yes, a hold group is supposed to be treated as one hold > because when one item from that group is confirmed to fill the hold, the > rest of the group is deleted. > > I'll fix this up. How are you going with this one, Aleisha?
Hi Aleisha, We have been waiting for this functionality for a really long time and impatiently. I will be happy to do further testing. It would be great to get it in version 21.11.
Sorry I did try to fix it up but got too busy with other things. It is on my list and I'll revisit it when I can maybe next week, but if someone else wants to fix it up asap you are more than welcome!
I can look at fixing up some of those QA errors as they're very minor. I can take a look at the maxreserves thing too although that might be more complex..
Comment on attachment 120645 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles Review of attachment 120645 [details] [review]: ----------------------------------------------------------------- ::: reserve/hold-group.pl @@ +1,1 @@ > +#!/usr/bin/env perl This has the wrong shebang.
I thought that I'd run the QA tools again, as I just noticed that there is a follow-up for the QA tools. My test plan: 0a. Apply the patch 0b. perl ./installer/data/mysql/updatedatabase.pl 0c. qa testing 8 commit(s) (applied to 949f0aa '68 Koha 21.05.00 is here!') Processing files before patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) Processing files after patches Argument "" isn't numeric in numeric gt (>) at /kohadevbox/koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt line 331. |========================>| 27 / 27 (100.00%) OK C4/Reserves.pm OK Koha/Hold.pm OK Koha/HoldGroup.pm OK Koha/HoldGroups.pm OK Koha/Holds.pm FAIL Koha/Schema/Result/HoldGroup.pm FAIL pod coverage POD coverage was greater before, try perl -MPod::Coverage=PackageName -e666 OK Koha/Schema/Result/OldReserve.pm OK Koha/Schema/Result/Reserve.pm OK circ/view_holdsqueue.pl OK installer/data/mysql/kohastructure.sql OK koha-tmpl/intranet-tmpl/prog/en/includes/hold-group-modal.inc OK koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/hold-group.tt OK koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt OK koha-tmpl/intranet-tmpl/prog/js/hold-group.js OK koha-tmpl/intranet-tmpl/prog/js/holds.js OK opac/opac-reserve.pl OK reserve/hold-group.pl OK reserve/placerequest.pl OK reserve/request.pl OK svc/holds OK t/db_dependent/Koha/Holds.t OK t/db_dependent/Reserves/HoldGroup.t Processing additional checks OK!
Created attachment 121523 [details] [review] Bug 15516: Fix shebang in hold-group.pl
(In reply to Aleisha Amohia from comment #326) > Ah I remember now - yes, a hold group is supposed to be treated as one hold > because when one item from that group is confirmed to fill the hold, the > rest of the group is deleted. > > I'll fix this up. After reading through the code and further testing and thinking, I don't think that's feasible. It would require much more refactoring to achieve that, and I'm not sure that it's worth it. So I think if we pull out the count_grouped() code, then this could actually pass QA, so long as the intention is to create a group of holds, and that fulfilling one hold will clear the other holds. That works well. The counting of the hold group as 1 hold does not work at all though, so perhaps that concept should be abandoned (for now at least).
Test plan setup: 0a. Apply the patch 0b. perl ./installer/data/mysql/updatedatabase.pl 0c. perl misc/devel/update_dbix_class_files.pl --koha-conf /etc/koha/sites/kohadev/koha-conf.xml 0d. restart_all Test: Create a hold group from a group of items 1. Go to intranet search, display some results, click on the first 2 checkboxes and click on 'Place hold' button at the top of the results. (e.g. http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test) 2. Search for the "koha" patron (cardnumber 42) 3a. Check the 'Treat as hold group' checkbox 3b. Set pickup location for each item 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) Result: PASS Test: Hold groups count as 1 hold (maxreserves) 1. Change maxreserves to 2 2. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?borrowernumber=51&biblionumber=134 3. Note that it says "koha can only place a maximum of 2 total holds" 4. Change maxreserves to 50 Result: FAIL Test: Hold groups count as 1 hold ("Holds allowed (total)") 1. Go to http://localhost:8081/cgi-bin/koha/admin/smart-rules.pl 2. Change "Holds allowed (total)" to 2 3. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?borrowernumber=51&biblionumber=134 4. Note that it says "koha can only place a maximum of 2 total holds" 5. Change "Holds allowed (total)" to unlimited (by entering a blank value) Result: FAIL Test: Hold groups count as 1 hold ("Holds allowed (daily)") 1. Go to http://localhost:8081/cgi-bin/koha/admin/smart-rules.pl 2. Change "Holds allowed (daily)" to 2 3. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?borrowernumber=51&biblionumber=134 4. Note it says "No items are available to be placed on hold" and near the bottom of the screen each item says "Daily hold limit reached for patron" Result: FAIL Test: Hold groups count as 1 hold (Patron view) 1. Go to http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=51 2. Note that 2 holds are listed, although each hold is listed as "part of a hold group" (and the links to that hold group are for the same hold group) Result: FAIL Test: Hold groups count as 1 hold (Circulation view) 1. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 2. Note that 2 holds are listed, although each hold is listed as "part of a hold group" (and the links to that hold group are for the same hold group) Result: FAIL Test: Hold groups count as 1 hold (OPAC home page view) 1. Go to http://localhost:8080/ 2. Note that the screen says "2 holds pending" Result: FAIL Test: Hold groups count as 1 hold (OPAC user page view) 1. Go to http://localhost:8080/cgi-bin/koha/opac-user.pl#opac-user-holds 2. Note that the screen says "2 holds" without any indication of them being part of the same hold group Result: FAIL Test: Hold groups count as 1 hold (OPAC place hold view) 1. Go to http://localhost:8080/cgi-bin/koha/opac-reserve.pl?biblionumber=134 2. Note that the screen says "There are no items that can be placed on hold" Result: FAIL Test: Hold groups are disbanded when 1 hold in the group is fulfilled 1. Check in an item of one of the reserved biblios and confirm the hold (e.g. Check in 39999000001310 ) 8. The hold status is changed to Waiting, and all other holds in the hold group are deleted. Result: PASS Note: The "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl
Also, I notice that the text for the release notes say here that this is only for the staff interface, so the change for opac/opac-reserve.pl shouldn't be here at all. Since it's only for the staff interface, the concept of a hold group counting as 1 hold also doesn't make sense, since it would require complicated hold calculations that would vary depending on the interface.
*** Bug 27300 has been marked as a duplicate of this bug. ***
(In reply to David Cook from comment #334) > (In reply to Aleisha Amohia from comment #326) > > Ah I remember now - yes, a hold group is supposed to be treated as one hold > > because when one item from that group is confirmed to fill the hold, the > > rest of the group is deleted. > > > > I'll fix this up. > > After reading through the code and further testing and thinking, I don't > think that's feasible. It would require much more refactoring to achieve > that, and I'm not sure that it's worth it. > > So I think if we pull out the count_grouped() code, then this could actually > pass QA, so long as the intention is to create a group of holds, and that > fulfilling one hold will clear the other holds. That works well. > > The counting of the hold group as 1 hold does not work at all though, so > perhaps that concept should be abandoned (for now at least). I'm not sure if I am following correctly or not. Is the group hold going to count as one placed hold or count for every item in the group?? If it is going to show as multiple holds, then it becomes a problem for anyone that uses it. The group hold HAS to count as a single hold for this to be useful and not exploited by patrons. Without looking at the code, logically, it seems like if you have each group hold count as some kind of of proxy hold in the hold system, when Koha looks to see how many holds there are, it should also see how many group holds there are, and each group for that user should just reflect as one hold. I may be over simplifying this.
(In reply to David Cook from comment #336) > Also, I notice that the text for the release notes say here that this is > only for the staff interface, so the change for opac/opac-reserve.pl > shouldn't be here at all. > > Since it's only for the staff interface, the concept of a hold group > counting as 1 hold also doesn't make sense, since it would require > complicated hold calculations that would vary depending on the interface. I don't know why this was limited to just the staff client. Maybe it is with the intent that someone will duplicate it for the OPAC? But if it is going to be just for staff, I think that it does only have the intended job from the original request. The original request was not for this to be a staff only function.
(In reply to Christopher Brannon from comment #338) > Is the group hold going to count as one placed hold or count for every item in the group?? At the moment, each member of a group hold counts as its own hold. > If it is > going to show as multiple holds, then it becomes a problem for anyone that > uses it. The group hold HAS to count as a single hold for this to be useful > and not exploited by patrons. I'm not sure what you mean here by "exploited". To me, each member of a group hold counting as a hold is problematic only in terms of hold limits. If you had a limit of 10 holds, and they create 1 hold group with 10 members, then they've exhausted their limit, and that's not necessarily fair to patrons. > Without looking at the code, logically, it seems like if you have each group > hold count as some kind of of proxy hold in the hold system, when Koha looks > to see how many holds there are, it should also see how many group holds > there are, and each group for that user should just reflect as one hold. I > may be over simplifying this. I wouldn't say over simplifying heh. It's quite complex.
(In reply to Christopher Brannon from comment #339) > I don't know why this was limited to just the staff client. Maybe it is > with the intent that someone will duplicate it for the OPAC? But if it is > going to be just for staff, I think that it does only have the intended job > from the original request. The original request was not for this to be a > staff only function. Bug 17217 is for the OPAC side, but I think it's incomplete. There are libraries out in the world running a local version of this, but it's different to what's in Bugzilla.
Thanks for discussing this everyone. If you just decide what the best behaviour should be and let me know when I need to implement I should be able to get to this later this week.
(In reply to Aleisha Amohia from comment #342) > Thanks for discussing this everyone. If you just decide what the best > behaviour should be and let me know when I need to implement I should be > able to get to this later this week. I think that it would be good for them to be counted as 1 hold for the sake of hold limits. However, I think that's probably easier said than done. Based on my investigations for Bug 15516 and 15565, it seems like the master code for determining hold limits is a mess. One downside of hold groups counting as 1 hold for limits is that it might not be clear to users how many holds they can place as well, although maybe that should be a separate enhancement...
I agree that hold groups need to be counted as one hold, which probably means modifying existing hold count code to always work like 'count_grouped', rather than adding the new count_grouped subroutine. I think for now there can be no limit to how many holds can be made in one hold group because the borrower will still only get hold out of that group fulfilled, however that can of course be discussed and changed in the future. I'll just work on getting the functionality of placing, fulfilling, and counting hold groups for now. Will also remove the OPAC work acknowledging that that's being tackled in Bug 17217. Aleisha
Created attachment 121623 [details] [review] Bug 15516: (follow-up) Count group holds always
I decided to amend count_grouped() to count_holds() so it sounds more like the standard subroutine it will become. It needs to use count() which is why I couldn't just overwrite count(). Left the OPAC count_holds() in because borrowers might get group holds placed in the staff client then try to place holds via the OPAC so they need that count to calculate their limit. I imagine the most recent patch doesn't catch all of the staff interface cases for placing a hold so feel free to tell me what I've missed.
I haven't tried the latest follow-up, but got a fatal error trying to create a hold group using multiple items from the same bib via the detail page.
Created attachment 122097 [details] [review] Bug 15516: Fix hold groups for multi items for one bib
We should probably rename this one and change the notes, because it's not accurate. This change lets you place a hold on the next available item from a group of titles from the search result page, but it also lets you place a hold on a group of items for one bib from the detail page.
Created attachment 122102 [details] [review] Bug 15516: Add ability to create hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both.
I can't guarantee that my last patches actually apply on master, but I'm firing them off as I'm writing them. I can come back to clean them up...
I think Bug 17217 is hopeless, so I figure we may as well just do the OPAC side here. It's not that much more work.
(In reply to David Cook from comment #351) > I can't guarantee that my last patches actually apply on master Indeed lol :P > Patch failed at 0001 Bug 15516: Add ability to create hold groups from OPAC
(In reply to Victor Grousset/tuxayo from comment #353) > (In reply to David Cook from comment #351) > > I can't guarantee that my last patches actually apply on master > > Indeed lol :P > > > Patch failed at 0001 Bug 15516: Add ability to create hold groups from OPAC I can look at fixing that in early July I think.
Also noting that there is no mention of hold groups in the OPAC, but hopefully that won't be too hard to add...
Created attachment 122627 [details] [review] Bug 15516: Show user's hold groups to user via OPAC This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display.
(In reply to Victor Grousset/tuxayo from comment #353) > (In reply to David Cook from comment #351) > > I can't guarantee that my last patches actually apply on master > > Indeed lol :P > > > Patch failed at 0001 Bug 15516: Add ability to create hold groups from OPAC I'm getting merge conflicts earlier now... Bug 15516 - Allow to place a hold on first available item from a group of titles 120643 - Bug 15516: Database and installer updates 120644 - Bug 15516: Relevant controller changes and tests 120645 - Bug 15516: Allow to reserve first available item from a group of titles 120646 - Bug 15516: Schema updates 120647 - Bug 15516: (follow-up) Add hold group message to holds queue 120648 - Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue 120649 - Bug 15516: (follow-up) Fixes for qa tools 120651 - Bug 15516: (follow-up) Fixing file permissions and title elements order 121523 - Bug 15516: Fix shebang in hold-group.pl 121623 - Bug 15516: (follow-up) Count group holds always 122097 - Bug 15516: Fix hold groups for multi items for one bib 122102 - Bug 15516: Add ability to create hold groups from OPAC 122627 - Bug 15516: Show user's hold groups to user via OPAC Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 15516: Database and installer updates Applying: Bug 15516: Relevant controller changes and tests Applying: Bug 15516: Allow to reserve first available item from a group of titles Using index info to reconstruct a base tree... M koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt M koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt M opac/opac-reserve.pl M reserve/placerequest.pl M reserve/request.pl Falling back to patching base and 3-way merge... Auto-merging reserve/request.pl Auto-merging reserve/placerequest.pl Auto-merging opac/opac-reserve.pl Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt CONFLICT (content): Merge conflict in koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt Auto-merging koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt error: Failed to merge in the changes. Patch failed at 0001 Bug 15516: Allow to reserve first available item from a group of titles
Of course, this is why a lot of useful features never make it into Koha. The master branch moves too fast, and it's just too much work to update features to keep up.
*** Bug 17217 has been marked as a duplicate of this bug. ***
Comment on attachment 120644 [details] [review] Bug 15516: Relevant controller changes and tests Review of attachment 120644 [details] [review]: ----------------------------------------------------------------- ::: C4/Reserves.pm @@ +1113,4 @@ > logaction( 'HOLDS', 'MODIFY', $hold->reserve_id, Dumper($hold->unblessed) ) > if C4::Context->preference('HoldsLog'); > > + # if this hold was part of a group, cancel other holds in the group This causes every hold with a null hold_group_id to be cancelled. This needs to be wrapped in a check for $hold_group_id first! @@ +1222,5 @@ > # Complete transfer if one exists > my $transfer = $hold->item->get_transfer; > $transfer->receive if $transfer; > + > + # if this hold was part of a group, cancel other holds in the group This causes every hold with a null hold_group_id to be cancelled. This needs to be wrapped in a check for $hold_group_id first!
My latest comment shows a very very bad regression which needs to be fixed. It's a simple fix but nasty problem.
Hi Aleisha, can you fix errors mentioned ba David? I'm ready to test. We really need this feature. Thank you.
(In reply to Michal Denar from comment #362) > Hi Aleisha, > can you fix errors mentioned ba David? I'm ready to test. We really need > this feature. > > Thank you. My hope is to get some sponsorship to keep working on this in the coming months. I've got it running on a customized 21.05 Koha, but if we don't work on upstreaming it soon, I fear it will become very challenging to try again in the future...
I agree with David. We need finish this feature ASAP. Lets talk about sponsorship.
Hi everyone, I'll try to fix the patches today! Aleisha
Great news, Aleisha!
Created attachment 128189 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128190 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128191 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128192 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128193 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128194 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128195 [details] [review] Bug 15516: (follow-up) Fixes for qa tools Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128196 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128197 [details] [review] Bug 15516: Fix shebang in hold-group.pl
Created attachment 128198 [details] [review] Bug 15516: (follow-up) Count group holds always
Created attachment 128199 [details] [review] Bug 15516: Fix hold groups for multi items for one bib
Created attachment 128200 [details] [review] Bug 15516: Add ability to create hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both.
Created attachment 128201 [details] [review] Bug 15516: Show user's hold groups to user via OPAC This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display.
Created attachment 128202 [details] [review] Bug 15516: (follow-up) Prevent cancelling unintended holds And a fix for consistent TT code
Hi Aleisha, I just tested the new patches. Everything seems to be working, but the model is empty in all places after clicking on "hold Group". https://prnt.sc/21iwwv5
Thanks Michal I will investigate.
Created attachment 128255 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128256 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128257 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128258 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128259 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128260 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128261 [details] [review] Bug 15516: (follow-up) Fixes for qa tools Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128262 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 128263 [details] [review] Bug 15516: Fix shebang in hold-group.pl
Created attachment 128264 [details] [review] Bug 15516: (follow-up) Count group holds always
Created attachment 128265 [details] [review] Bug 15516: Fix hold groups for multi items for one bib
Created attachment 128266 [details] [review] Bug 15516: Add ability to create hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both.
Created attachment 128267 [details] [review] Bug 15516: Show user's hold groups to user via OPAC This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display.
Created attachment 128268 [details] [review] Bug 15516: (follow-up) Prevent cancelling unintended holds And a fix for consistent TT code
Created attachment 128269 [details] [review] Bug 15516: (follow-up) Fix hold group details not showing
Created attachment 128285 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128286 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128287 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128288 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128289 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128290 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128291 [details] [review] Bug 15516: (follow-up) Fixes for qa tools Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128292 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128293 [details] [review] Bug 15516: Fix shebang in hold-group.pl Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128294 [details] [review] Bug 15516: (follow-up) Count group holds always Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128295 [details] [review] Bug 15516: Fix hold groups for multi items for one bib Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128296 [details] [review] Bug 15516: Add ability to create hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128297 [details] [review] Bug 15516: Show user's hold groups to user via OPAC This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128298 [details] [review] Bug 15516: (follow-up) Prevent cancelling unintended holds And a fix for consistent TT code Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 128299 [details] [review] Bug 15516: (follow-up) Fix hold group details not showing Signed-off-by: Michal Denar <black23@gmail.com>
Arf, this is somehow linked to other feature in development : Bug 24857 - Add ability to group items for records Bug 24023 - Add ability to create bundles of items Bug 28854 - [ALTERNATIVE] Add ability to create bundles of items We should think on how not put too much complexity in the system (already really complex).
It's not really related to the Bundles stuff.. whilst that development does indeed allow items to be grouped.. the grouping logic is entirely distinct and it's more about the circulation of those bundled sets.
Yeah, as Martin says, it's totally different. By the way, this has been used in production for years now. I can't recall if it's been 4 years or 6 years, but a while in any case.
Hi, We have been waiting for this feature for a really long time. We will use it mainly when dealing with students who require documents for school work. The idea is that they receive reading lists and then request the titles from the local library. They don't actually care which particular title they get, but they need one from the list. This feature would be very helpful in processing this kind of requests. Yes, Koha is a complex system. Because it is global and reflects different approaches to library work. Bundles of titles are actually an extension of this, which is almost done now. A sort of generalization of the ability to make reservations over a list of titles, extended with the ability to define groups more comprehensively than from search results. I'm in favor of pushing the feature into production. At the same time, let's debate how to deal with requests for complex functionality in general. Would it make sense to design functionality more generally and then provide extensions with plugins? We also need to keep sustainability in mind.
Hi :) I tried to rebase because why not, but hit a wall on the changes on ModReserveFill which was moved (and changed a lot) to Hold::fill(). I don't know where is a right place to put the new code: # if this hold was part of a group, cancel other holds in the group my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id }); foreach my $h ( @holds ) { $h->cancel unless $h->reserve_id == $hold->reserve_id; } Also, maybe these lines are also needed in Hold::cancel() Not sure at all. I would gladly give another try if someone know what to do about the two above points.
(In reply to Victor Grousset/tuxayo from comment #417) > I would gladly give another try if someone know what to do about the two > above points. Hopefully Aleisha can provide some insight. In theory, I'll look at this again one day, but I don't know when.
Thanks all, I'm taking a look now and will pass on anything I'm not sure about!
Created attachment 138576 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138577 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138578 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. This feature only applies to the staff client. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138579 [details] [review] Bug 15516: (follow-up) Add hold group message to holds queue A hold that is part of a hold group will be indicated as such in the holds queue. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138580 [details] [review] Bug 15516: (follow-up) Remove other holds in hold_group from holds_queue When one hold is fulfilled or set waiting Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138581 [details] [review] Bug 15516: (follow-up) Fixes for qa tools Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138582 [details] [review] Bug 15516: (follow-up) Fixing file permissions and title elements order Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138583 [details] [review] Bug 15516: Fix shebang in hold-group.pl Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138584 [details] [review] Bug 15516: (follow-up) Count group holds always Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138585 [details] [review] Bug 15516: Fix hold groups for multi items for one bib Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138586 [details] [review] Bug 15516: Add ability to create hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138587 [details] [review] Bug 15516: Show user's hold groups to user via OPAC This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138588 [details] [review] Bug 15516: (follow-up) Prevent cancelling unintended holds And a fix for consistent TT code Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138589 [details] [review] Bug 15516: (follow-up) Fix hold group details not showing Signed-off-by: Michal Denar <black23@gmail.com>
(In reply to Victor Grousset/tuxayo from comment #417) > Hi :) I tried to rebase because why not, but hit a wall on the changes on > ModReserveFill which was moved (and changed a lot) to Hold::fill(). I don't > know where is a right place to put the new code: > > # if this hold was part of a group, cancel other holds in the group > my @holds = Koha::Holds->search({ hold_group_id => $hold->hold_group_id > }); > foreach my $h ( @holds ) { > $h->cancel unless $h->reserve_id == $hold->reserve_id; > } > > > Also, maybe these lines are also needed in Hold::cancel() > Not sure at all. > > I would gladly give another try if someone know what to do about the two > above points. Have rebased the patches in case someone can come along and sign them off - but will now work on putting this code in the right place and squashing some of these patches. Welcome to test in the meantime.
Created attachment 138593 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 138594 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 138595 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. The other holds will also be removed from the holds queue. 9. Confirm tests pass - t/db_dependent/Koha/Holds.t - t/db_dependent/Reserves/HoldGroup.t Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl - circ/view_holdsqueue.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Created attachment 138596 [details] [review] Bug 15516: Add ability to create and view hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both. This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display. Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138597 [details] [review] Bug 15516: Schema updates
Created attachment 138738 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138739 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138740 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, for instance, if a library has the same title from different publishers (so 1 title but several biblio records) but the user only wants a copy of the book, regardless of the publisher. Test plan: 0. Run updatedatabase.pl and misc/devel/update_dbix_class_files.pl 1. Go to intranet search, display some results, click on some checkboxes and click on 'Place hold' button at the top of the results. 2. Search for a patron 3. Check the 'Treat as hold group' checkbox 4. Click on 'Place hold' 5. In the next screen you should see all the holds you placed with the additional text '(part of a hold group)' in Details column. 6. Click on the "hold group" link. A modal window should appear with the content of the hold group (a list of holds) 7. Check in an item of one of the reserved biblios and confirm the hold 8. The hold status is changed to Waiting, and all other holds are deleted. The other holds will also be removed from the holds queue. 9. Confirm tests pass - t/db_dependent/Koha/Holds.t - t/db_dependent/Reserves/HoldGroup.t Note: the "hold group" link is displayed in the following pages: - reserve/request.pl - circ/circulation.pl - members/moremember.pl - circ/pendingreserves.pl - circ/view_holdsqueue.pl Note: A hold group is counted as only one hold Sponsored-by: Catalyst IT Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138741 [details] [review] Bug 15516: Add ability to create and view hold groups from OPAC This patch adds a "Treat as hold group" to opac-reserve.pl, which lets OPAC users create a hold group which can include 1+ bibs and either bib-level holds, or item-level holds, or both. This patch shows the item-level and bib-level holds in a hold group for the user's holds in the OPAC. This includes both the opac-user.pl page and the self-checkout hold display. Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 138742 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com>
My test plan: 0a) koha-upgrade-schema kohadev 0b) perl misc/devel/update_dbix_class_files.pl --koha-conf /etc/koha/sites/kohadev/koha-conf.xml #NOTE: this step seemed unnecessary 0c) koha-plack --restart kohadev __OPAC results__ 1. Go to http://localhost:8080/cgi-bin/koha/opac-search.pl?idx=&q=test&weight_search=1 2. Checkbox results 1 and 2 3. Click "Place hold" at the top of the search results 4. Checkbox "Treat as hold group (next available item fulfills all holds)" 5. Click "Confirm hold" 6. Go to http://localhost:8080/cgi-bin/koha/opac-user.pl 7. Click "Holds" 8. Confirm the two holds appear with the text "part of a hold group", and when you click on that text it shows you both hold group titles 9. Note the "Holds" tab shows 1 hold signifying the 2 holds in the hold group count as 1 hold total 10. In the staff interface, check in "39999000001310" 11. Click "Confirm hold (Y)" 12. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 13. Note only 1 hold appears, and when you click on "part of a hold group" it only shows 1 hold title 12. In the OPAC, go to http://localhost:8080/cgi-bin/koha/opac-user.pl *13. Note the following error: Template process failed: undef error - Can't call method "rule_value" on an undefined value at /kohadevbox/koha/Koha/Hold.pm line 464. at /kohadevbox/koha/C4/Templates.pm line 127 14. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 15. Cancel the hold __OPAC detail__ 1. Go to http://localhost:8080/cgi-bin/koha/opac-reserve.pl?biblionumber=134 2. Checkbox "Treat as hold group (next available item fulfills all holds)" 3. Click "Show more options" 4. Click "A specific item" *5. Note that without https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15565 you can't select multiple items, so it doesn't make much sense to show "Treat as hold group" on this page... __Staff interface results__ 1. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test 2. Checkbox results 1 and 2 3. Click "Place hold" at the top of the search results 4. Search for patron "koha" 5. Checkibox "Treat as hold group" 6. Choose "Centerville" as "Pickup at" 7. Click "Place holds" 8. Click on "part of a hold group" on the each hold and note the modal with "Hold group" appears showing the 2 titles 9. Check in "39999000001310" 10. Click "Confirm hold (Y)" 11. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 12. Cancel the hold __Staff interface detail__ 1. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?biblionumber=134 2. Search for patron "koha" 3. Checkbox both items 4. Checkbox "Treat as hold group" 5. Click "Place hold" *6. Note the following error: Alert box appears saying "- Please select an item to place a hold" *7. In theory, one should be able to place holds on multiple items, but I think in practice https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15565 is needed to make that happen, so it might not make sense to show "Treat as hold group" on this page at this time -- On http://localhost:8080/cgi-bin/koha/opac-main.pl it will say "2 holds pending", but when you click on that link it will show "Holds (1)" and then "Holds (2 total)". I think that this is likely to confuse users... while I know libraries want hold groups to count as 1 hold, I'm not sure that Koha can really handle that in a coherent way...
I am keen to get this functionality into Koha, so I don't know that I'd consider many of my above asterisk comments above blockers per se, but I had to fail it for the fatal error at http://localhost:8080/cgi-bin/koha/opac-user.pl#opac-user-holds: Template process failed: undef error - Can't call method "rule_value" on an undefined value at /kohadevbox/koha/Koha/Hold.pm line 464. at /kohadevbox/koha/C4/Templates.pm line 127
Hmm this might be due to bug 22456 and it might be my fault... I'm going to try pulling the latest Docker image and see if that makes a difference... but might be a problem in master caused by bug 22456...
Ok I'm pretty sure the fatal error is a bug in master. I'm going to leave this as Failed QA for the moment just because we can't really progress it until the bug in master is fixed...
Created attachment 138772 [details] [review] Bug 15516: [QA followup] Only show hold groups for multi hold in OPAC
My test plan: 0a) koha-upgrade-schema kohadev 0b) koha-plack --restart kohadev __OPAC results__ 1. Go to http://localhost:8080/cgi-bin/koha/opac-search.pl?idx=&q=test&weight_search=1 2. Checkbox results 1 and 2 3. Click "Place hold" at the top of the search results 4. Checkbox "Treat as hold group (next available item fulfills all holds)" 5. Click "Confirm hold" 6. Go to http://localhost:8080/cgi-bin/koha/opac-user.pl 7. Click "Holds" 8. Confirm the two holds appear with the text "part of a hold group", and when you click on that text it shows you both hold group titles 9. Note the "Holds" tab shows 1 hold signifying the 2 holds in the hold group count as 1 hold total 10. In the staff interface, check in "39999000001310" 11. Click "Confirm hold (Y)" 12. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 13. Note only 1 hold appears, and when you click on "part of a hold group" it only shows 1 hold title 12. In the OPAC, go to http://localhost:8080/cgi-bin/koha/opac-user.pl 13. Note that only 1 hold appears now 14. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 15. Cancel the hold __Staff interface results__ 1. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test 2. Checkbox results 1 and 2 3. Click "Place hold" at the top of the search results 4. Search for patron "koha" 5. Checkibox "Treat as hold group" 6. Choose "Centerville" as "Pickup at" 7. Click "Place holds" 8. Click on "part of a hold group" on the each hold and note the modal with "Hold group" appears showing the 2 titles 9. Check in "39999000001310" 10. Click "Confirm hold (Y)" 11. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51 12. Cancel the hold __OPAC detail__ NOTE: This is irrelevant without https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=15565 so 15565 can focus on implementing it. __Staff interface detail__ 1. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?biblionumber=134 2. Search for patron "koha" 3. Checkbox both items 4. Checkbox "Treat as hold group" 5. Click "Place hold" *6. Note the following error: Alert box appears saying "- Please select an item to place a hold"
(In reply to David Cook from comment #450) > __Staff interface detail__ > 1. Go to > http://localhost:8081/cgi-bin/koha/reserve/request.pl?biblionumber=134 > 2. Search for patron "koha" > 3. Checkbox both items > 4. Checkbox "Treat as hold group" > 5. Click "Place hold" > *6. Note the following error: > Alert box appears saying "- Please select an item to place a hold" Failing at the moment as it appears to have broken item-specific holds (even without hold groups and multihold) on the staff interface. I've run out of time to keep working on this today, so leaving it here for now. I'll see if I can look at it again tomorrow.
Created attachment 138868 [details] [review] Bug 15516: [QA followup] Fix item-specific holds in staff interface
I fixed the item-specific holds on the staff interface, but I'm Failing QA again, as I've discovered that the checkboxes are irrelevant when placing a staff interface multi-hold: http://localhost:8081/cgi-bin/koha/reserve/request.pl?biblionumber=29&biblionumber=114&biblionumber=134&multi_hold=1&borrowernumber=51 The biblionumbers are in hidden inputs, which get sent no matter what. (The OPAC is fine though.) -- Aleisha: Happy for you to squash my QA followup patches into your patches as well going forward to make it easier to maintain the patches.
Created attachment 138869 [details] [review] Bug 15516: [QA followup] Only show hold groups for multi hold in staff interface
Another thing I haven't checked here is how it works with hold limits... that's a bit of a rabbithole as well...
Aleisha, do you have clients using this functionality?
(In reply to David Cook from comment #456) > Aleisha, do you have clients using this functionality? Catalyst had received sponsorship to work on this for a library years ago, they may still be using a version of this in production but I'm not sure as we don't work with that library anymore and sponsorship has run out.
Created attachment 162076 [details] [review] Bug 15516: Database and installer updates Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 162077 [details] [review] Bug 15516: Schema updates Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 162078 [details] [review] Bug 15516: Relevant controller changes and tests Signed-off-by: Michal Denar <black23@gmail.com> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Michal Denar <black23@gmail.com>
Created attachment 162079 [details] [review] Bug 15516: Allow to reserve first available item from a group of titles It can be useful, f