Bugzilla – Attachment 99797 Details for
Bug 24476
Allow patrons to opt-out of auto-renewal
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24476: Rename autorenewal to autorenew_checkouts
Bug-24476-Rename-autorenewal-to-autorenewcheckouts.patch (text/plain), 24.11 KB, created by
Nick Clemens (kidclamp)
on 2020-02-28 20:39:05 UTC
(
hide
)
Description:
Bug 24476: Rename autorenewal to autorenew_checkouts
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2020-02-28 20:39:05 UTC
Size:
24.11 KB
patch
obsolete
>From 60de4be1668d49851bb02a9941ae3bc9a25e08cb Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Fri, 28 Feb 2020 17:30:07 +0000 >Subject: [PATCH] Bug 24476: Rename autorenewal to autorenew_checkouts > >--- > C4/Circulation.pm | 6 +++--- > Koha/Patron.pm | 2 +- > api/v1/swagger/definitions/patron.json | 2 +- > api/v1/swagger/paths/patrons.json | 4 ++-- > .../bug_24476_opt_out_of_auto_renewal.perl | 16 ++++++++-------- > installer/data/mysql/kohastructure.sql | 6 +++--- > .../prog/en/modules/circ/circulation.tt | 6 +++--- > .../prog/en/modules/members/memberentrygen.tt | 22 +++++++++++----------- > .../prog/en/modules/members/members-update.tt | 2 +- > .../prog/en/modules/members/moremember-brief.tt | 2 +- > .../prog/en/modules/members/moremember.tt | 4 ++-- > .../bootstrap/en/modules/opac-memberentry.tt | 22 +++++++++++----------- > misc/cronjobs/automatic_renewals.pl | 2 +- > t/db_dependent/Circulation.t | 16 ++++++++-------- > 14 files changed, 56 insertions(+), 56 deletions(-) > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index f44ccc8e13..e0f1397ca7 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -2743,7 +2743,7 @@ sub CanBookBeRenewed { > return ( 0, 'overdue'); > } > >- if ( $issue->auto_renew && $patron->autorenewal ) { >+ if ( $issue->auto_renew && $patron->autorenew_checkouts ) { > > if ( $patron->category->effective_BlockExpiredPatronOpacActions and $patron->is_expired ) { > return ( 0, 'auto_account_expired' ); >@@ -2799,10 +2799,10 @@ sub CanBookBeRenewed { > > if ( $soonestrenewal > DateTime->now( time_zone => C4::Context->tz() ) ) > { >- return ( 0, "auto_too_soon" ) if $issue->auto_renew && $patron->autorenewal; >+ return ( 0, "auto_too_soon" ) if $issue->auto_renew && $patron->autorenew_checkouts; > return ( 0, "too_soon" ); > } >- elsif ( $issue->auto_renew && $patron->autorenewal ) { >+ elsif ( $issue->auto_renew && $patron->autorenew_checkouts ) { > $auto_renew = 1; > } > } >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 1911357cd8..b1f1711f01 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -1607,7 +1607,7 @@ sub to_api_mapping { > smsalertnumber => 'sms_number', > sort1 => 'statistics_1', > sort2 => 'statistics_2', >- autorenewal => 'autorenewal', >+ autorenew_checkouts => 'autorenew_checkouts', > streetnumber => 'street_number', > streettype => 'street_type', > zipcode => 'postal_code', >diff --git a/api/v1/swagger/definitions/patron.json b/api/v1/swagger/definitions/patron.json >index cf5eedf52d..a4f998c04d 100644 >--- a/api/v1/swagger/definitions/patron.json >+++ b/api/v1/swagger/definitions/patron.json >@@ -191,7 +191,7 @@ > "type": ["string", "null"], > "description": "a field that can be used for any information unique to the library" > }, >- "autorenewal": { >+ "autorenew_checkouts": { > "type": "boolean", > "description": "indicate whether auto-renewal is allowed for patron" > }, >diff --git a/api/v1/swagger/paths/patrons.json b/api/v1/swagger/paths/patrons.json >index bb4efd3caf..c8798f28d5 100644 >--- a/api/v1/swagger/paths/patrons.json >+++ b/api/v1/swagger/paths/patrons.json >@@ -296,9 +296,9 @@ > "required": false, > "type": "string" > }, { >- "name": "autorenewal", >+ "name": "autorenew_checkouts", > "in": "query", >- "description": "Search on autorenewal", >+ "description": "Search on autorenew_checkouts", > "required": false, > "type": "boolean" > }, { >diff --git a/installer/data/mysql/atomicupdate/bug_24476_opt_out_of_auto_renewal.perl b/installer/data/mysql/atomicupdate/bug_24476_opt_out_of_auto_renewal.perl >index 9bc691bd9b..50edba9cc6 100644 >--- a/installer/data/mysql/atomicupdate/bug_24476_opt_out_of_auto_renewal.perl >+++ b/installer/data/mysql/atomicupdate/bug_24476_opt_out_of_auto_renewal.perl >@@ -1,20 +1,20 @@ > $DBversion = 'XXX'; > if( CheckVersion( $DBversion ) ) { >- unless( column_exists('borrowers','autorenewal') ){ >- $dbh->do( "ALTER TABLE borrowers ADD COLUMN autorenewal TINYINT(1) NOT NULL DEFAULT 1" ); >+ unless( column_exists('borrowers','autorenew_checkouts') ){ >+ $dbh->do( "ALTER TABLE borrowers ADD COLUMN autorenew_checkouts TINYINT(1) NOT NULL DEFAULT 1" ); > } >- unless( column_exists('deletedborrowers','autorenewal') ){ >- $dbh->do( "ALTER TABLE deletedborrowers ADD COLUMN autorenewal TINYINT(1) NOT NULL DEFAULT 1" ); >+ unless( column_exists('deletedborrowers','autorenew_checkouts') ){ >+ $dbh->do( "ALTER TABLE deletedborrowers ADD COLUMN autorenew_checkouts TINYINT(1) NOT NULL DEFAULT 1" ); > } >- unless( column_exists('borrower_modifications','autorenewal') ){ >- $dbh->do( "ALTER TABLE borrower_modifications ADD COLUMN autorenewal TINYINT(1) NOT NULL DEFAULT 1" ); >+ unless( column_exists('borrower_modifications','autorenew_checkouts') ){ >+ $dbh->do( "ALTER TABLE borrower_modifications ADD COLUMN autorenew_checkouts TINYINT(1) NOT NULL DEFAULT 1" ); > } > $dbh->do(q{ > UPDATE systempreferences >- SET value = CONCAT(value,'|autorenewal') >+ SET value = CONCAT(value,'|autorenew_checkouts') > WHERE variable IN > ('PatronSelfModificationBorrowerUnwantedField','PatronSelfRegistrationBorrowerUnwantedField') >- AND value NOT LIKE '%autorenewal%' >+ AND value NOT LIKE '%autorenew_checkouts%' > }); > SetVersion( $DBversion ); > print "Upgrade to $DBversion done (Bug 24476 - Allow patrons to opt-out of autorenewal)\n"; >diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql >index 4e2ed1fb98..0a92e82d7f 100644 >--- a/installer/data/mysql/kohastructure.sql >+++ b/installer/data/mysql/kohastructure.sql >@@ -590,7 +590,7 @@ CREATE TABLE `deletedborrowers` ( -- stores data related to the patrons/borrower > `login_attempts` int(4) default 0, -- number of failed login attemps > `overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token > `anonymized` TINYINT(1) NOT NULL DEFAULT 0, -- flag for data anonymization >- `autorenewal` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal >+ `autorenew_checkouts` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal > KEY borrowernumber (borrowernumber), > KEY `cardnumber` (`cardnumber`), > KEY `sms_provider_id` (`sms_provider_id`) >@@ -1545,7 +1545,7 @@ CREATE TABLE `borrowers` ( -- this table includes information about your patrons > `login_attempts` int(4) default 0, -- number of failed login attemps > `overdrive_auth_token` MEDIUMTEXT default NULL, -- persist OverDrive auth token > `anonymized` TINYINT(1) NOT NULL DEFAULT 0, -- flag for data anonymization >- `autorenewal` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal >+ `autorenew_checkouts` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal > UNIQUE KEY `cardnumber` (`cardnumber`), > PRIMARY KEY `borrowernumber` (`borrowernumber`), > KEY `categorycode` (`categorycode`), >@@ -3434,7 +3434,7 @@ CREATE TABLE IF NOT EXISTS `borrower_modifications` ( > `privacy` int(11) DEFAULT NULL, > `extended_attributes` MEDIUMTEXT DEFAULT NULL, > `gdpr_proc_consent` datetime, -- data processing consent >- `autorenewal` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal >+ `autorenew_checkouts` TINYINT(1) NOT NULL DEFAULT 1, -- flag for allowing auto-renewal > PRIMARY KEY (`verification_token` (191),`borrowernumber`), > KEY `verification_token` (`verification_token` (191)), > KEY `borrowernumber` (`borrowernumber`) >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >index b7470a80ad..60957be170 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -567,7 +567,7 @@ > <div id="set-automatic-renewal" class="circ-setting"> > [% IF NEEDSCONFIRMATION %] > [% IF auto_renew %] >- [% IF patron.autorenewal %] >+ [% IF patron.autorenew_checkouts %] > <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" > title="Patron has opted out of auto-renewal"/> > [% ELSE %] >@@ -577,9 +577,9 @@ > <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" /> > [% END %] > [% ELSE %] >- [% IF ( auto_renew && patron.autorenewal ) %] >+ [% IF ( auto_renew && patron.autorenew_checkouts ) %] > <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" checked="checked" /> >- [% ELSIF patron.autorenewal %] >+ [% ELSIF patron.autorenew_checkouts %] > <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" class="circ_setting" /> > [% ELSE %] > <input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >index 9d03989e83..bcc5d51a1e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt >@@ -837,28 +837,28 @@ > </li> > [% END # /UNLESS nosort2 %] > >- [% UNLESS noautorenewal %] >+ [% UNLESS noautorenew_checkouts %] > <li class="radio"> >- <label for="yes-autorenewal"> >+ <label for="yes-autorenew_checkouts"> > Allow auto-renewal of items: > </label> >- [% IF ( autorenewal ) %] >- <label for="yes-autorenewal"> >+ [% IF ( autorenew_checkouts ) %] >+ <label for="yes-autorenew_checkouts"> > Yes >- <input type="radio" id="yes-autorenewal" name="autorenewal" value="1" checked="checked" /> >+ <input type="radio" id="yes-autorenew_checkouts" name="autorenew_checkouts" value="1" checked="checked" /> > </label> >- <label for="no-autorenewal"> >+ <label for="no-autorenew_checkouts"> > No >- <input type="radio" id="no-autorenewal" name="autorenewal" value="0" /> >+ <input type="radio" id="no-autorenew_checkouts" name="autorenew_checkouts" value="0" /> > </label> > [% ELSE %] >- <label for="yes-autorenewal"> >+ <label for="yes-autorenew_checkouts"> > Yes >- <input type="radio" id="yes-autorenewal" name="autorenewal" value="1" /> >+ <input type="radio" id="yes-autorenew_checkouts" name="autorenew_checkouts" value="1" /> > </label> >- <label for="no-autorenewal"> >+ <label for="no-autorenew_checkouts"> > No >- <input type="radio" id="no-autorenewal" name="autorenewal" value="0" checked="checked" /> >+ <input type="radio" id="no-autorenew_checkouts" name="autorenew_checkouts" value="0" checked="checked" /> > </label> > [% END %] > </li> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/members-update.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/members-update.tt >index c16e432530..e250b9e7e4 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/members-update.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/members-update.tt >@@ -52,7 +52,7 @@ > [% CASE 'contacttitle' %]<span>Contact: Title</span> > [% CASE 'relationship' %]<span>Contact: Relationship</span> > [% CASE 'sex' %]<span>Gender</span> >-[% CASE 'autorenewal' %]<span>Auto-renewal</span> >+[% CASE 'autorenew_checkouts' %]<span>Auto-renewal</span> > [% CASE 'altcontactfirstname' %]<span>Alternate contact: First name</span> > [% CASE 'altcontactsurname' %]<span>Alternate contact: Surname</span> > [% CASE 'altcontactaddress1' %]<span>Alternate contact: Address</span> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tt >index ecac3b7f28..2eded98efb 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-brief.tt >@@ -84,7 +84,7 @@ > <li><span class="label">Library: </span>[% patron.library.branchname | html %]</li> > [% IF ( patron.sort1 ) %]<li><span class="label">Sort field 1:</span>[% AuthorisedValues.GetByCode('Bsort1', patron.sort1) | html %]</li>[% END %] > [% IF ( patron.sort2 ) %]<li><span class="label">Sort field 2:</span>[% AuthorisedValues.GetByCode('Bsort2', patron.sort2) | html %]</li>[% END %] >- [% UNLESS ( patron.autorenewal ) %]<li>Auto renewal: Patron has opted out</li>[% END %] >+ [% UNLESS ( patron.autorenew_checkouts ) %]<li>Auto renewal: Patron has opted out</li>[% END %] > </ol> > </div> > </div> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >index 9f667f4c7f..e01a778095 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt >@@ -520,8 +520,8 @@ > [% AuthorisedValues.GetByCode('Bsort2', patron.sort2) | html %] > </li> > [% END %] >- [% UNLESS ( patron.autorenewal ) %] >- <li id="patron-autorenewal"> >+ [% UNLESS ( patron.autorenew_checkouts ) %] >+ <li id="patron-autorenew_checkouts"> > <span class="label">Auto renewal:</span> > Patron has opted out > </li> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >index a2bcde4516..b5c5e3401f 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt >@@ -258,29 +258,29 @@ > [% END %] > </li> > [% END %] >- [% UNLESS hidden.defined('autorenewal') %] >+ [% UNLESS hidden.defined('autorenew_checkouts') %] > <li class="lradio"> >- <label for="yes-autorenewal"> >+ <label for="yes-autorenew_checkouts"> > Allow auto-renewal: > </label> >- [% IF ( borrower.autorenewal ) %] >- <label class="radio inline" for="yes-autorenewal"> >+ [% IF ( borrower.autorenew_checkouts ) %] >+ <label class="radio inline" for="yes-autorenew_checkouts"> > Yes >- <input type="radio" id="yes-autorenewal" name="borrower_autorenewal" value="1" checked="checked" /> >+ <input type="radio" id="yes-autorenew_checkouts" name="borrower_autorenew_checkouts" value="1" checked="checked" /> > </label> > >- <label class="radio inline" for="no-autorenewal"> >+ <label class="radio inline" for="no-autorenew_checkouts"> > No >- <input type="radio" id="no-autorenewal" name="borrower_autorenewal" value="0" /> >+ <input type="radio" id="no-autorenew_checkouts" name="borrower_autorenew_checkouts" value="0" /> > </label> > [% ELSE %] >- <label class="radio inline" for="yes-autorenewal"> >+ <label class="radio inline" for="yes-autorenew_checkouts"> > Yes >- <input type="radio" id="yes-autorenewal" name="borrower_autorenewal" value="1" /> >+ <input type="radio" id="yes-autorenew_checkouts" name="borrower_autorenew_checkouts" value="1" /> > </label> >- <label class="radio inline" for="no-autorenewal"> >+ <label class="radio inline" for="no-autorenew_checkouts"> > No >- <input type="radio" id="no-autorenewal" name="borrower_autorenewal" value="0" checked="checked" /> >+ <input type="radio" id="no-autorenew_checkouts" name="borrower_autorenew_checkouts" value="0" checked="checked" /> > </label> > [% END %] > </li> >diff --git a/misc/cronjobs/automatic_renewals.pl b/misc/cronjobs/automatic_renewals.pl >index a3bded3aea..a76f7dfb35 100755 >--- a/misc/cronjobs/automatic_renewals.pl >+++ b/misc/cronjobs/automatic_renewals.pl >@@ -80,7 +80,7 @@ GetOptions( > pod2usage(0) if $help; > cronlogaction(); > >-my $auto_renews = Koha::Checkouts->search({ auto_renew => 1, 'borrower.autorenewal' => 1 },{ join => 'borrower'}); >+my $auto_renews = Koha::Checkouts->search({ auto_renew => 1, 'borrower.autorenew_checkouts' => 1 },{ join => 'borrower'}); > > my %report; > $verbose = 1 unless $verbose or $confirm; >diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t >index 4297c360a8..428a82e4f4 100755 >--- a/t/db_dependent/Circulation.t >+++ b/t/db_dependent/Circulation.t >@@ -657,10 +657,10 @@ subtest "CanBookBeRenewed tests" => sub { > > > >- $renewing_borrower_obj->autorenewal(0)->store; >+ $renewing_borrower_obj->autorenew_checkouts(0)->store; > ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_4->itemnumber ); > is( $renewokay, 1, 'No renewal before is undef, but patron opted out of auto_renewal' ); >- $renewing_borrower_obj->autorenewal(1)->store; >+ $renewing_borrower_obj->autorenew_checkouts(1)->store; > > > # Bug 7413 >@@ -706,11 +706,11 @@ subtest "CanBookBeRenewed tests" => sub { > 'Bug 14101: Cannot renew, renewal is automatic and premature (returned code is auto_too_soon)' > ); > >- $renewing_borrower_obj->autorenewal(0)->store; >+ $renewing_borrower_obj->autorenew_checkouts(0)->store; > ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_4->itemnumber ); > is( $renewokay, 0, 'No renewal before is 7, patron opted out of auto_renewal still cannot renew early' ); > is( $error, 'too_soon', 'Error is too_soon, no auto' ); >- $renewing_borrower_obj->autorenewal(1)->store; >+ $renewing_borrower_obj->autorenew_checkouts(1)->store; > > # Change policy so that loans can only be renewed exactly on due date (0 days prior to due date) > # and test automatic renewal again >@@ -722,11 +722,11 @@ subtest "CanBookBeRenewed tests" => sub { > 'Bug 14101: Cannot renew, renewal is automatic and premature, "No renewal before" = 0 (returned code is auto_too_soon)' > ); > >- $renewing_borrower_obj->autorenewal(0)->store; >+ $renewing_borrower_obj->autorenew_checkouts(0)->store; > ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_4->itemnumber ); > is( $renewokay, 0, 'No renewal before is 0, patron opted out of auto_renewal still cannot renew early' ); > is( $error, 'too_soon', 'Error is too_soon, no auto' ); >- $renewing_borrower_obj->autorenewal(1)->store; >+ $renewing_borrower_obj->autorenew_checkouts(1)->store; > > # Change policy so that loans can be renewed 99 days prior to the due date > # and test automatic renewal again >@@ -738,10 +738,10 @@ subtest "CanBookBeRenewed tests" => sub { > 'Bug 14101: Cannot renew, renewal is automatic (returned code is auto_renew)' > ); > >- $renewing_borrower_obj->autorenewal(0)->store; >+ $renewing_borrower_obj->autorenew_checkouts(0)->store; > ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_4->itemnumber ); > is( $renewokay, 1, 'No renewal before is 99, patron opted out of auto_renewal so can renew' ); >- $renewing_borrower_obj->autorenewal(1)->store; >+ $renewing_borrower_obj->autorenew_checkouts(1)->store; > > subtest "too_late_renewal / no_auto_renewal_after" => sub { > plan tests => 14; >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24476
:
97766
|
97767
|
97768
|
97769
|
97770
|
97831
|
97832
|
97833
|
97834
|
97835
|
97836
|
97923
|
97924
|
97925
|
97926
|
97927
|
97928
|
97997
|
97998
|
97999
|
98000
|
98001
|
98002
|
99793
|
99794
|
99795
|
99796
|
99797
|
99798
|
99799
|
99800
|
100022
|
100023
|
100024
|
100025
|
100026
|
100027
|
100028
|
100029
|
101385
|
101419
|
101420
|
101421
|
101422
|
101423
|
101424
|
101425
|
101426
|
101427
|
101511
|
101512
|
101513
|
101514
|
101515
|
101516
|
101517
|
101518
|
101519
|
101520
|
101521
|
101542