Lines 21-26
use Modern::Perl;
Link Here
|
21 |
|
21 |
|
22 |
use Module::Load::Conditional qw(can_load); |
22 |
use Module::Load::Conditional qw(can_load); |
23 |
use Module::Pluggable search_path => ['Koha::Plugin'], except => qr/::Edifact(|::Line|::Message|::Order|::Segment|::Transport)$/; |
23 |
use Module::Pluggable search_path => ['Koha::Plugin'], except => qr/::Edifact(|::Line|::Message|::Order|::Segment|::Transport)$/; |
|
|
24 |
use List::MoreUtils qw( none ); |
24 |
|
25 |
|
25 |
use C4::Context; |
26 |
use C4::Context; |
26 |
use C4::Output; |
27 |
use C4::Output; |
Lines 76-92
sub GetPlugins {
Link Here
|
76 |
my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} }); |
77 |
my $plugin = $plugin_class->new({ enable_plugins => $self->{'enable_plugins'} }); |
77 |
|
78 |
|
78 |
# Limit results by method or metadata |
79 |
# Limit results by method or metadata |
79 |
my $ok = 1; |
|
|
80 |
next if $method && !$plugin->can($method); |
80 |
next if $method && !$plugin->can($method); |
81 |
my $plugin_metadata = $plugin->get_metadata; |
81 |
my $plugin_metadata = $plugin->get_metadata; |
82 |
foreach my $key ( keys %$req_metadata ) { |
82 |
next if $plugin_metadata |
83 |
if( !$plugin_metadata->{$key} || |
83 |
and %$req_metadata |
84 |
$plugin_metadata->{$key} ne $req_metadata->{$key} ) { |
84 |
and none { exists $plugin_metadata->{$_} and $plugin_metadata->{$_} eq $req_metadata->{$_} } keys %$req_metadata; |
85 |
$ok = 0; |
85 |
push @plugins, $plugin; |
86 |
last; |
|
|
87 |
} |
88 |
} |
89 |
push( @plugins, $plugin ) if $ok; |
90 |
} |
86 |
} |
91 |
} |
87 |
} |
92 |
return @plugins; |
88 |
return @plugins; |
93 |
- |
|
|