Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/z3950servers.tt
Magnus Enger 3f2b5d270c Bug 9497 - Make it easier to add new encodings for Z39.50 servers and add ISO 8859-1
This patch does three things:
- Makes admin/z3950servers.pl create one variable for encoding,
  not one variable for each encoding
- Makes the template create encoding options from a list
- Adds ISO 8859-1 to the list of available encodings
See the bug for a lengthier description

To test:
- Apply the patch
- Edit one Z39.50 server several times, choosing each available
  encoding in turn
- Check that for each encoding, the correct encoding is shown both in
  the list of Z39.50 servers and in the dropdown on the edit screen

Comment: Works as described, no errors.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-01-31 10:53:11 -05:00

321 lines
13 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; [% IF ( else ) %]Z39.50 servers[% END %]
[% IF ( add_form ) %] Z39.50 servers &rsaquo; [% IF ( searchfield ) %]Modify Z39.50 server [% searchfield %][% ELSE %]New Z39.50 server[% END %][% END %]
[% IF ( delete_confirm ) %]Z39.50 servers &rsaquo; Confirm deletion[% END %]
[% IF ( add_validate ) %]Z39.50 servers &rsaquo; Z39.50 server added[% END %]
[% IF ( delete_confirmed ) %]Z39.50 servers &rsaquo; Z39.50 server deleted[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( add_form ) %]
<script type="text/javascript">
//<![CDATA[
//
function isNotNull(f,noalert) {
if (f.value.length ==0) {
return false;
}
return true;
}
//
function toUC(f) {
var x=f.value.toUpperCase();
f.value=x;
return true;
}
//
function isNum(v,maybenull) {
var n = new Number(v.value);
if (isNaN(n)) {
return false;
}
if (maybenull==0 && v.value=='') {
return false;
}
return true;
}
//
function isDate(f) {
var t = Date.parse(f.value);
if (isNaN(t)) {
return false;
}
}
//
function Check(f) {
var ok=1;
var _alertString="";
var alertString2;
if (f.searchfield.value.length==0) {_alertString += "- target name missing\n";
}
if (f.host.value.length==0) {_alertString += "- host missing\n";
}
if (f.port.value.length==0) {_alertString += "- port missing\n";
}
if (f.db.value.length==0) {_alertString += "- database missing\n";
}
if (isNaN(f.port.value)) {_alertString += "- port must be a number\n";
}
if (isNaN(f.rank.value)) {_alertString += "- rank must be a number\n";
}
if (_alertString.length==0) {document.Aform.submit();
} else {alertString2 = "Form not submitted because of the following problem(s)\n";alertString2 += "------------------------------------------------------------------------------------\n\n";alertString2 += _alertString;alert(alertString2);
}
}
//]]>
</script>
[% END %]
</head>
<body id="admin_z3950servers" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'z3950-admin-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF ( else ) %]Z39.50 servers[% END %]
[% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 servers</a> &rsaquo; [% IF ( searchfield ) %]Modify Z39.50 server [% searchfield %][% ELSE %]New Z39.50 server[% END %][% END %]
[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 servers</a> &rsaquo; Confirm deletion[% END %]
[% IF ( add_validate ) %] <a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 servers</a> &rsaquo; Z39.50 server added[% END %]
[% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/z3950servers.pl">Z39.50 servers</a> &rsaquo; Z39.50 server deleted[% END %]</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( add_form ) %]
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="add_validate" />
[% IF ( searchfield ) %]
<h1>Modify Z39.50 server</h1>
[% ELSE %]
<h1>New Z39.50 server</h1>
[% END %]
<fieldset class="rows">
<ol>[% IF ( searchfield ) %]
<li><span class="label">Z39.50 server: </span> <input type="hidden" name="searchfield" value="[% searchfield %]" />[% searchfield %]</li>
[% ELSE %]
<li><label for="searchfield">Z39.50 server: </label> <input type="text" name="searchfield" id="searchfield" size="65" maxlength="100" onblur="toUC(this)" /></li>
[% END %]
<li><label for="host">Hostname: </label> <input type="text" name="host" id="host" size="30" value="[% host %]" />
</li>
<li><label for="port">Port: </label> <input type="text" name="port" id="port" size="5" value="[% port %]" onblur="isNum(this)" />
</li>
<li><label for="db">Database: </label> <input type="text" name="db" id="db" value="[% db %]" />
</li>
<li><label for="userid">Userid: </label> <input type="text" name="userid" id="userid" value="[% userid %]" />
</li>
<li><label for="password">Password: </label> <input type="text" name="password" id="password" value="[% password %]" />
</li>
<li><label for="checked">Checked (searched by default): </label>
[% IF ( checked ) %]
<input type="checkbox" name="checked" id="checked" value="1" checked="checked" />
[% ELSE %]
<input type="checkbox" name="checked" id="checked" value="1" />
[% END %]
</li>
<li><label for="rank">Rank (display order): </label> <input type="text" name="rank" id="rank" size="4" value="[% rank %]" onblur="isNum(this)" />
</li>
<li><label for="syntax">Syntax (z3950 can send<br /> records in various format. Choose one): </label>
<select name="syntax">
[% IF ( syntaxUNIMARC ) %]
<option value="UNIMARC" selected="selected">UNIMARC</option>
[% ELSE %]
<option value="UNIMARC">UNIMARC</option>
[% END %]
[% IF ( syntaxINTERMARC ) %]
<option value="INTERMARC" selected="selected">INTERMARC</option>
[% ELSE %]
<option value="INTERMARC">INTERMARC</option>
[% END %]
[% IF ( syntaxCCF ) %]
<option value="CCF" selected="selected">CCF</option>
[% ELSE %]
<option value="CCF">CCF</option>
[% END %]
[% IF ( syntaxUSMARC ) %]
<option value="USMARC" selected="selected">MARC21/USMARC</option>
[% ELSE %]
<option value="USMARC">MARC21/USMARC</option>
[% END %]
[% IF ( syntaxUKMARC ) %]
<option value="UKMARC" selected="selected">UKMARC</option>
[% ELSE %]
<option value="UKMARC">UKMARC</option>
[% END %]
[% IF ( syntaxNORMARC ) %]
<option value="NORMARC" selected="selected">NORMARC</option>
[% ELSE %]
<option value="NORMARC">NORMARC</option>
[% END %]
[% IF ( syntaxLIBRISMARC ) %]
<option value="LIBRISMARC" selected="selected">LIBRISMARC</option>
[% ELSE %]
<option value="LIBRISMARC">LIBRISMARC</option>
[% END %]
[% IF ( syntaxDANMARC ) %]
<option value="DANMARC" selected="selected">DANMARC</option>
[% ELSE %]
<option value="DANMARC">DANMARC</option>
[% END %]
[% IF ( syntaxFINMARC ) %]
<option value="FINMARC" selected="selected">FINMARC</option>
[% ELSE %]
<option value="FINMARC">FINMARC</option>
[% END %]
[% IF ( syntaxCANMARC ) %]
<option value="CANMARC" selected="selected">CANMARC</option>
[% ELSE %]
<option value="CANMARC">CANMARC</option>
[% END %]
[% IF ( syntaxSBN ) %]
<option value="SBN" selected="selected">SBN</option>
[% ELSE %]
<option value="SBN">SBN</option>
[% END %]
[% IF ( syntaxPICAMARC ) %]
<option value="PICAMARC" selected="selected">PICAMARC</option>
[% ELSE %]
<option value="PICAMARC">PICAMARC</option>
[% END %]
[% IF ( syntaxAUSMARC ) %]
<option value="AUSMARC" selected="selected">AUSMARC</option>
[% ELSE %]
<option value="AUSMARC">AUSMARC</option>
[% END %]
[% IF ( syntaxIBERMARC ) %]
<option value="IBERMARC" selected="selected">IBERMARC</option>
[% ELSE %]
<option value="IBERMARC">IBERMARC</option>
[% END %]
[% IF ( syntaxCATMARC ) %]
<option value="CATMARC" selected="selected">CATMARC</option>
[% ELSE %]
<option value="CATMARC">CATMARC</option>
[% END %]
[% IF ( syntaxMALMARC ) %]
<option value="MALMARC" selected="selected">MALMARC</option>
[% ELSE %]
<option value="MALMARC">MALMARC</option>
[% END %]
</select>
</li>
<li><label for="encoding">Encoding (z3950 can send<br /> records in various encodings. Choose one): </label>
<select name="encoding">
[% FOREACH enc IN [ 'utf8' 'EUC-KR' 'ISO_5426' 'ISO_6937' 'ISO_8859-1' 'MARC-8' ] %]
[% IF ( encoding == enc ) %]
<option value="[% enc %]" selected="selected">[% enc %]</option>
[% ELSE %]
<option value="[% enc %]">[% enc %]</option>
[% END %]
[% END %]
</select>
</li>
<li><label for="timeout">Timeout (0 its like not set): </label>
<input type="text" name="timeout" id="timeout" size="4" value="[% timeout %]" onblur="isNum(this)" /> seconds
</li>
</ol>
</fieldset>
<fieldset class="action"><input type="button" value="Save" onclick="Check(this.form)" /> <a class="cancel" href="/cgi-bin/koha/admin/z3950servers.pl">Cancel</a></fieldset>
</form>
[% END %]
[% IF ( add_validate ) %]
<h3>Z39.50 server added</h3>
<form action="[% script_name %]" method="post">
<input type="submit" value="OK" />
</form>
[% END %]
[% IF ( delete_confirm ) %]
[% reqsel %]
<h3>Confirm deletion of server [% searchfield %]</h3>
<ul>
<li><strong>Target: </strong> [% searchfield %]</li>
<li><strong>Hostname: </strong>[% host %]</li>
<li><strong>Port: </strong>[% port %]</li>
<li><strong>Database: </strong>[% db %]</li>
<li><strong>Userid: </strong>[% userid %]</li>
<li><strong>Password: </strong>[% password %]</li>
<li><strong>Checked: </strong>[% checked %]</li>
<li><strong>Rank: </strong>[% rank %]</li>
<li><strong>Syntax: </strong>[% syntax %]</li>
<li><strong>Encoding: </strong>[% encoding %]</li>
<li><strong>Timeout: </strong>[% timeout %]</li>
</ul> <form action="[% script_name %]" method="post"><input type="hidden" name="op" value="delete_confirmed" /><input type="hidden" name="searchfield" value="[% searchfield %]" /><input type="submit" value="Delete this Server" /></form> <form action="[% script_name %]" method="post"><input type="submit" value="Do Not Delete" /></form>
[% END %]
[% IF ( delete_confirmed ) %]
<h3>Z39.50 server deleted</h3>
<form action="[% script_name %]" method="post">
<input type="submit" value="OK" />
</form>
[% END %]
[% IF ( else ) %]
<div id="toolbar">
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
<script type="text/javascript">
//<![CDATA[
// prepare DOM for YUI Toolbar
$(document).ready(function() {
yuiToolbar();
[% IF ( loop ) %]$.tablesorter.defaults.widgets = ['zebra'];
$("#serverst").tablesorter({
sortList: [[0,0]],
headers: { 2: {sorter:false},3: { sorter: false },4: { sorter: false },7: { sorter: false },8: { sorter: false },9: { sorter: false },10: { sorter: false }}
});[% END %]
});
// YUI Toolbar Functions
function yuiToolbar() {
new YAHOO.widget.Button("newserver");
} //]]>
</script>
<ul class="toolbar">
<li><a id="newserver" href="/cgi-bin/koha/admin/z3950servers.pl?op=add_form">New Z39.50 server</a></li>
</ul></div>
<h3>Z39.50 servers administration</h3>
[% IF ( searchfield ) %]
You searched for [% searchfield %]
[% END %]
<table id="serverst">
<thead><tr><th>Target</th><th>Hostname/Port</th><th>Database</th><th>Userid</th><th>Password</th><th>Checked</th><th>Rank</th> <th>Syntax</th><th>Encoding</th><th>Timeout</th><th colspan="2">&nbsp;</th>
</tr></thead>
<tbody>[% FOREACH loo IN loop %]
[% UNLESS ( loop.odd ) %]
<tr class="highlight">
[% ELSE %]
<tr>
[% END %]
<td><a href="[% loo.script_name %]?op=add_form&amp;searchfield=[% loo.name |url %]">[% loo.name %]</a></td><td>[% loo.host %]:[% loo.port %]</td><td>[% loo.db %]</td><td>[% loo.userid %]</td><td>[% loo.password %]</td><td>[% IF ( loo.checked ) %]Yes[% ELSE %]No[% END %]</td><td>[% loo.rank %]</td> <td>[% loo.syntax %]</td><td>[% loo.encoding %]</td><td>[% loo.timeout %]</td><td><a href="[% loo.script_name %]?op=add_form&amp;searchfield=[% loo.name |url %]">Edit</a></td><td><a href="[% loo.script_name %]?op=delete_confirm&amp;searchfield=[% loo.name |url %]">Delete</a></td> </tr>
[% END %]</tbody>
</table>
[% IF ( offsetgtzero ) %]<form action="[% script_name %]" method="get">
<input type="hidden" name="offset" value="[% prevpage %]" />
<input type="submit" value="&lt;&lt; Previous">
</form>[% END %]
[% IF ( ltcount ) %]<form action="[% script_name %]" method="get">
<input type="hidden" name="offset" value="[% nextpage %]" />
<input type="submit" value="Next &gt;&gt;" />
</form> [% END %]
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'admin-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]