From fc80b8aa03940142699a6b09067a3c3305a6a680 Mon Sep 17 00:00:00 2001 From: Emmi Takkinen Date: Fri, 28 May 2021 11:04:16 +0300 Subject: [PATCH 5/5] Bug 23415: Rename OPACFineNoRenewals OPACFineNoRenewals no longer applies just to OPAC. To avoid confusion rename it as FineNoRenewals and also rename all occurences in code. To test, confirm everything works as described in previous test plans. Also prove t/db_dependent/Circulation.t --- C4/Circulation.pm | 2 +- circ/renew.pl | 2 +- .../Bug_23415-Rename_OPACFineNoRenewals.perl | 12 ++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 6 +++--- .../en/modules/admin/preferences/circulation.pref | 7 ++++++- .../prog/en/modules/admin/preferences/opac.pref | 8 +------- .../prog/en/modules/circ/circulation.tt | 2 +- .../prog/en/modules/members/moremember.tt | 2 +- opac/opac-user.pl | 2 +- t/db_dependent/Circulation.t | 12 ++++++------ 10 files changed, 33 insertions(+), 22 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/Bug_23415-Rename_OPACFineNoRenewals.perl diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 7b028bed0f..111b0011cf 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -4486,7 +4486,7 @@ sub _CanBookBeAutoRenewed { } if ( C4::Context->preference('OPACFineNoRenewalsBlockAutoRenew') ) { - my $fine_no_renewals = C4::Context->preference("OPACFineNoRenewals"); + my $fine_no_renewals = C4::Context->preference("FineNoRenewals"); my $amountoutstanding = C4::Context->preference("OPACFineNoRenewalsIncludeCredit") ? $patron->account->balance diff --git a/circ/renew.pl b/circ/renew.pl index f26badc86c..14666ab59c 100755 --- a/circ/renew.pl +++ b/circ/renew.pl @@ -67,7 +67,7 @@ if ($barcode) { $borrower = $issue->patron(); my $patron = Koha::Patrons->find($borrower->borrowernumber); $balance = $patron->account->balance; - my $amountlimit = C4::Context->preference("OPACFineNoRenewals"); + my $amountlimit = C4::Context->preference("FineNoRenewals"); if ( ( $borrower->debarred() || q{} ) lt dt_from_string()->ymd() ) { my $can_renew; diff --git a/installer/data/mysql/atomicupdate/Bug_23415-Rename_OPACFineNoRenewals.perl b/installer/data/mysql/atomicupdate/Bug_23415-Rename_OPACFineNoRenewals.perl new file mode 100644 index 0000000000..9094806172 --- /dev/null +++ b/installer/data/mysql/atomicupdate/Bug_23415-Rename_OPACFineNoRenewals.perl @@ -0,0 +1,12 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + # you can use $dbh here like: + # $dbh->do( "ALTER TABLE biblio ADD COLUMN badtaste int" ); + + $dbh->do(q{ + UPDATE systempreferences SET variable = "FineNoRenewals" where variable = "OPACFineNoRenewals"; + }); + + # Always end with this (adjust the bug info) + NewVersion( $DBversion, 23415, "Rename OPACFineNoRenewals"); +} diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 98d1fa443d..fe458fab53 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -237,6 +237,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('FinesIncludeGracePeriod','1',NULL,'If enabled, fines calculations will include the grace period.','YesNo'), ('FinesLog','1',NULL,'If ON, log fines','YesNo'), ('finesMode','off','off|production','Choose the fines mode, \'off\' (no charges), \'production\' (accrue overdue fines). Requires accruefines cronjob.','Choice'), +('FineNoRenewals','100','','Fine limit above which user or staff cannot renew items','Integer'), ('FRBRizeEditions','0','','If ON, Koha will query one or more ISBN web services for associated ISBNs and display an Editions tab on the details pages','YesNo'), ('GDPR_Policy','','Enforced|Permissive|Disabled','General Data Protection Regulation - policy', 'Choice'), ('GenerateAuthorityField667', 'Machine generated authority record', NULL, 'When BiblioAddsAuthorities and AutoCreateAuthorities are enabled, use this as a default value for the 667$a field of MARC21 records', 'free'), @@ -360,7 +361,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('maxItemsInSearchResults','20',NULL,'Specify the maximum number of items to display for each result on a page of results','free'), ('MaxOpenSuggestions','',NULL,'Limit the number of open suggestions a patron can have at once','Integer'), ('maxoutstanding','5','','maximum amount withstanding to be able make holds','Integer'), -('OPACFineNoRenewalsBlockAutoRenew','0','','Block/Allow auto renewals if the patron owe more than OPACFineNoRenewals','YesNo'), +('OPACFineNoRenewalsBlockAutoRenew','0','','Block/Allow auto renewals if the patron owe more than FineNoRenewals','YesNo'), ('maxRecordsForFacets','20',NULL,NULL,'Integer'), ('maxreserves','50','','Define maximum number of holds a patron can place','Integer'), ('MaxSearchResultsItemsPerRecordStatusCheck','20','','Max number of items per record for which to check transit and hold status','Integer'), @@ -430,7 +431,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpacExportOptions','bibtex,dc,marcxml,marc8,utf8,marcstd,mods,ris,isbd','','Define export options available on OPAC detail page.','multiple'), ('OPACFallback', 'prog', 'bootstrap|prog', 'Define the fallback theme for the OPAC interface.', 'Themes'), ('OpacFavicon','','','Enter a complete URL to an image to replace the default Koha favicon on the OPAC','free'), -('OPACFineNoRenewals','100','','Fine limit above which user cannot renew books via OPAC','Integer'), ('OPACFinesTab','1','','If OFF the patron fines tab in the OPAC is disabled.','YesNo'), ('OPACFRBRizeEditions','0','','If ON, the OPAC will query one or more ISBN web services for associated ISBNs and display an Editions tab on the details pages','YesNo'), ('OpacHiddenItems','','','This syspref allows to define custom rules for hiding specific items at the OPAC. See http://wiki.koha-community.org/wiki/OpacHiddenItems for more information.','Textarea'), @@ -515,7 +515,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('OpenURLResolverURL', '', NULL, 'URL of OpenURL Resolver', 'Free'), ('OpenURLText', '', NULL, 'Text of OpenURL links (or image title if OpenURLImageLocation is defined)', 'Free'), ('OpenURLImageLocation', '', NULL, 'Location of image for OpenURL links', 'Free'), -('OPACFineNoRenewalsIncludeCredits','1',NULL,'If enabled the value specified in OPACFineNoRenewals should include any unapplied account credits in the calculation','YesNo'), +('OPACFineNoRenewalsIncludeCredits','1',NULL,'If enabled the value specified in FineNoRenewals should include any unapplied account credits in the calculation','YesNo'), ('OPACShowOpenURL', '0', NULL, 'Enable display of OpenURL links in OPAC search results and detail page', 'YesNo'), ('OPACOpenURLItemTypes', '', NULL, 'Show the OpenURL link only for these item types', 'Free'), ('OrderPdfFormat','pdfformat::layout3pages','Controls what script is used for printing (basketgroups)','','free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index 488ee65ba1..3c17462cde 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -534,7 +534,7 @@ Circulation: 0: allow - renewing of items from the staff interface and via the misc/cronjobs/automatic_renewals.pl cronjob. - - - If a patron owes more than the value of OPACFineNoRenewals, + - If a patron owes more than the value of FineNoRenewals, - pref: OPACFineNoRenewalsBlockAutoRenew choices: 1: block @@ -566,6 +566,11 @@ Circulation: - "
ccode: [NEWFIC,NULL,DVD]" - "
itype: [NEWBK,\"\"]" - "
NOTE: The word 'NULL' can be used to block renewal on undefined fields, while an empty string \"\" will block on an empty (but defined) field." + - + - Only allow patrons or staff to renew items if patron has less than + - pref: FineNoRenewals + class: currency + - [% local_currency %] in fines (leave blank to disable). Checkin policy: - - pref: TrapHoldsOnOrder diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref index 091a0aa88d..049b14f2b4 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -593,18 +593,12 @@ OPAC: none: "NULL" opacrenew: "'OPACRenew'" - as branchcode to store in the statistics table. - - - - Only allow patrons to renew their own books on the OPAC if they have less than - - pref: OPACFineNoRenewals - class: currency - - '[% local_currency %] in fines (leave blank to disable). - -
NOTE: If set, confirmation dialog is shown when renewing for patron with fines from staff interface.' - - pref: OPACFineNoRenewalsIncludeCredits choices: 1: Include 0: "Don't include" - - outstanding/unapplied credits when applying the OPACFineNoRenewals rule to patrons. + - outstanding/unapplied credits when applying the FineNoRenewals rule to patrons. - - pref: OPACViewOthersSuggestions choices: 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 d82fc0ecf0..fcd9fe3df6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -1076,7 +1076,7 @@ [% UNLESS ( patron.borrowernumber ) %]window.onload=function(){ $('#findborrower').focus(); };[% END %] - var amountlimit = "[% Koha.Preference('OPACFineNoRenewals') | html %]"; + var amountlimit = "[% Koha.Preference('FineNoRenewals') | html %]"; var fines = "[% fines | html %]"; var MSG_CONFRIM_RENEW = _("The patron has a debt of %s.\n Are you sure you want to renew checkout(s)?").format(fines); 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 ca81da2b84..c5532987a6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -876,7 +876,7 @@ table_settings_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'issues-table', 'json' ) | $raw %] table_settings_relatives_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'relatives-issues-table', 'json' ) | $raw %] - var amountlimit = "[% Koha.Preference('OPACFineNoRenewals') | html %]"; + var amountlimit = "[% Koha.Preference('FineNoRenewals') | html %]"; var fines = "[% fines | html %]"; var MSG_CONFRIM_RENEW = _("The patron has a debt of %s.\n Are you sure you want to renew checkout(s)?").format(fines); diff --git a/opac/opac-user.pl b/opac/opac-user.pl index ba45ddd237..9217b56444 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -125,7 +125,7 @@ if ( $userdebarred || $borr->{'gonenoaddress'} || $borr->{'lost'} ) { } my $amountoutstanding = $patron->account->balance; -my $no_renewal_amt = C4::Context->preference( 'OPACFineNoRenewals' ); +my $no_renewal_amt = C4::Context->preference( 'FineNoRenewals' ); $no_renewal_amt = undef unless looks_like_number( $no_renewal_amt ); my $amountoutstandingfornewal = C4::Context->preference("OPACFineNoRenewalsIncludeCredit") diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t index 3c69d684a0..e5d547fc60 100755 --- a/t/db_dependent/Circulation.t +++ b/t/db_dependent/Circulation.t @@ -1072,7 +1072,7 @@ subtest "CanBookBeRenewed tests" => sub { } ); C4::Context->set_preference('OPACFineNoRenewalsBlockAutoRenew','1'); - C4::Context->set_preference('OPACFineNoRenewals','10'); + C4::Context->set_preference('FineNoRenewals','10'); C4::Context->set_preference('OPACFineNoRenewalsIncludeCredit','1'); my $fines_amount = 5; my $account = Koha::Account->new({patron_id => $renewing_borrowernumber}); @@ -1088,7 +1088,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_to_auto_renew->itemnumber ); is( $renewokay, 0, 'Do not renew, renewal is automatic' ); - is( $error, 'auto_renew', 'Can auto renew, OPACFineNoRenewals=10, patron has 5' ); + is( $error, 'auto_renew', 'Can auto renew, FineNoRenewals=10, patron has 5' ); $account->add_debit( { @@ -1102,7 +1102,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_to_auto_renew->itemnumber ); is( $renewokay, 0, 'Do not renew, renewal is automatic' ); - is( $error, 'auto_renew', 'Can auto renew, OPACFineNoRenewals=10, patron has 10' ); + is( $error, 'auto_renew', 'Can auto renew, FineNoRenewals=10, patron has 10' ); $account->add_debit( { @@ -1116,7 +1116,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_to_auto_renew->itemnumber ); is( $renewokay, 0, 'Do not renew, renewal is automatic' ); - is( $error, 'auto_too_much_oweing', 'Cannot auto renew, OPACFineNoRenewals=10, patron has 15' ); + is( $error, 'auto_too_much_oweing', 'Cannot auto renew, FineNoRenewals=10, patron has 15' ); $account->add_credit( { @@ -1129,13 +1129,13 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_to_auto_renew->itemnumber ); is( $renewokay, 0, 'Do not renew, renewal is automatic' ); - is( $error, 'auto_renew', 'Can auto renew, OPACFineNoRenewals=10, OPACFineNoRenewalsIncludeCredit=1, patron has 15 debt, 5 credit' ); + is( $error, 'auto_renew', 'Can auto renew, FineNoRenewals=10, OPACFineNoRenewalsIncludeCredit=1, patron has 15 debt, 5 credit' ); C4::Context->set_preference('OPACFineNoRenewalsIncludeCredit','0'); ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrowernumber, $item_to_auto_renew->itemnumber ); is( $renewokay, 0, 'Do not renew, renewal is automatic' ); - is( $error, 'auto_too_much_oweing', 'Cannot auto renew, OPACFineNoRenewals=10, OPACFineNoRenewalsIncludeCredit=1, patron has 15 debt, 5 credit' ); + is( $error, 'auto_too_much_oweing', 'Cannot auto renew, FineNoRenewals=10, OPACFineNoRenewalsIncludeCredit=1, patron has 15 debt, 5 credit' ); $dbh->do('DELETE FROM accountlines WHERE borrowernumber=?', undef, $renewing_borrowernumber); C4::Context->set_preference('OPACFineNoRenewalsIncludeCredit','1'); -- 2.25.1