@@ -, +, @@ --- C4/Circulation.pm | 2 +- circ/renew.pl | 2 +- installer/data/mysql/atomicupdate/bug_23415.pl | 16 ++++++++++++++++ installer/data/mysql/mandatory/sysprefs.sql | 5 +++-- .../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, 37 insertions(+), 21 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_23415.pl --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -4601,7 +4601,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 --- a/circ/renew.pl +++ a/circ/renew.pl @@ -67,7 +67,7 @@ if ($barcode) { $patron = $checkout->patron; $balance = $patron->account->balance; - my $amountlimit = C4::Context->preference("OPACFineNoRenewals"); + my $amountlimit = C4::Context->preference("FineNoRenewals"); if ( ( $patron->is_debarred || q{} ) lt dt_from_string()->ymd() ) { my $can_renew; --- a/installer/data/mysql/atomicupdate/bug_23415.pl +++ a/installer/data/mysql/atomicupdate/bug_23415.pl @@ -0,0 +1,16 @@ +use Modern::Perl; + +return { + bug_number => "23415", + description => "Rename OPACFineNoRenewals", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{ + UPDATE systempreferences SET variable = "FineNoRenewals", explanation = "Fine limit above which user or staff cannot renew items" WHERE variable = "OPACFineNoRenewals"; + }); + + say $out "Updated system preference 'OPACFineNoRenewals'"; + }, +}; --- a/installer/data/mysql/mandatory/sysprefs.sql +++ a/installer/data/mysql/mandatory/sysprefs.sql @@ -271,6 +271,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'), ('ForceLibrarySelection','0',NULL,'Force staff to select a library when logging into the staff interface.','YesNo'), ('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'), ('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'), @@ -474,8 +475,8 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('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'), -('OPACFineNoRenewalsBlockAutoRenew','0','','Block/Allow auto renewals if the patron owe more than OPACFineNoRenewals','YesNo'), -('OPACFineNoRenewalsIncludeCredits','1',NULL,'If enabled the value specified in OPACFineNoRenewals should include any unapplied account credits in the calculation','YesNo'), +('OPACFineNoRenewalsBlockAutoRenew','0','','Block/Allow auto renewals if the patron owe more than FineNoRenewals','YesNo'), +('OPACFineNoRenewalsIncludeCredits','1',NULL,'If enabled the value specified in FineNoRenewals should include any unapplied account credits in the calculation','YesNo'), ('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'), --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -513,7 +513,7 @@ Circulation: blockitem: block renewing only for this item. block: block renewing for all the patron's items. - - - 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 @@ -571,6 +571,11 @@ Circulation: - This is a list of value pairs. When an item is checked out, if the not for loan value on the left matches the items not for loan value - "it will be updated to the right-hand value. For example, '-1: 0' will cause an item that was set to 'Ordered' to now be available for loan." - Each pair of values should be on a separate line. + - + - 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 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref @@ -591,18 +591,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 charges (leave blank to disable).' - -
NOTE: If set, confirmation dialog is shown when renewing for patron with charges 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: OpacHiddenItems type: textarea --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -1006,7 +1006,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); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -730,7 +730,7 @@ table_settings_relatives_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'relatives-issues-table', 'json' ) | $raw %] table_settings_holds_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'holds-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); --- a/opac/opac-user.pl +++ a/opac/opac-user.pl @@ -127,7 +127,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") --- a/t/db_dependent/Circulation.t +++ a/t/db_dependent/Circulation.t @@ -1184,7 +1184,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}); @@ -1200,7 +1200,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrower_obj, $issue ); is( $renewokay, 1, 'Renew, even if 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( { @@ -1214,7 +1214,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrower_obj, $issue ); is( $renewokay, 1, 'Renew, even if 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( { @@ -1228,7 +1228,7 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrower_obj, $issue ); 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( { @@ -1241,13 +1241,13 @@ subtest "CanBookBeRenewed tests" => sub { ( $renewokay, $error ) = CanBookBeRenewed( $renewing_borrower_obj, $issue ); is( $renewokay, 1, 'Renew, even if 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_borrower_obj, $issue ); 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'); --