This is a calatoguing plugin based on auth_finder but specific to one of our customers.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This commit is contained in:
Jean-André Santoni 2009-08-26 01:44:31 +02:00 committed by Henri-Damien LAURENT
parent 3167bf25f5
commit 91c42259be
2 changed files with 169 additions and 0 deletions

View file

@ -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;

View file

@ -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>