Bug 30226: Add system preference AllowSetAutomaticRenewal

To test:
1. Apply patch, restart the things, and run updatedatabase
2. Look for the system preference 'AllowSetAutomaticRenewal'.
3. To preserve current behavior the system preference should be set to allow by default.
4. Go to the circulation page and see that under 'Checkout settings' there is the option to set a particular item for auto renewal.
5. Set 'AllowSetAutomaticRenewal' to 'don't allow'.
6. Go back to the circulation page and under checkout settings you should no longer see the option to set an item for auto renewal.

Signed-off-by: Kelly mcElligott <kelly@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Lucas Gass 2022-03-04 21:06:17 +00:00 committed by Fridolin Somers
parent bd197c6456
commit 47d5e07dfc
4 changed files with 45 additions and 20 deletions

View file

@ -0,0 +1,16 @@
use Modern::Perl;
return {
bug_number => "30226",
description => "Add the system preference AllowSetAutomaticRenewal",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
# Add system preference AllowSetAutomaticRenewal
$dbh->do(q{
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type` ) VALUES('AllowSetAutomaticRenewal', '1', '|yes|no', 'Allow or Prevent staff from flagging items for autorenewal on the checkout page', 'YesNo')
});
# Finished adding system preference AllowSetAutomaticRenewal
say $out "Added system preference AllowSetAutomaticRenewal";
},
};

View file

@ -43,6 +43,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('AllowRenewalLimitOverride','0',NULL,'if ON, allows renewal limits to be overridden on the circulation screen','YesNo'),
('AllowRenewalOnHoldOverride','0',NULL,'If ON, allow items on hold to be renewed with a specified due date','YesNo'),
('AllowReturnToBranch','anywhere','anywhere|homebranch|holdingbranch|homeorholdingbranch','Where an item may be returned','Choice'),
('AllowSetAutomaticRenewal','1',NULL,'If ON, allows staff to set items for automatic renewal on the check out page','YesNo'),
('AllowStaffToSetCheckoutsVisibilityForGuarantor','0',NULL,'If enabled, library staff can set a patron''s checkouts to be visible to linked patrons from the opac.', 'YesNo'),
('AllowStaffToSetFinesVisibilityForGuarantor','0',NULL,'If enabled, library staff can set a patron''s fines to be visible to linked patrons from the opac.', 'YesNo'),
('AllowTooManyOverride','1','','If on, allow staff to override and check out items when the patron has reached the maximum number of allowed checkouts','YesNo'),

View file

@ -182,6 +182,12 @@ Circulation:
1: Don't
0: Do
- require librarians to manually confirm a checkout where the item is already checked out to another patron.
-
- pref: AllowSetAutomaticRenewal
choices:
1: Allow
0: "Don't allow"
- staff to flag items for autorenewal on the checkout page.
-
- pref: AllowTooManyOverride
choices:

View file

@ -668,31 +668,33 @@
[% END %]
[% UNLESS ( noissues ) %]
<div id="set-automatic-renewal" class="circ-setting">
[% IF NEEDSCONFIRMATION %]
[% IF auto_renew %]
[% 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"/>
[% IF Koha.Preference('AllowSetAutomaticRenewal') %]
<div id="set-automatic-renewal" class="circ-setting">
[% IF NEEDSCONFIRMATION %]
[% IF auto_renew %]
[% 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 %]
<input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" checked="checked" />
[% END %]
[% ELSE %]
<input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" checked="checked" />
<input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
[% END %]
[% ELSE %]
<input type="checkbox" name="auto_renew" id="auto_renew" value="auto_renew" disabled="disabled" />
[% 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.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"
title="Patron has opted out of auto-renewal"/>
[% END %]
[% END %]
[% ELSE %]
[% 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.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"
title="Patron has opted out of auto-renewal"/>
[% END %]
[% END %]
<label for="auto_renew">Automatic renewal</label>
</div>
<label for="auto_renew">Automatic renewal</label>
</div>
[% END %]
[% IF Koha.Preference('decreaseLoanHighHolds') %]
<div id="set_high_holds_overrride" class="circ-setting">
[% IF NEEDSCONFIRMATION %]