@@ -, +, @@ --- cataloguing/addbiblio.pl | 30 ++++++++++++++++++++++ .../prog/en/modules/cataloguing/addbiblio.tt | 10 ++++++++ 2 files changed, 40 insertions(+) --- a/cataloguing/addbiblio.pl +++ a/cataloguing/addbiblio.pl @@ -41,6 +41,8 @@ use Koha::ItemTypes; use Koha::Libraries; use Koha::BiblioFrameworks; +use Koha::Plugins; +use Koha::Plugins::Handler; use Date::Calc qw(Today); use MARC::File::USMARC; @@ -827,6 +829,34 @@ if ( $op eq "addbiblio" ) { # getting html input my @params = $input->multi_param(); $record = TransformHtmlToMarc( $input, 1 ); + + if ( $record ne '-1' && C4::Context->preference('UseKohaPlugins') && + C4::Context->config('enable_plugins') ) { + my @formaterrors; + my @plugins = Koha::Plugins->new()->GetPlugins({ + method => 'addbiblio_check_record' + }); + foreach my $plugin (@plugins) { + push(@formaterrors, @{$plugin->addbiblio_check_record($record)}); + } + if (scalar(@formaterrors) > 0) { + $template->param( + marc_format_errors => \@formaterrors, + title => $record->title, + popup => $mode, + frameworkcode => $frameworkcode, + itemtype => $frameworkcode, + borrowernumber => $loggedinuser, + biblionumber => $biblionumber, + tab => scalar $input->param('tab') + ); + $template->{'VARS'}->{'searchid'} = $searchid; + build_tabs ($template, $record, $dbh,$encoding,$input); + output_html_with_http_headers $input, $cookie, $template->output; + exit; + } + } + # check for a duplicate my ( $duplicatebiblionumber, $duplicatetitle ); if ( !$is_a_modif ) { --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt @@ -650,6 +650,16 @@ [% END %] + [% IF marc_format_errors %] +
+ +
+ [% END %] + [% IF ( popup ) %] [% END %] --