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 &rsaquo; Catalog &rsaquo; 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>
+               &rsaquo; <a href="/cgi-bin/koha/catalogue/search.pl">Catalog</a>
+               &rsaquo; 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

Reply via email to