+[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Administration ›
-[% IF ( add_form ) %] Koha to MARC mapping › Connect [% tablename %].[% kohafield %] to a MARC subfield[% END %]
-[% IF ( else ) %]Koha to MARC mapping [% tagfield %][% END %]</title>
-
+<title>Koha › Administration › Koha to MARC mapping</title>
[% INCLUDE 'doc-head-close.inc' %]
+<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
</head>
+
<body id="admin_koha2marclinks" class="admin">
[% INCLUDE 'header.inc' %]
-[% INCLUDE 'cat-search.inc' %]
+[% INCLUDE 'prefs-admin-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/koha2marclinks.pl">Koha to MARC Mapping</a> › Connect [% tablename %].[% kohafield %] to a MARC subfield[% END %]
-[% IF ( else ) %]Koha to MARC mapping[% tagfield %][% END %]</div>
-[% IF ( add_form ) %]
-<div id="doc" class="yui-t7">
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> › <a href="/cgi-bin/koha/admin/koha2marclinks.pl">Koha to MARC Mapping</a></div>
-<div id="bd">
- <div id="yui-main">
- <div class="yui-g">
-[% ELSE %]
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
-[% END %]
-
-[% IF ( add_form ) %]
-<h1>Connect [% tablename %].[% kohafield %] to a MARC subfield</h1>
- <p>Choose and validate 1 MARC subfield for <strong>[% tablename %].[% kohafield %]</strong>. That will modify <b>all frameworks</b> which is usually what you need, but you have been warned.</p>
- <fieldset class="rows"><ol>
-<li><form action="[% script_name %]" method="post"> <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>000s</label>
- [% marclist0 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <label>100s</label>
- [% marclist1 %]
- <input type="hidden" name="kohafield" value="[% kohafield %]" /><input type="submit" value="OK" /> </form>
-
- </li>
- <li>
+<h1>Koha to MARC mapping</h1>
+<br/>
+<form action="/cgi-bin/koha/admin/koha2marclinks.pl" method="post" id="koha2marc">
-
- <form action="[% script_name %]" method="post"><input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>200s</label>
- [% marclist2 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>300s</label>
- [% marclist3 %] <input type="submit" value="OK" /> </form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>400s</label>
- [% marclist4 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>500s</label>
- [% marclist5 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>600s</label>
- [% marclist6 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>700s</label>
- [% marclist7 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>800s</label>
- [% marclist8 %] <input type="submit" value="OK" /></form>
-
- </li>
- <li>
-
- <form action="[% script_name %]" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <label>900s</label>
- [% marclist9 %] <input type="submit" value="OK" /></form>
-
- </li>
- </ol></fieldset>
- <fieldset class="action">
- <form action="[% script_name %]" name="Aform" method="post">
- <input type="hidden" name="op" value="add_validate" />
- <input type="hidden" name="tablename" value="[% tablename %]" />
- <input type="hidden" name="kohafield" value="[% kohafield %]" />
- <input type="hidden" name="choice" value="" />
- <input type="submit" value="Click to "Unmap"" />
- </form>
- <a class="cancel" href="/cgi-bin/koha/admin/koha2marclinks.pl">Cancel</a>
- </fieldset>
+[% IF error_add %]
+ <div class="dialog alert">Failed to add mapping for [% error_info %]</div>
[% END %]
-
-[% IF ( else ) %]
-
-<h1>Koha to MARC mapping [% tagfield %]</h1>
-<form action="[% script_name %]" method="post">
-<p>[% tablename %] <input type="submit" value="OK" /></p>
-</form>
-<table>
-<tr>
+<table id="kohafields">
+<thead><tr>
<th>Koha field</th>
<th>Tag</th>
<th>Subfield</th>
<th>Lib</th>
<th> </th>
-</tr>
+</tr></thead>
+<tbody>
[% FOREACH loo IN loop %]
-[% UNLESS ( loop.odd ) %]
-<tr class="highlight">
-[% ELSE %]
<tr>
-[% END %]
- <td><a href="[% loo.edit %]">[% loo.kohafield %]</a></td>
+ <td>[% loo.kohafield %]</td>
<td>[% loo.tagfield %]</td>
<td>[% loo.tagsubfield %]</td>
<td>[% loo.liblibrarian %]</td>
- <td><a href="[% loo.edit %]">Edit</a></td>
+ <td class="actions">
+ [% IF !loo.readonly %]
+ <a onclick="AddFld('[% loo.kohafield %]');" class="btn btn-default btn-xs"><i class="fa fa-plus"></i> Add</a>
+ [% IF loo.tagfield %] <a onclick="RemFld('[% loo.tagfield %]','[% loo.tagsubfield %]');" class="btn btn-default btn-xs"><i class="fa fa-remove"></i> Remove</a> [% END %]
+ [% END %]
+ </td>
+ </td>
</tr>
[% END %]
+</tbody>
</table>
-[% END %]
+
+<input id="remove_field" name="remove_field" type="hidden" value=""/>
+<input id="add_field" name="add_field" type="hidden" value=""/>
+
+</form>
</div>
</div>
-[% UNLESS ( add_form ) %]
+
<div class="yui-b">
[% INCLUDE 'admin-menu.inc' %]
</div>
-[% END %]
+
</div>
+
+[% MACRO jsinclude BLOCK %]
+ [% INCLUDE 'datatables.inc' %]
+ <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
+ <script type="text/javascript">
+ function AddFld(kohafield) {
+ var fieldstr = prompt( _("Adding a mapping for: ") + kohafield + ".\n" + _("Please enter field tag and subfield code, separated by a comma. (For control fields: add '@' as subfield code.)\nThe change will be applied immediately.") );
+ var temp = fieldstr.split(',');
+ if( temp.length == 2 ) {
+ $('#add_field').val( kohafield+','+fieldstr );
+ $('#koha2marc').submit();
+ } else {
+ alert( "Invalid input. Enter something like: 245,a" );
+ }
+ }
+
+ function RemFld(tagfield, subfield ) {
+ if( confirm( _("Mapping will be removed for: ") + tagfield + subfield + ".\n" + _("The change will be applied immediately." ))) {
+ $('#remove_field').val(tagfield+','+subfield);
+ $('#koha2marc').submit();
+ }
+ }
+ $(document).ready(function() {
+ $("#kohafields").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "aoColumnDefs": [
+ { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
+ ],
+ "paging": false
+ } ));
+
+ });
+ </script>
+[% END %]
[% INCLUDE 'intranet-bottom.inc' %]