Bug 19636

Summary: Hold priority changes incorrectly via dropdown select
Product: Koha Reporter: Lari Taskula <lari.taskula>
Component: Staff interfaceAssignee: Lari Taskula <lari.taskula>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: gmcharlt, jonathan.druart
Version: unspecified   
Hardware: All   
OS: All   
GIT URL: Change sponsored?: ---
Patch complexity: Small patch Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on:    
Bug Blocks: 21608    
Attachments: Bug 19636: Hold priority changes incorrectly via dropdown select
Bug 19636: Hold priority changes incorrectly via dropdown select
Bug 19636: Hold priority changes incorrectly via dropdown select

Description Lari Taskula 2017-11-16 12:34:20 UTC
To reproduce:

1. Place 3 holds on a record
2. See existing holds (cgi-bin/koha/reserve/request.pl?biblionumber=XXX)
3. By using the dropdown menu under "Priority" column, change the first hold's
   priority to last (3). Do not touch other priorities.
4. Click Update hold(s)
5. Observe the hold did not get your selected priority 3, but 2 instead.

I believe this happens when the form is posted and each row is individually processed one by one - and due to conflict in priority value, the latter row always gets the chosen value.

This could be solved by sorting the hold table by priority before updating the holds.
Comment 1 Lari Taskula 2017-11-16 12:41:37 UTC Comment hidden (obsolete)
Comment 2 Owen Leonard 2017-11-17 13:31:09 UTC
Created attachment 69195 [details] [review]
Bug 19636: Hold priority changes incorrectly via dropdown select

This patch sorts holds in UI after priority is changed via "Priority"
dropdown.

It fixes confusion where the form is posted and each row is individually
processed one by one - and due to conflict in priority value, the latter
row always gets the chosen value instead of what the user actually might
have wanted to change.

To reproduce:
1. Place 3 holds on a record
2. See existing holds (cgi-bin/koha/reserve/request.pl?biblionumber=XXX)
3. By using the dropdown menu under "Priority" column, change the first
   hold's priority to last (3). Do not touch other priorities.
4. Click Update hold(s)
5. Observe the hold did not get your selected priority 3, but 2 instead.

To test:
1. Apply patch
2. Place 3 holds on a record
3. See existing holds (cgi-bin/koha/reserve/request.pl?biblionumber=XXX)
4. By using the dropdown menu under "Priority" column, change the first
   hold's priority to last (3). Do not touch other priorities.
5. Observe this hold was automatically moved to the last row in the user
   interface.
6. Click Update hold(s)
7. Observe the hold has your selected priority 3.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Comment 3 Jonathan Druart 2017-12-19 16:02:10 UTC
Created attachment 69917 [details] [review]
Bug 19636: Hold priority changes incorrectly via dropdown select

This patch sorts holds in UI after priority is changed via "Priority"
dropdown.

It fixes confusion where the form is posted and each row is individually
processed one by one - and due to conflict in priority value, the latter
row always gets the chosen value instead of what the user actually might
have wanted to change.

To reproduce:
1. Place 3 holds on a record
2. See existing holds (cgi-bin/koha/reserve/request.pl?biblionumber=XXX)
3. By using the dropdown menu under "Priority" column, change the first
   hold's priority to last (3). Do not touch other priorities.
4. Click Update hold(s)
5. Observe the hold did not get your selected priority 3, but 2 instead.

To test:
1. Apply patch
2. Place 3 holds on a record
3. See existing holds (cgi-bin/koha/reserve/request.pl?biblionumber=XXX)
4. By using the dropdown menu under "Priority" column, change the first
   hold's priority to last (3). Do not touch other priorities.
5. Observe this hold was automatically moved to the last row in the user
   interface.
6. Click Update hold(s)
7. Observe the hold has your selected priority 3.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Comment 4 Jonathan Druart 2017-12-20 16:46:13 UTC
Pushed to master for 18.05, thanks to everybody involved!