[Koha-patches] [PATCH] This is a calatoguing plugin based on auth_finder but specific to one of our customers.

Henri-Damien LAURENT henridamien.laurent at biblibre.com
Wed Aug 26 01:44:31 CEST 2009


From: Jean-André Santoni <jeanandre.santoni at biblibre.com>

---
 cataloguing/value_builder/unimarc_field_686a.pl    |   92 ++++++++++++++++++++
 .../value_builder/unimarc_field_686a.tmpl          |   77 ++++++++++++++++
 2 files changed, 169 insertions(+), 0 deletions(-)
 create mode 100644 cataloguing/value_builder/unimarc_field_686a.pl
 create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_686a.tmpl

diff --git a/cataloguing/value_builder/unimarc_field_686a.pl b/cataloguing/value_builder/unimarc_field_686a.pl
new file mode 100644
index 0000000..8d04df9
--- /dev/null
+++ b/cataloguing/value_builder/unimarc_field_686a.pl
@@ -0,0 +1,92 @@
+#!/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 C4::Auth;
+use CGI;
+use C4::Context;
+
+use C4::Search;
+use C4::Output;
+
+=head1 NAME
+
+plugin unimarc_field_686a
+
+=head1 SYNOPSIS
+
+This plug-in deals with unimarc field 686a (
+
+=head1 DESCRIPTION
+
+=head1 FUNCTIONS
+
+=over 2
+
+=cut
+
+sub plugin_javascript {
+my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+my $function_name= $field_number;
+my $res  = "
+<script>
+function Focus$function_name(index) {
+	return 1;
+}
+
+function Blur$function_name(subfield_managed) {
+	return 1;
+}
+
+function Clic$function_name(subfield_managed) {
+	defaultvalue=document.getElementById(\"$field_number\").value;
+	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_686a.pl&result=\"+defaultvalue+\"&index=$field_number\",\"value builder\",'width=700,height=600,toolbar=false,scrollbars=yes');
+
+}
+</script>
+";
+
+return ($function_name,$res);
+}
+
+sub plugin {
+my ($input) = @_;
+	my $index= $input->param('index');
+	my $index2= $input->param('index2');
+	$index2=-1 unless($index2);
+	my $result= $input->param('result');
+
+	my $dbh = C4::Context->dbh;
+
+	my ($template, $loggedinuser, $cookie)
+	= get_template_and_user({template_name => "cataloguing/value_builder/unimarc_field_686a.tmpl",
+					query => $input,
+					type => "intranet",
+					authnotrequired => 0,
+					flagsrequired => {editcatalogue => 1},
+					debug => 1,
+					});
+	$template->param(index => $index,
+							index2 => $index2,
+							authtypecode => 'CLASSCD',
+							);
+        output_html_with_http_headers $input, $cookie, $template->output;
+}
+
+1;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_686a.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_686a.tmpl
new file mode 100644
index 0000000..8e91f15
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_686a.tmpl
@@ -0,0 +1,77 @@
+<!-- TMPL_INCLUDE NAME="doc-head-open.inc" -->
+<title>UNIMARC_Field 686a builder</title>
+<!-- TMPL_INCLUDE NAME="doc-head-close.inc" -->
+<style type="text/css">
+#custom-doc { width:51.46em;*width:50.17em;min-width:675px; margin:auto; text-align:left; }
+</style>
+</head>
+<body>
+<div id="custom-doc" class="yui-t7">
+   <div id="bd">
+	<div id="yui-main">
+	<div class="yui-b"><div class="yui-g">
+		<h1>Classification</h1>
+		<p>Please select a value in the classification. This will copy the 686$a field value from the authority record to the 686$a field of the bibliographic record.</p>
+		<form name="f" method="get" action="../authorities/auth_finder.pl">
+            <input type="hidden" name="op" value="do_search" />
+            <input type="hidden" name="type" value="intranet" />
+            <input type="hidden" name="nbstatements" value="<!-- TMPL_VAR NAME="nbstatements" -->" />
+            <input type="hidden" name="index" value="<!-- TMPL_VAR NAME="index" -->" />
+                <fieldset class="rows"><ol><li>
+                    <span class="label">Authority type</span>
+                    <!-- TMPL_VAR NAME="authtypecode" -->
+                    <input type="hidden" name="authtypecode" value="<!-- TMPL_VAR NAME="authtypecode" -->" />
+                </li>
+                <li>
+                    <label for="mainmainentry">Main entry ($a only)</label>
+                    <input type="hidden" name="marclist" value="mainmainentry" />
+                    <input type="hidden" name="and_or" value="and" />
+                    <input type="hidden" name="excluding" value="" />
+                    <select name="operator" id="mainmainentry">
+                        <option value="contains">contains</option>
+                        <option value="start">starts with</option>
+                        <option value="is">is exactly</option>
+                    </select>
+                    <input type="text" name="value_mainstr" value="<!-- TMPL_VAR ESCAPE="HTML" name="value_mainstr" -->" />
+                </li>
+                <li>
+                    <label for="mainentry">Main entry</label>
+                    <input type="hidden" name="marclist" value="mainentry" />
+                    <input type="hidden" name="and_or" value="and" />
+                    <input type="hidden" name="excluding" value="" />
+                    <select name="operator" id="mainentry">
+                        <option value="contains">contains</option>
+                        <option value="start">starts with</option>
+                        <option value="is">is exactly</option>
+                    </select>
+                    <input type="text" name="value_main" value="<!-- TMPL_VAR ESCAPE="HTML" name="value_main" -->" />
+                </li>
+                <li>
+                    <label for="marclist">Anywhere</label>
+                    <input type="hidden" name="marclist" value="" />
+                    <input type="hidden" name="and_or" value="and" />
+                    <input type="hidden" name="excluding" value="" />
+                    <select name="operator" id="marclist">
+                        <option value="contains">contains</option>
+                        <option value="start">starts with</option>
+                        <option value="is">is exactly</option>
+                    </select>
+                    <input type="text" name="value_any" value="<!-- TMPL_VAR ESCAPE="HTML" name="value_any" -->" />
+                </li>
+                <li>
+                    <label for="orderby">Sort by </label>
+                    <select name="orderby" id="orderby">
+                        <option value="NoOrder">No order</option>
+                        <option value="HeadingAsc" selected="selected">Heading Ascendant</option>
+                        <option value="HeadingDsc">Heading Descendant</option>
+                    </select>
+                </li></ol></fieldset>
+            <fieldset class="action"> <input type="submit" value="Start search" class="submit" /> <a class="cancel close" href="#">Cancel</a></fieldset>
+		</form>
+	</div>
+	</div>
+   </div>
+</div>
+</div>
+</body>
+</html>
-- 
1.6.0.4




More information about the Koha-patches mailing list