From d4ac587f06a382b605eb752adaa89b2b4ea2e83e 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 --- 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 d23eb094b6..7e582da37e 100644 --- a/Koha/Template/Plugin/Biblio.pm +++ b/Koha/Template/Plugin/Biblio.pm @@ -63,6 +63,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 c7fbc727e8..3667a96903 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 1b5dd336da..43fa5883c6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt @@ -570,7 +570,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.30.2