Bugzilla – Attachment 141878 Details for
Bug 29012
Some rules are not saved when left blank while editing a 'rule' line in smart-rules.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Revert "Bug 29012: Add default values for blank circulation rules that weren't saved to the database"
Revert-Bug-29012-Add-default-values-for-blank-circ.patch (text/plain), 9.10 KB, created by
Kevin Carnes
on 2022-10-14 12:24:58 UTC
(
hide
)
Description:
Revert "Bug 29012: Add default values for blank circulation rules that weren't saved to the database"
Filename:
MIME Type:
Creator:
Kevin Carnes
Created:
2022-10-14 12:24:58 UTC
Size:
9.10 KB
patch
obsolete
>From 06f030be95bc18f0881a405f7ed99e3e2e3f47de Mon Sep 17 00:00:00 2001 >From: Kevin Carnes <kevin.carnes@ub.lu.se> >Date: Fri, 14 Oct 2022 14:21:10 +0200 >Subject: [PATCH] Revert "Bug 29012: Add default values for blank circulation > rules that weren't saved to the database" > >This reverts commit cf397ac3bcbc93a508954c836d1cb90a84fb2ac6. >--- > C4/Circulation.pm | 4 +-- > admin/smart-rules.pl | 11 ++++--- > .../data/mysql/atomicupdate/bug_29012.pl | 33 ------------------- > installer/onboarding.pl | 8 ++--- > .../prog/en/modules/admin/smart-rules.tt | 8 +---- > 5 files changed, 13 insertions(+), 51 deletions(-) > delete mode 100755 installer/data/mysql/atomicupdate/bug_29012.pl > >diff --git a/C4/Circulation.pm b/C4/Circulation.pm >index d34769f5ed..7aa71b28ae 100644 >--- a/C4/Circulation.pm >+++ b/C4/Circulation.pm >@@ -2885,7 +2885,7 @@ sub CanBookBeRenewed { > > return ( 0, "too_unseen" ) > if C4::Context->preference('UnseenRenewals') && >- looks_like_number($issuing_rule->{unseen_renewals_allowed}) && >+ $issuing_rule->{unseen_renewals_allowed} && > $issuing_rule->{unseen_renewals_allowed} <= $issue->unseen_renewals; > > my $overduesblockrenewing = C4::Context->preference('OverduesBlockRenewing'); >@@ -3099,7 +3099,7 @@ sub AddRenewal { > rule_name => 'unseen_renewals_allowed' > } > ); >- if (!$seen && $rule && looks_like_number($rule->rule_value)) { >+ if (!$seen && $rule && $rule->rule_value) { > $unseen_renewals++; > } else { > # If the renewal is seen, unseen should revert to 0 >diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl >index eae23d0e1e..b8d7846223 100755 >--- a/admin/smart-rules.pl >+++ b/admin/smart-rules.pl >@@ -263,7 +263,7 @@ elsif ($op eq 'add') { > my $maxissueqty = strip_non_numeric( scalar $input->param('maxissueqty') ); > my $maxonsiteissueqty = strip_non_numeric( scalar $input->param('maxonsiteissueqty') ); > my $renewalsallowed = $input->param('renewalsallowed'); >- my $unseen_renewals_allowed = strip_non_numeric( scalar $input->param('unseen_renewals_allowed') ) // ''; >+ my $unseen_renewals_allowed = $input->param('unseen_renewals_allowed'); > my $renewalperiod = $input->param('renewalperiod'); > my $norenewalbefore = $input->param('norenewalbefore'); > $norenewalbefore = '' if $norenewalbefore =~ /^\s*$/; >@@ -277,20 +277,21 @@ elsif ($op eq 'add') { > my $holds_per_record = strip_non_numeric( scalar $input->param('holds_per_record') ); > my $holds_per_day = strip_non_numeric( scalar $input->param('holds_per_day') ); > my $onshelfholds = $input->param('onshelfholds') || 0; >- my $issuelength = $input->param('issuelength') || 0; >+ my $issuelength = $input->param('issuelength'); >+ $issuelength = $issuelength eq q{} ? undef : $issuelength; > my $daysmode = $input->param('daysmode'); > my $lengthunit = $input->param('lengthunit'); >- my $hardduedate = $input->param('hardduedate') || ''; >+ my $hardduedate = $input->param('hardduedate') || undef; > $hardduedate = eval { dt_from_string( scalar $hardduedate ) } if ( $hardduedate ); > $hardduedate = output_pref( { dt => $hardduedate, dateonly => 1, dateformat => 'iso' } ) if ( $hardduedate ); > my $hardduedatecompare = $input->param('hardduedatecompare'); >- my $rentaldiscount = $input->param('rentaldiscount') || 0; >+ my $rentaldiscount = $input->param('rentaldiscount'); > my $opacitemholds = $input->param('opacitemholds') || 0; > my $article_requests = $input->param('article_requests') || 'no'; > my $overduefinescap = $input->param('overduefinescap') || ''; > my $cap_fine_to_replacement_price = ($input->param('cap_fine_to_replacement_price') || '') eq 'on'; > my $note = $input->param('note'); >- my $decreaseloanholds = $input->param('decreaseloanholds') || ''; >+ my $decreaseloanholds = $input->param('decreaseloanholds') || undef; > my $recalls_allowed = $input->param('recalls_allowed'); > my $recalls_per_record = $input->param('recalls_per_record'); > my $on_shelf_recalls = $input->param('on_shelf_recalls'); >diff --git a/installer/data/mysql/atomicupdate/bug_29012.pl b/installer/data/mysql/atomicupdate/bug_29012.pl >deleted file mode 100755 >index 26aac4b686..0000000000 >--- a/installer/data/mysql/atomicupdate/bug_29012.pl >+++ /dev/null >@@ -1,33 +0,0 @@ >-use Modern::Perl; >- >-return { >- bug_number => "29012", >- description => "Some rules are not saved when left blank while editing a 'rule' line in smart-rules.pl", >- up => sub { >- my ($args) = @_; >- my ($dbh, $out) = @$args{qw(dbh out)}; >- my %default_rule_values = ( >- issuelength => 0, >- hardduedate => '', >- unseenrenewalsallowed => '', >- rentaldiscount => 0, >- decreaseloanholds => '', >- ); >- while (my ($rule_name, $rule_value) = each (%default_rule_values)) { >- $dbh->do(q{ >- INSERT IGNORE INTO circulation_rules (branchcode, categorycode, itemtype, rule_name, rule_value) >- SELECT branchcode, categorycode, itemtype, ?, ? FROM circulation_rules cr >- WHERE NOT EXISTS ( >- SELECT * FROM circulation_rules cr2 >- WHERE >- cr2.rule_name=? >- AND ( (cr2.branchcode=cr.branchcode) OR ( ISNULL(cr2.branchcode) AND ISNULL(cr.branchcode) ) ) >- AND ( (cr2.categorycode=cr.categorycode) OR ( ISNULL(cr2.categorycode) AND ISNULL(cr.categorycode) ) ) >- AND ( (cr2.itemtype=cr.itemtype) OR ( ISNULL(cr2.itemtype) AND ISNULL(cr.itemtype) ) ) >- ) >- GROUP BY branchcode, categorycode, itemtype >- }, undef, $rule_name, $rule_value, $rule_name); >- } >- say $out "Add default values for blank circulation rules that weren't saved to the database"; >- }, >-} >diff --git a/installer/onboarding.pl b/installer/onboarding.pl >index 68a1345df1..5073f64664 100755 >--- a/installer/onboarding.pl >+++ b/installer/onboarding.pl >@@ -230,7 +230,7 @@ if ( $step == 5 ) { > my $categorycode = $input->param('categorycode'); > my $itemtype = $input->param('itemtype'); > my $maxissueqty = $input->param('maxissueqty'); >- my $issuelength = $input->param('issuelength') || 0; >+ my $issuelength = $input->param('issuelength'); > my $lengthunit = $input->param('lengthunit'); > my $renewalsallowed = $input->param('renewalsallowed'); > my $renewalperiod = $input->param('renewalperiod'); >@@ -240,6 +240,7 @@ if ( $step == 5 ) { > my $onshelfholds = $input->param('onshelfholds') || 0; > $maxissueqty =~ s/\s//g; > $maxissueqty = undef if $maxissueqty !~ /^\d+/; >+ $issuelength = $issuelength eq q{} ? undef : $issuelength; > > my $params = { > branchcode => $branchcode, >@@ -273,9 +274,8 @@ if ( $step == 5 ) { > overduefinescap => "", > rentaldiscount => 0, > reservesallowed => $reservesallowed, >- suspension_chargeperiod => 1, >- decreaseloanholds => "", >- unseen_renewals_allowed => "", >+ suspension_chargeperiod => undef, >+ decreaseloanholds => undef, > recalls_allowed => undef, > recalls_per_record => undef, > on_shelf_recalls => undef, >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 64eedf37b3..03b9b672bb 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 >@@ -308,13 +308,7 @@ > <td>[% suspension_chargeperiod | html %]</td> > <td>[% renewalsallowed | html %]</td> > [% IF Koha.Preference('UnseenRenewals') %] >- <td> >- [% IF unseenrenewalsallowed.defined && unseenrenewalsallowed != '' %] >- [% unseenrenewalsallowed | html %] >- [% ELSE %] >- <span>Unlimited</span> >- [% END %] >- </td> >+ <td>[% unseenrenewalsallowed | html %]</td> > [% END %] > <td>[% renewalperiod | html %]</td> > <td>[% norenewalbefore | html %]</td> >-- >2.25.1
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 29012
:
128205
|
128206
|
131043
|
131053
|
131054
|
135194
|
135998
|
138140
|
138309
|
138310
|
141869
|
141876
|
141877
|
141878
|
141879
|
141951
|
141952
|
142248
|
142249