From 64907280514db807fc9cb80bb5af84c05ccc2e15 Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Fri, 27 Mar 2026 21:58:03 +0000 Subject: [PATCH] Bug 33758: Add a parameter to use the intranet_catalog_biblio_enhancements_toolbar_button Plugin hook This patch adds a parameter to call the method intranet_catalog_biblio_enhancements_toolbar_button with a biblionumber in the page catalogue/detail.pl. Modification of cat-toolbar.inc to display new buttons correctly. To test : 1. Apply the patch 2. Take a plugin who implements the method intranet_catalog_biblio_enhancements_toolbar_button 3. Check if the parameter biblionumber is passed correctly at this method 4. Create the new button in HTML in the plugin method (button must be like the ones that are in the toolbar of the page detail.pl) 5. Go to the page in browser and check if the new button is displayed Signed-off-by: Roman Dolny Signed-off-by: Kyle M Hall Signed-off-by: Kyle M Hall Signed-off-by: Pedro Amorim --- .../intranet-tmpl/prog/en/includes/cat-toolbar.inc | 2 +- t/db_dependent/Koha/Plugins/Plugins.t | 10 ++++++---- t/lib/plugins/Koha/Plugin/Test.pm | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc index 77a61e0a2d..79b37349d3 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc @@ -317,7 +317,7 @@ [% END %] [% FOREACH p IN plugins %] - [% p.intranet_catalog_biblio_enhancements_toolbar_button | $raw %] + [% p.intranet_catalog_biblio_enhancements_toolbar_button({ biblionumber => biblionumber }) | $raw %] [% END %] diff --git a/t/db_dependent/Koha/Plugins/Plugins.t b/t/db_dependent/Koha/Plugins/Plugins.t index c4547218d2..49777fd839 100755 --- a/t/db_dependent/Koha/Plugins/Plugins.t +++ b/t/db_dependent/Koha/Plugins/Plugins.t @@ -397,7 +397,8 @@ subtest 'Koha::Plugin::Test' => sub { ok( can_load( modules => { "Koha::Plugin::Test" => undef } ), 'Test can_load' ); - my $plugin = Koha::Plugin::Test->new( { enable_plugins => 1, cgi => CGI->new } ); + my $plugin = Koha::Plugin::Test->new( { enable_plugins => 1, cgi => CGI->new } ); + my $biblionumber = 1; isa_ok( $plugin, "Koha::Plugin::Test", 'Test plugin class' ); isa_ok( $plugin, "Koha::Plugins::Base", 'Test plugin parent class' ); @@ -406,9 +407,10 @@ subtest 'Koha::Plugin::Test' => sub { ok( $plugin->can('tool'), 'Test plugin can tool' ); ok( $plugin->can('to_marc'), 'Test plugin can to_marc' ); ok( $plugin->can('intranet_catalog_biblio_enhancements'), 'Test plugin can intranet_catalog_biblio_enhancements' ); - ok( - $plugin->can('intranet_catalog_biblio_enhancements_toolbar_button'), - 'Test plugin can intranet_catalog_biblio_enhancements_toolbar_button' + is( + $plugin->intranet_catalog_biblio_enhancements_toolbar_button( { biblionumber => $biblionumber } ), + $biblionumber, + 'Test plugin can intranet_catalog_biblio_enhancements_toolbar_button with biblionumber parameter' ); ok( $plugin->can('opac_online_payment'), 'Test plugin can opac_online_payment' ); ok( $plugin->can('after_hold_create'), 'Test plugin can after_hold_create' ); diff --git a/t/lib/plugins/Koha/Plugin/Test.pm b/t/lib/plugins/Koha/Plugin/Test.pm index 0d9ad568c3..df990c3d7e 100644 --- a/t/lib/plugins/Koha/Plugin/Test.pm +++ b/t/lib/plugins/Koha/Plugin/Test.pm @@ -55,8 +55,9 @@ sub to_marc { } sub intranet_catalog_biblio_enhancements_toolbar_button { - my ( $self, $args ) = @_; - return "Koha::Plugin::Test::intranet_catalog_biblio_enhancements_toolbar_button"; + my ( $self, $params ) = @_; + my $biblionumber = $params->{biblionumber}; + return $biblionumber; } sub intranet_catalog_biblio_enhancements {