X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=svc%2Fnew_bib;h=32e6fb10ae779c9a407de81b9dcf630fa1b72d62;hb=cffb47ac5d4634c45cdf12f7d2c5972fc7867c26;hp=435d8378313ccb94cca644e5dc5078e4ff15f927;hpb=8648c21ddf975d9c8b589c8457e73e511077a05b;p=koha.git diff --git a/svc/new_bib b/svc/new_bib index 435d837831..32e6fb10ae 100755 --- a/svc/new_bib +++ b/svc/new_bib @@ -4,24 +4,23 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . # -use strict; -use warnings; +use Modern::Perl; -use CGI; +use CGI qw ( -utf8 ); use C4::Auth qw/check_api_auth/; use C4::Biblio; use C4::Items; @@ -51,7 +50,8 @@ sub add_bib { my $result = {}; my $inxml = $query->param('POSTDATA'); - print $query->header(-type => 'text/xml'); + my $frameworkcode = $query->url_param('frameworkcode') // ''; + print $query->header(-type => 'text/xml', -charset => 'utf-8'); my $marcflavour = C4::Context->preference('marcflavour') || 'MARC21'; my $record = eval {MARC::Record::new_from_xml( $inxml, "utf8", $marcflavour)}; @@ -74,8 +74,8 @@ sub add_bib { foreach my $field ( $record->field($itemtag) ) { $record->delete_field($field); } - my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, '' ); - my $new_record = GetMarcBiblio($biblionumber); + my ( $biblionumber, $biblioitemnumber ) = AddBiblio( $record, $frameworkcode ); + my $new_record = GetMarcBiblio({ biblionumber => $biblionumber }); if ( $query->url_param('items') ) { foreach my $field ( $fullrecord->field($itemtag) ) { my $one_item_record = $new_record->clone(); @@ -84,8 +84,9 @@ sub add_bib { } } - $new_record = - GetMarcBiblio( $biblionumber, $query->url_param('items') ); + $new_record = GetMarcBiblio({ + biblionumber => $biblionumber, + embed_items => scalar $query->url_param('items') }); $result->{'status'} = "ok"; $result->{'biblionumber'} = $biblionumber; my $xml = $new_record->as_xml_record();