From 1a780ddcf0afc801483c5d8ed681dd1f7f678d15 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 12 Jan 2024 09:41:21 +0100 Subject: [PATCH] Bug 35783: Replace TT plugin's method Biblio::RecallsCount We can use biblio.recalls.search( completed => 0 ).count instead. Test plan: 1. Go to the biblio detail view, click on the different entries in the menu on the left. Confirm that the "Recalls" tab always has the correct number of current recalls display in the parenthesis. 2. Run a search and confirm that the number of current recalls are still displayed for each result. Signed-off-by: David Nind Signed-off-by: Kyle M Hall Signed-off-by: Katrin Fischer --- Koha/Template/Plugin/Biblio.pm | 1 + .../data/mysql/atomicupdate/bug_35783.pl | 25 +++++++++++++++++++ .../prog/en/includes/biblio-view-menu.inc | 2 +- .../prog/en/modules/catalogue/results.tt | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_35783.pl diff --git a/Koha/Template/Plugin/Biblio.pm b/Koha/Template/Plugin/Biblio.pm index e339263b9c..b8f38a61f4 100644 --- a/Koha/Template/Plugin/Biblio.pm +++ b/Koha/Template/Plugin/Biblio.pm @@ -61,6 +61,7 @@ sub CanArticleRequest { return $biblio ? $biblio->can_article_request( $borrower ) : 0; } +# Do not use RecallsCount, it is deprecated and will be removed in a future release. sub RecallsCount { my ( $self, $biblionumber ) = @_; diff --git a/installer/data/mysql/atomicupdate/bug_35783.pl b/installer/data/mysql/atomicupdate/bug_35783.pl new file mode 100755 index 0000000000..0fd7d9be5e --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_35783.pl @@ -0,0 +1,25 @@ +use Modern::Perl; + +return { + bug_number => "35873", + description => "Biblio.RecallsCount is deprecated", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + # Do you stuffs here + my ($count) = $dbh->selectrow_array( + q{ + SELECT COUNT(*) + FROM letter + WHERE content LIKE "%Biblio.RecallsCount%"; + } + ); + + if ($count) { + say $out "WARNING - Biblio.RecallsCount is used in at least one notice template"; + say $out "It is deprecated and will be remove in a future version of Koha."; + say $out "Replace it with biblio.recalls.search( completed => 0 ).count instead"; + } + }, +}; diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc index dc1617e4a3..bac3667c3d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/biblio-view-menu.inc @@ -130,7 +130,7 @@ [%- ELSE -%]
  • [%- END -%] - Recalls ([% Biblio.RecallsCount( biblio_object_id ) | html %]) + Recalls ([% biblio.recalls.search( completed => 0 ).count | html %])
  • [%- END -%] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt index 64479b3e44..e09aeeb072 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt @@ -566,7 +566,7 @@ [% END %] [% END # /IF SEARCH_RESULT.norequests %] [% IF Koha.Preference('UseRecalls') and CAN_user_recalls %] - | Recalls ([% Biblio.RecallsCount( SEARCH_RESULT.biblionumber ) | html %]) + | Recalls ([% SEARCH_RESULT.biblio_object.recalls.search( completed => 0 ).count | html %]) [% END %] [% IF Koha.Preference('intranetbookbag') == 1 %] -- 2.39.5