Bug 26063: Use Koha::Plugins->call for some other hooks
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 29 Jul 2020 13:11:24 +0000 (15:11 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 30 Jul 2020 15:44:23 +0000 (17:44 +0200)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

C4/Biblio.pm
Koha/Item.pm
opac/opac-detail.pl
opac/opac-search.pl

index 41bdcc5..f62798d 100644 (file)
@@ -3446,26 +3446,15 @@ sub _after_biblio_action_hooks {
     my $biblio_id = $args->{biblio_id};
     my $action    = $args->{action};
 
-    if ( C4::Context->config("enable_plugins") ) {
-
-        my @plugins = Koha::Plugins->new->GetPlugins({
-            method => 'after_biblio_action',
-        });
-
-        if (@plugins) {
-
-            my $biblio = Koha::Biblios->find( $biblio_id );
-
-            foreach my $plugin ( @plugins ) {
-                try {
-                    $plugin->after_biblio_action({ action => $action, biblio => $biblio, biblio_id => $biblio_id });
-                }
-                catch {
-                    warn "$_";
-                };
-            }
+    my $biblio = Koha::Biblios->find( $biblio_id );
+    Koha::Plugins->call(
+        'after_biblio_action',
+        {
+            action    => $action,
+            biblio    => $biblio,
+            biblio_id => $biblio_id,
         }
-    }
+    );
 }
 
 __END__
index 9560a56..29406b5 100644 (file)
@@ -832,24 +832,14 @@ sub _after_item_action_hooks {
 
     my $action = $params->{action};
 
-    if ( C4::Context->config("enable_plugins") ) {
-
-        my @plugins = Koha::Plugins->new->GetPlugins({
-            method => 'after_item_action',
-        });
-
-        if (@plugins) {
-
-            foreach my $plugin ( @plugins ) {
-                try {
-                    $plugin->after_item_action({ action => $action, item => $self, item_id => $self->itemnumber });
-                }
-                catch {
-                    warn "$_";
-                };
-            }
+    Koha::Plugins->call(
+        'after_item_action',
+        {
+            action  => $action,
+            item    => $self,
+            item_id => $self->itemnumber,
         }
-    }
+    );
 }
 
 =head3 _type
index 66a12d8..94a935f 100755 (executable)
@@ -185,29 +185,17 @@ if ( $xslfile ) {
         anonymous_session => ($borrowernumber) ? 0 : 1
     };
 
-    if ( C4::Context->config("enable_plugins") ) {
-
-        my @plugins = Koha::Plugins->new->GetPlugins({
-            method => 'opac_detail_xslt_variables',
-        });
-
-        if (@plugins) {
-            foreach my $plugin ( @plugins ) {
-                try {
-                    my $plugin_variables = $plugin->opac_detail_xslt_variables(
-                        {
-                            biblio_id  => $biblionumber,
-                            lang       => $lang,
-                            patron_id  => $borrowernumber
-                        }
-                    );
-                    $variables = { %$variables, %$plugin_variables };
-                }
-                catch {
-                    warn "$_";
-                };
-            }
+    my @plugin_responses = Koha::Plugins->call(
+        'opac_detail_xslt_variables',
+        {
+            biblio_id => $biblionumber,
+            lang      => $lang,
+            patron_id => $borrowernumber
+
         }
+    );
+    for my $plugin_variables ( @plugin_responses ) {
+        $variables = { %$variables, %$plugin_variables };
     }
 
     $template->param(
index 3a512f8..70e140b 100755 (executable)
@@ -649,28 +649,16 @@ if (C4::Context->preference('OpacHiddenItemsExceptions')){
 }
 
 my $variables = { anonymous_session => ($borrowernumber) ? 0 : 1 };
-if ( C4::Context->config("enable_plugins") ) {
-
-    my @plugins = Koha::Plugins->new->GetPlugins({
-        method => 'opac_results_xslt_variables',
-    });
-
-    if (@plugins) {
-        foreach my $plugin ( @plugins ) {
-            try {
-                my $plugin_variables = $plugin->opac_results_xslt_variables(
-                    {
-                        lang       => $lang,
-                        patron_id  => $borrowernumber
-                    }
-                );
-                $variables = { %$variables, %$plugin_variables };
-            }
-            catch {
-                warn "$_";
-            };
-        }
+
+my @plugin_responses = Koha::Plugins->call(
+    'opac_results_xslt_variables',
+    {
+        lang       => $lang,
+        patron_id  => $borrowernumber
     }
+);
+for my $plugin_variables ( @plugin_responses ) {
+    $variables = { %$variables, %$plugin_variables };
 }
 
 for (my $i=0;$i<@servers;$i++) {