Bug 6536: Add a form for SRU Field mapping
This form allows you to enter the match between the standard names of
the Z3950 search fields and the field names for a specific SRU server.
This patch only adds the form; it will be used in a subsequent patch.
Test plan:
Not needed, but you can call the form by constructing a URL like:
cgi-bin/koha/admin/sru_modmapping.pl?mapping=title=1,author=2
You should see the form with title and author filled.
Note that you cannot save the information yet.
Signed-off-by: Giuseppe Angilella <giuseppe.angilella@ct.infn.it>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
4e1aaa4d58
commit
88f26fa907
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# Copyright 2014 Rijksmuseum
|
||||
#
|
||||
# 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 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 <http://www.gnu.org/licenses>.
|
||||
|
||||
use Modern::Perl;
|
||||
use CGI;
|
||||
use C4::Auth;
|
||||
use C4::Output;
|
||||
|
||||
# Initialize CGI, template
|
||||
|
||||
my $input = new CGI;
|
||||
my $mapstr = $input->param('mapping')//'';
|
||||
my ( $template, $loggedinuser, $cookie ) = get_template_and_user( {
|
||||
template_name => "admin/sru_modmapping.tt",
|
||||
query => $input,
|
||||
type => "intranet",
|
||||
authnotrequired => 0,
|
||||
});
|
||||
|
||||
# Main code: convert mapping string to hash structure and show template
|
||||
|
||||
my %map;
|
||||
foreach my $singlemap ( split ',', $mapstr ) {
|
||||
my @temp = split '=', $singlemap;
|
||||
$map{ $temp[0] } = $temp[1] if @temp>1;
|
||||
}
|
||||
$template->param( mapping => \%map );
|
||||
output_html_with_http_headers $input, $cookie, $template->output;
|
||||
|
||||
# End of main code
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
[% INCLUDE 'doc-head-open.inc' %]
|
||||
<title>Koha › SRU Search fields mapping</title>
|
||||
[% INCLUDE 'doc-head-close.inc' %]
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(document).ready(function() {
|
||||
$("#form01").submit(function(event) {
|
||||
if(window.opener) {
|
||||
var newmap=allInputs();
|
||||
window.opener.$('#show_sru_fields').val(newmap);
|
||||
window.close();
|
||||
} else {
|
||||
// In this case not called as a popup. Just do nothing.
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
});
|
||||
function allInputs () {
|
||||
var aInput= new Array();
|
||||
$("form :input").each(function() {
|
||||
if( this.id && $(this).val() ) {
|
||||
aInput.push(this.id+'='+$(this).val());
|
||||
}
|
||||
});
|
||||
return aInput.join(',');
|
||||
}
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="sru_modmapping">
|
||||
<div id="custom-doc" class="yui-t7">
|
||||
|
||||
<div id="bd">
|
||||
<h1>Modify SRU Search fields mapping</h1>
|
||||
<form id="form01" method="post">
|
||||
<fieldset class="rows">
|
||||
<legend>Legend </legend>
|
||||
<ul>
|
||||
<li>
|
||||
<label for="Title">Title: </label>
|
||||
<input id="title" type="text" value="[% mapping.title %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="ISBN">ISBN: </label>
|
||||
<input id="isbn" type="text" value="[% mapping.isbn %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="LCCall">LC Call No: </label>
|
||||
<input id="lccall" type="text" value="[% mapping.lccall %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Control number">Control no: </label>
|
||||
<input id="controlnumber" type="text" value="[% mapping.controlnumber %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Any">Any: </label>
|
||||
<input id="srchany" type="text" value="[% mapping.srchany %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Author">Author: </label>
|
||||
<input id="author" type="text" value="[% mapping.author %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="ISSN">ISSN: </label>
|
||||
<input id="issn" type="text" value="[% mapping.issn %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Subject">Subject: </label>
|
||||
<input id="subject" type="text" value="[% mapping.subject %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Dewey">Dewey: </label>
|
||||
<input id="dewey" type="text" value="[% mapping.dewey %]" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="Standard ID">Standard ID: </label>
|
||||
<input id="stdid" type="text" value="[% mapping.stdid %]" />
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</fieldset>
|
||||
<fieldset class="action">
|
||||
<input type="submit" value="Save" class="submit" />
|
||||
<a class="close cancel" href="#">Cancel</a>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
[% INCLUDE 'intranet-bottom.inc' %]
|
||||
Loading…
Reference in New Issue