From: Rick Welykochy <[email protected]> New detail view: labeled MARC
New bib record view in the staff interface that displays the MARC record in a single page. Featured sponsored by MassCat. Signed-off-by: Galen Charlton <[email protected]> --- catalogue/labeledMARCdetail.pl | 114 ++++++++++++++++++++ .../en/modules/catalogue/labeledMARCdetail.tmpl | 59 ++++++++++ 2 files changed, 173 insertions(+), 0 deletions(-) create mode 100755 catalogue/labeledMARCdetail.pl create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tmpl diff --git a/catalogue/labeledMARCdetail.pl b/catalogue/labeledMARCdetail.pl new file mode 100755 index 0000000..2e2cc80 --- /dev/null +++ b/catalogue/labeledMARCdetail.pl @@ -0,0 +1,114 @@ +#!/usr/bin/perl + +# Copyright 2000-2002 Katipo Communications +# +# 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 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., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use warnings; +use CGI; +use MARC::Record; +use C4::Auth; +use C4::Context; +use C4::Output; +use C4::Biblio; +use C4::Search; # enabled_staff_search_views + +my $query = new CGI; +my $dbh = C4::Context->dbh; +my $biblionumber = $query->param('biblionumber'); +my $frameworkcode = $query->param('frameworkcode'); +$frameworkcode = GetFrameworkCode( $biblionumber ) unless ($frameworkcode); +my $popup = + $query->param('popup') + ; # if set to 1, then don't insert links, it's just to show the biblio + +my $tagslib = GetMarcStructure(1,$frameworkcode); +my $record = GetMarcBiblio($biblionumber); +my $biblio = GetBiblioData($biblionumber); +# open template +my ( $template, $loggedinuser, $cookie ) = get_template_and_user( + { + template_name => "catalogue/labeledMARCdetail.tmpl", + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => { catalogue => 1 }, + debug => 1, + } +); + +$template->param( count => 1, bibliotitle => $biblio->{title} ); + +#Getting the list of all frameworks +my $queryfwk = + $dbh->prepare("select frameworktext, frameworkcode from biblio_framework"); +$queryfwk->execute; +my %select_fwk; +my @select_fwk; +my $curfwk; +push @select_fwk, "Default"; +$select_fwk{"Default"} = "Default"; + +while ( my ( $description, $fwk ) = $queryfwk->fetchrow ) { + push @select_fwk, $fwk; + $select_fwk{$fwk} = $description; +} +$curfwk=$frameworkcode; +my $framework=CGI::scrolling_list( -name => 'Frameworks', + -id => 'Frameworks', + -default => $curfwk, + -OnChange => 'Changefwk(this);', + -values => \...@select_fwk, + -labels => \%select_fwk, + -size => 1, + -multiple => 0 ); +$template->param(framework => $framework); + +my @marc_data; +my $prevlabel = ''; +for my $field ($record->fields) +{ + my $tag = $field->tag; + next if ! exists $tagslib->{$tag}->{lib}; + my $label = $tagslib->{$tag}->{lib}; + if ($label eq $prevlabel) + { + $label = ''; + } + else + { + $prevlabel = $label; + } + my $value = $tag < 10 + ? $field->data + : join ' ', map { $_->[1] } $field->subfields; + push @marc_data, { + label => $label, + value => $value, + }; +} + +$template->param ( + marc_data => \...@marc_data, + biblionumber => $biblionumber, + popup => $popup, + labeledmarcview => 1, + z3950_search_params => C4::Search::z3950_search_args($biblio), + C4::Search::enabled_staff_search_views, +); + +output_html_with_http_headers $query, $cookie, $template->output; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tmpl new file mode 100644 index 0000000..523744c --- /dev/null +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/labeledMARCdetail.tmpl @@ -0,0 +1,59 @@ +<!-- TMPL_INCLUDE NAME="doc-head-open.inc" --> + + <title>Koha › Catalog › Labeled MARC Details for <!-- TMPL_VAR NAME="bibliotitle" --></title> + + <!-- TMPL_INCLUDE NAME="doc-head-close.inc" --> + + <script type="text/javascript"> + //<![CDATA[ + function Changefwk(FwkList) + { + var fwk = FwkList.options[FwkList.selectedIndex].value; + window.location = "labeledMARCdetail.pl?biblionumber=<!--TMPL_VAR Name="biblionumber"-->&frameworkcode="+fwk; + } + //]]> + </script> +</head> + +<body> + <!-- TMPL_INCLUDE NAME="header.inc" --> + <!-- TMPL_INCLUDE NAME="cat-search.inc" --> + + <div id="breadcrumbs"> + <a href="/cgi-bin/koha/mainpage.pl">Home</a> + › <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a> + › MARC Details for <i><!-- TMPL_VAR NAME="bibliotitle" --></i> + </div> + + <div id="doc3" class="yui-t2"> + <div id="bd"> + <div id="yui-main"> + <div class="yui-b"> + + <!-- TMPL_INCLUDE NAME="cat-toolbar.inc" --> + + <!-- TMPL_UNLESS name="popup" --> + <h1>Labeled MARC biblio : <!-- TMPL_VAR NAME="biblionumber" --> ( <!-- TMPL_VAR NAME="bibliotitle" --> )</h1> + <!-- /TMPL_UNLESS --> + <p><b>With Framework :<!--TMPL_VAR Name="framework" --></b></p> + <!-- div id="bibliotabs" class="toptabs numbered" --> + <div> + <table class="labeledmarc-table"> + <!-- TMPL_LOOP NAME="marc_data" --> + <tr> + <td class="labeledmarc-label"><!-- TMPL_VAR NAME="label" --></td> + <td class="labeledmarc-value"><!-- TMPL_VAR NAME="value" --></td> + </tr> + <!-- /TMPL_LOOP --> + </table> + </div> + </div> + </div> + <div class="yui-b"> + + <!-- TMPL_INCLUDE NAME="biblio-view-menu.inc" --> + + </div> + </div> + </div> + <!-- TMPL_INCLUDE NAME="intranet-bottom.inc" --> -- 1.5.6.5 _______________________________________________ Koha-patches mailing list [email protected] http://lists.koha.org/mailman/listinfo/koha-patches
