X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=catalogue%2Fexport.pl;h=ff02cea67f0897573b66e01e10a622b20e439e0d;hb=9a8b5003dc7dd2208fcd7ef0e2ae01f4232db17d;hp=f82250db89c31f6becbce401ce22b716db1f2f06;hpb=3948102f2ad6e5382a31a00df0c8f52def3daf58;p=koha-ffzg.git diff --git a/catalogue/export.pl b/catalogue/export.pl index f82250db89..ff02cea67f 100755 --- a/catalogue/export.pl +++ b/catalogue/export.pl @@ -1,24 +1,21 @@ #!/usr/bin/perl -use strict; -#use warnings; FIXME - Bug 2505 +use Modern::Perl; use C4::Record; -use C4::Auth; +use C4::Auth qw( get_template_and_user ); use C4::Output; -use C4::Biblio; +use C4::Biblio qw( GetMarcControlnumber ); use CGI qw ( -utf8 ); -use C4::Ris; +use C4::Ris qw( marc2ris ); -my $query = new CGI; +my $query = CGI->new; my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ template_name => "tools/export.tt", query => $query, type => "intranet", - authnotrequired => 0, flagsrequired => { catalogue => 1 }, - debug => 1, }); my $op=$query->param("op"); @@ -27,8 +24,20 @@ my $error = ''; if ($op eq "export") { my $biblionumber = $query->param("bib"); if ($biblionumber){ + my $file_id = $biblionumber; + my $file_pre = "bib-"; - my $marc = GetMarcBiblio($biblionumber, 1); + my $biblio = Koha::Biblios->find($biblionumber); + my $marc = $biblio->metadata->record({ embed_items => 1 }); + + if( C4::Context->preference('DefaultSaveRecordFileID') eq 'controlnumber' ){ + my $marcflavour = C4::Context->preference('marcflavour'); #FIXME This option is required but does not change control num behaviour + my $control_num = GetMarcControlnumber( $marc, $marcflavour ); + if( $control_num ){ + $file_id = $control_num; + $file_pre = "record-"; + } + } if ($format =~ /endnote/) { $marc = marc2endnote($marc); @@ -74,7 +83,7 @@ if ($op eq "export") { } print $query->header( -type => 'application/octet-stream', - -attachment=>"bib-$biblionumber.$format"); + -attachment=>"$file_pre$file_id.$format"); print $marc; } }