From e530107595e1c64a2073ff36a7fc94e07dcc8779 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 7 Feb 2018 16:10:28 -0300 Subject: [PATCH] Bug 15486: Make circ rules UI handle holds_per_day MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This patch makes the staff UI correctly handle the holds_per_day configuration. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Séverine QUEUNE Signed-off-by: Josef Moravec Signed-off-by: Nick Clemens --- admin/smart-rules.pl | 11 +++++--- .../prog/en/modules/admin/smart-rules.tt | 26 ++++++++++++++----- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index 854dcde2a6..4975254045 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -164,7 +164,10 @@ elsif ($op eq 'add') { $no_auto_renewal_after_hard_limit = eval { dt_from_string( $input->param('no_auto_renewal_after_hard_limit') ) } if ( $no_auto_renewal_after_hard_limit ); $no_auto_renewal_after_hard_limit = output_pref( { dt => $no_auto_renewal_after_hard_limit, dateonly => 1, dateformat => 'iso' } ) if ( $no_auto_renewal_after_hard_limit ); my $reservesallowed = $input->param('reservesallowed'); - my $holds_per_record = $input->param('holds_per_record'); + my $holds_per_record = $input->param('holds_per_record'); + my $holds_per_day = $input->param('holds_per_day'); + $holds_per_day =~ s/\s//g; + $holds_per_day = undef if $holds_per_day !~ /^\d+/; my $onshelfholds = $input->param('onshelfholds') || 0; $maxissueqty =~ s/\s//g; $maxissueqty = undef if $maxissueqty !~ /^\d+/; @@ -205,6 +208,7 @@ elsif ($op eq 'add') { no_auto_renewal_after_hard_limit => $no_auto_renewal_after_hard_limit, reservesallowed => $reservesallowed, holds_per_record => $holds_per_record, + holds_per_day => $holds_per_day, issuelength => $issuelength, lengthunit => $lengthunit, hardduedate => $hardduedate, @@ -613,9 +617,10 @@ my @sorted_branch_cat_rules = sort { $a->{'humancategorycode'} cmp $b->{'humanca # note undef maxissueqty so that template can deal with them foreach my $entry (@sorted_branch_cat_rules, @sorted_row_loop) { - $entry->{unlimited_maxissueqty} = 1 unless defined($entry->{maxissueqty}); + $entry->{unlimited_maxissueqty} = 1 unless defined($entry->{maxissueqty}); $entry->{unlimited_maxonsiteissueqty} = 1 unless defined($entry->{maxonsiteissueqty}); - $entry->{unlimited_max_holds} = 1 unless defined($entry->{max_holds}); + $entry->{unlimited_max_holds} = 1 unless defined($entry->{max_holds}); + $entry->{unlimited_holds_per_day} = 1 unless defined($entry->{holds_per_day}); } @sorted_row_loop = sort by_category_and_itemtype @row_loop; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt index 849ad7315a..672a55f7b3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/smart-rules.tt @@ -90,7 +90,8 @@ Automatic renewal No automatic renewal after No automatic renewal after (hard limit) - Holds allowed (count) + Holds allowed (total) + Holds allowed (daily) Holds per record (count) On shelf holds allowed Item level holds @@ -185,7 +186,13 @@ [% rule.no_auto_renewal_after | html %] [% rule.no_auto_renewal_after_hard_limit | html %] [% rule.reservesallowed | html %] - [% rule.holds_per_record | html %] + [% IF rule.unlimited_holds_per_day %] + Unlimited + [% ELSE %] + [% rule.holds_per_day | html %] + [% END %] + + [% rule.holds_per_record | html %] [% IF rule.onshelfholds == 1 %] Yes @@ -291,7 +298,8 @@
[% INCLUDE 'date-format.inc' %]
- + + "); - } else if ( i == 3 || i == 4 ) { - // If the value is not an integer for "Current checkouts allowed" or "Current on-site checkouts allowed" + } else if ( i == 3 || i == 4 || i == 24 ) { + // If the value is not an integer for + // - "Current checkouts allowed" + // - "Current on-site checkouts allowed" + // - "Holds allowed (daily)" // The value is "Unlimited" (or an equivalent translated string) // an it should be set to an empty string if( !((parseFloat(itm) == parseInt(itm)) && !isNaN(itm)) ) { -- 2.39.5