Bug 15582

Summary: Ability to block auto renewals if the OPACFineNoRenewals amount is reached
Product: Koha Reporter: Jonathan Druart <jonathan.druart>
Component: CirculationAssignee: Jonathan Druart <jonathan.druart>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: claire_gravely, gmcharlt, h.meissner.82, janet.mcgowan, jonathan.field, kyle.m.hall, kyle, liz, martin.renvoize, nick
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: Sponsored Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Bug Depends on: 16344    
Bug Blocks: 15705    
Attachments: Bug 15582: Ability to block auto renewals if the max outstanding balance is reached
Bug 15582: DB changes - add new pref MaxOutstandingBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: DB changes - add new pref MaxOutstandingBlockAutoRenew
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Bug 15582: Fix grammar in syspref description

Description Jonathan Druart 2016-01-15 11:09:26 UTC
If a patron owes more than the max outstanding balance (defined in the maxoutstanding syspref), the issue won't be auto renewed anymore (driven by a new syspref).
Comment 1 Jonathan Druart 2016-01-15 12:54:45 UTC Comment hidden (obsolete)
Comment 2 Jonathan Druart 2016-01-15 12:54:49 UTC Comment hidden (obsolete)
Comment 3 Jonathan Druart 2016-01-27 10:52:32 UTC
Maybe it would make more sense to check OPACFineNoRenewals instead of maxoutstanding.
Comment 4 Katrin Fischer 2016-01-28 07:00:53 UTC
Hm, yes, I tihnk that's the one.
Comment 5 Jonathan Druart 2016-01-28 10:51:44 UTC Comment hidden (obsolete)
Comment 6 Jonathan Druart 2016-01-28 10:52:01 UTC Comment hidden (obsolete)
Comment 7 Jonathan Druart 2016-01-28 10:53:38 UTC Comment hidden (obsolete)
Comment 8 Jonathan Druart 2016-04-18 15:03:33 UTC Comment hidden (obsolete)
Comment 9 Jonathan Druart 2016-04-18 15:03:37 UTC Comment hidden (obsolete)
Comment 10 Jonathan Druart 2016-04-18 15:04:22 UTC
Patches have been rebased.
Comment 11 Jonathan Druart 2016-04-25 21:52:43 UTC Comment hidden (obsolete)
Comment 12 Jonathan Druart 2016-04-25 21:52:56 UTC Comment hidden (obsolete)
Comment 13 Jonathan Druart 2016-04-26 16:03:06 UTC
Created attachment 50726 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Comment 14 Jonathan Field 2016-04-26 16:18:31 UTC
Thanks, that last change tidy's it up nicely!
Jonathan
Comment 15 Liz Rea 2016-07-18 03:23:14 UTC
Applying: Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
fatal: sha1 information is lacking or useless (C4/Circulation.pm).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Comment 16 Jonathan Druart 2016-07-20 14:04:56 UTC
Created attachment 53521 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Comment 17 Jonathan Druart 2016-07-20 14:06:27 UTC
(In reply to Liz Rea from comment #15)
> Applying: Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is
> reached
> fatal: sha1 information is lacking or useless (C4/Circulation.pm).
> Repository lacks necessary blobs to fall back on 3-way merge.
> Cannot fall back to three-way merge.
> Patch failed at 0001 Bug 15582: Ability to block auto renewals if
> OPACFineNoRenewals is reached

Easy conflict in tests fixed, but did not get the sha1 error. Make sure you have applied patches from bug 15581 and bug 16344 before.
Comment 18 Claire Gravely 2016-08-12 07:57:17 UTC
Hi,
Just flagging a small grammar typo in the OPACFineNoRenewalsBlockAutoRenew syspref description:

'If patron owe more than the value of OPACFineNoRenewals'

Should be 
'If a patron owes more...'
Comment 19 Jonathan Druart 2016-08-12 08:33:58 UTC
Created attachment 54347 [details] [review]
Bug 15582: Fix grammar in syspref description
Comment 20 Jonathan Druart 2016-10-24 12:17:32 UTC
Created attachment 56753 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Comment 21 Jonathan Druart 2016-10-24 12:17:39 UTC
Created attachment 56754 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Comment 22 Jonathan Druart 2016-10-24 12:17:44 UTC
Created attachment 56755 [details] [review]
Bug 15582: Fix grammar in syspref description
Comment 23 Jonathan Druart 2016-10-30 18:46:22 UTC
Created attachment 56978 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Comment 24 Jonathan Druart 2016-10-30 18:46:26 UTC
Created attachment 56979 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Comment 25 Jonathan Druart 2016-10-30 18:46:30 UTC
Created attachment 56980 [details] [review]
Bug 15582: Fix grammar in syspref description
Comment 26 Jonathan Druart 2016-11-24 10:58:28 UTC
Created attachment 57738 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Comment 27 Jonathan Druart 2016-11-24 10:58:32 UTC
Created attachment 57739 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Comment 28 Jonathan Druart 2016-11-24 10:58:35 UTC
Created attachment 57740 [details] [review]
Bug 15582: Fix grammar in syspref description
Comment 29 Jonathan Druart 2017-03-14 16:41:04 UTC
Created attachment 61077 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Comment 30 Jonathan Druart 2017-03-14 16:41:11 UTC
Created attachment 61078 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Comment 31 Jonathan Druart 2017-03-14 16:41:21 UTC
Created attachment 61079 [details] [review]
Bug 15582: Fix grammar in syspref description
Comment 32 Martin Renvoize (ashimema) 2017-03-23 08:22:27 UTC
Created attachment 61502 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 33 Martin Renvoize (ashimema) 2017-03-23 08:22:30 UTC
Created attachment 61503 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 34 Martin Renvoize (ashimema) 2017-03-23 08:22:33 UTC
Created attachment 61504 [details] [review]
Bug 15582: Fix grammar in syspref description

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 35 Martin Renvoize (ashimema) 2017-03-23 08:23:53 UTC
Independently tested by Janet McGowan and Jonathan Field at PTFS Europe, I'm just acting as the bugzilla gopher here, uploading the signed patches.
Comment 36 Jonathan Druart 2017-04-28 20:34:14 UTC
Created attachment 62881 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 37 Jonathan Druart 2017-04-28 20:34:22 UTC
Created attachment 62882 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 38 Jonathan Druart 2017-04-28 20:34:28 UTC
Created attachment 62883 [details] [review]
Bug 15582: Fix grammar in syspref description

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Comment 39 Nick Clemens (kidclamp) 2017-05-01 12:34:55 UTC
The feature works as expected but I think that we need feedback on opac and staff pages to indicate whether the auto-renewal will succeed/fail
Comment 40 Nick Clemens (kidclamp) 2017-05-01 12:43:02 UTC
(In reply to Nick Clemens from comment #39)
> The feature works as expected but I think that we need feedback on opac and
> staff pages to indicate whether the auto-renewal will succeed/fail

Ah, nvm, implemented in bug 15705
Comment 41 Nick Clemens (kidclamp) 2017-05-01 12:44:57 UTC
Created attachment 62914 [details] [review]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 42 Nick Clemens (kidclamp) 2017-05-01 12:45:00 UTC
Created attachment 62915 [details] [review]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 43 Nick Clemens (kidclamp) 2017-05-01 12:45:05 UTC
Created attachment 62916 [details] [review]
Bug 15582: Fix grammar in syspref description

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Comment 44 Kyle M Hall (khall) 2017-05-12 14:40:19 UTC
Pushed to master for 17.05, thanks Jonathan!
Comment 45 Katrin Fischer 2017-05-14 10:27:24 UTC
This won't get ported back to 16.11.x as it is an enhancement.