#!/usr/bin/perl # This file is part of Koha. # # Copyright (C) 2013 BibLibre # # 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. # # You should have received a copy of the GNU General Public License # along with Koha; if not, see . use Modern::Perl; use CGI; use C4::Auth qw( get_template_and_user ); use C4::Biblio qw( ApplyMarcOverlayRules ); use C4::MarcModificationTemplates qw( ModifyRecordWithTemplate ); use C4::Output qw( output_html_with_http_headers ); use Koha::MetadataRecord::Authority; use Koha::Patrons; my $query = CGI->new(); my $record_id = $query->param('record_id'); my $record_type = $query->param('record_type') || 'biblio'; my $overlay_context = $query->param('overlay_context'); my $mmtid = $query->param('mmtid'); # Marc modification template id my $record; if ( $record_type eq 'biblio' ) { my $biblio = Koha::Biblios->find( $record_id ); $record = $biblio->metadata->record; } else { my $authority = Koha::MetadataRecord::Authority->get_from_authid( $record_id ); $record = $authority->record; } my ( $template, $loggedinuser, $cookie ) = get_template_and_user({ template_name => "catalogue/showmarc.tt", query => $query, type => "intranet", }); if ($mmtid) { ModifyRecordWithTemplate( $mmtid, $record ); if ( $record_type eq 'biblio' && C4::Context->preference('MARCOverlayRules') && $overlay_context ) { my $logged_in_user = Koha::Patrons->find($loggedinuser); $record = ApplyMarcOverlayRules( { biblionumber => $record_id, record => $record, overlay_context => { source => $overlay_context, categorycode => $logged_in_user->categorycode, userid => $logged_in_user->userid }, } ); } } $template->param( MARC_FORMATTED => $record->as_formatted ); output_html_with_http_headers $query, $cookie, $template->output;