Bug 24846

Summary: Add a tool to enable bulk edit of due dates
Product: Koha Reporter: Martin Renvoize <martin.renvoize>
Component: CirculationAssignee: Jonathan Druart <jonathan.druart>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: new feature    
Priority: P5 - low CC: 1joynelson, bgkriegel, bwsdonna, fridolin.somers, gmcharlt, hayleypelham, jonathan.druart, jzairo, katrin.fischer, kyle.m.hall, lucas, pierre.genty02, sally.healey
Version: master   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
With events sometimes leading to unforeseen library closures, (Coronavirus for example), this new tool allows librarians to update due dates in bulk based on library and current due date of the materials on loan. Access to the tool requires a new permission `batch_extend_due_dates`.
Version(s) released in:
20.05.00, 19.11.04, 19.05.09, 18.11.16
Bug Depends on:    
Bug Blocks: 25995, 25020, 25088    
Attachments: Bug 24846: Add new permission batch_extend_due_dates
Bug 24846: Add new tool to batch extend due dates
Bug 24846: Link to the new tool
Bug 24846: Add new tool to batch extend due dates
Bug 24846: Link to the new tool
Bug 24846: Add new permission batch_extend_due_dates
Bug 24846: Add new tool to batch extend due dates
Bug 24846: Link to the new tool
Bug 24846: Add new tool to batch extend due dates
Bug 24846: Update items.onloan with the new due date
Bug 24846: Update items.onloan with the new due date
Bug 24846: Add new permission batch_extend_due_dates
Bug 24846: Link to the new tool
Bug 24846: Add new tool to batch extend due dates
Bug 24846: Update items.onloan with the new due date

Description Martin Renvoize 2020-03-11 10:40:21 UTC
With events sometimes leading to unforeseen branch closures (think Coronavirus as an example), it would be helpful to have a tool that would allow librarians to update due dates in bulk based on branch and current due date of the material.

We envisage this tool as a simple form whereby the user can filter checkouts by a due date window and branch and then either set a fixed new due date for all such items or roll the due date on by X days.
Comment 1 Jonathan Druart 2020-03-16 08:51:45 UTC
Will try to work on that today.
Comment 2 Martin Renvoize 2020-03-16 09:35:25 UTC
Looks like InLibro have a plugin to do some of this.. I've not investigated it fully yet, but it's on my list: https://inlibro.com/en/koha-plugins/#changeduedate
Comment 3 Jonathan Druart 2020-03-16 11:04:06 UTC
Created attachment 100729 [details] [review]
Bug 24846: Add new permission batch_extend_due_dates
Comment 4 Jonathan Druart 2020-03-16 11:04:10 UTC
Created attachment 100730 [details] [review]
Bug 24846: Add new tool to batch extend due dates

With events sometimes leading to unforeseen branch closures (think Coronavirus as
an example), it would be helpful to have a tool that would allow librarians to
update due dates in bulk based on branch and current due date of the material.

It allows to select checkouts given the following parameters:
 * libraries
 * patron's categories
 * range of the due date

You can set a hard due date, or define a number of days to extend the
due date.

Test plan:
Check some items out
Use the new tool to extend the due dates
Test the different filters to make sure they all work

Note: What about holidays?
Comment 5 Jonathan Druart 2020-03-16 11:04:13 UTC
Created attachment 100731 [details] [review]
Bug 24846: Link to the new tool
Comment 6 Bernardo Gonzalez Kriegel 2020-03-16 13:12:02 UTC
Hi, works

This variables:
    # List all records to process
    my ( @records, @record_ids );

are declared but not used, qa-tools complains.
It's ok?
Comment 7 Jonathan Druart 2020-03-16 14:12:03 UTC
Created attachment 100749 [details] [review]
Bug 24846: Add new tool to batch extend due dates

With events sometimes leading to unforeseen branch closures (think Coronavirus as
an example), it would be helpful to have a tool that would allow librarians to
update due dates in bulk based on branch and current due date of the material.

It allows to select checkouts given the following parameters:
 * libraries
 * patron's categories
 * range of the due date

You can set a hard due date, or define a number of days to extend the
due date.

Test plan:
Check some items out
Use the new tool to extend the due dates
Test the different filters to make sure they all work

Note: What about holidays?
Comment 8 Jonathan Druart 2020-03-16 14:12:07 UTC
Created attachment 100750 [details] [review]
Bug 24846: Link to the new tool
Comment 9 Jonathan Druart 2020-03-16 14:12:27 UTC
(In reply to Bernardo Gonzalez Kriegel from comment #6)
> Hi, works
> 
> This variables:
>     # List all records to process
>     my ( @records, @record_ids );
> 
> are declared but not used, qa-tools complains.
> It's ok?

Nope, unused vars. I fixed it!
Comment 10 Bernardo Gonzalez Kriegel 2020-03-16 14:37:24 UTC
Created attachment 100752 [details] [review]
Bug 24846: Add new permission batch_extend_due_dates

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment 11 Bernardo Gonzalez Kriegel 2020-03-16 14:37:28 UTC
Created attachment 100753 [details] [review]
Bug 24846: Add new tool to batch extend due dates

With events sometimes leading to unforeseen branch closures (think Coronavirus as
an example), it would be helpful to have a tool that would allow librarians to
update due dates in bulk based on branch and current due date of the material.

It allows to select checkouts given the following parameters:
 * libraries
 * patron's categories
 * range of the due date

You can set a hard due date, or define a number of days to extend the
due date.

Test plan:
Check some items out
Use the new tool to extend the due dates
Test the different filters to make sure they all work

Note: What about holidays?

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, tried hard new date and number of days.
No errors
Comment 12 Bernardo Gonzalez Kriegel 2020-03-16 14:37:32 UTC
Created attachment 100754 [details] [review]
Bug 24846: Link to the new tool

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment 13 Jonathan Druart 2020-03-17 15:48:56 UTC
Should not we also update items.onloan?
Comment 14 Jonathan Druart 2020-03-17 16:00:17 UTC
Created attachment 100914 [details] [review]
Bug 24846: Add new tool to batch extend due dates

With events sometimes leading to unforeseen branch closures (think Coronavirus as
an example), it would be helpful to have a tool that would allow librarians to
update due dates in bulk based on branch and current due date of the material.

It allows to select checkouts given the following parameters:
 * libraries
 * patron's categories
 * range of the due date

You can set a hard due date, or define a number of days to extend the
due date.

Test plan:
Check some items out
Use the new tool to extend the due dates
Test the different filters to make sure they all work

Note: What about holidays?
Comment 15 Jonathan Druart 2020-03-17 16:00:21 UTC
Created attachment 100915 [details] [review]
Bug 24846: Update items.onloan with the new due date
Comment 16 ByWater Sandboxes 2020-03-18 15:47:08 UTC
Created attachment 100969 [details] [review]
Bug 24846: Update items.onloan with the new due date

Signed-off-by: Donna Bachowski <donna@bywatersolutions.com>
Comment 17 Martin Renvoize 2020-03-19 08:50:40 UTC
Created attachment 100998 [details] [review]
Bug 24846: Add new permission batch_extend_due_dates

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 18 Martin Renvoize 2020-03-19 08:50:43 UTC
Created attachment 100999 [details] [review]
Bug 24846: Link to the new tool

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 19 Martin Renvoize 2020-03-19 08:50:46 UTC
Created attachment 101000 [details] [review]
Bug 24846: Add new tool to batch extend due dates

With events sometimes leading to unforeseen branch closures (think Coronavirus as
an example), it would be helpful to have a tool that would allow librarians to
update due dates in bulk based on branch and current due date of the material.

It allows to select checkouts given the following parameters:
 * libraries
 * patron's categories
 * range of the due date

You can set a hard due date, or define a number of days to extend the
due date.

Test plan:
Check some items out
Use the new tool to extend the due dates
Test the different filters to make sure they all work

Note: What about holidays?

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 20 Martin Renvoize 2020-03-19 08:50:50 UTC
Created attachment 101001 [details] [review]
Bug 24846: Update items.onloan with the new due date

Signed-off-by: Donna Bachowski <donna@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 21 Martin Renvoize 2020-03-19 08:51:48 UTC
This works well and resolves a problem many may be facing right now.  Passing QA as is.. we can always revisit it and add polish and holiday handling at a later date.
Comment 22 Martin Renvoize 2020-03-19 08:56:59 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 23 Joy Nelson 2020-03-23 23:43:05 UTC
Pushing to 19.11.04
Comment 24 Lucas Gass 2020-03-24 15:50:36 UTC
Although this is a feature it is an important one to backport to older versions at this time.

backported to 19.05.x for 19.05.09
Comment 25 Katrin Fischer 2020-03-26 11:43:54 UTC
Is it planned to put this in 18.11 as well?
Comment 26 Hayley Pelham 2020-03-26 22:34:59 UTC
Backported to 18.11.x for 18.11.16
Comment 27 Katrin Fischer 2020-03-26 22:37:24 UTC
(In reply to Hayley Mapley from comment #26)
> Backported to 18.11.x for 18.11.16

Thank you Hayley for looking into it!
Comment 28 Hayley Pelham 2020-03-26 22:38:30 UTC
> (In reply to Hayley Mapley from comment #26)
> > Backported to 18.11.x for 18.11.16
> 
> Thank you Hayley for looking into it!

Thanks for flagging it Katrin! :)
Comment 29 Jonathan Druart 2020-04-02 14:25:43 UTC
Screenshots:
Filters: https://snipboard.io/VTjl9M.jpg

Checkouts selection: https://snipboard.io/2S1mVk.jpg

Result screen: https://snipboard.io/762HWI.jpg


And the great Monday Minutes about this tool by Jessie and Kelly:
https://bywatersolutions.com/education/monday-minutes-bulk-edit-due-dates