Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt
Owen Leonard 45ce7431d4 Bug 12105 - Remove duplicated plugin jquery.dataTables.columnFilter.js
This patch removes a redundant copy of the DataTables plugin
jquery.dataTables.columnFilter.js and corrects two templates.

The path to the plugin has been modified in acqui/parcel.tt:

- Go to Acquisitions and search for a vendor.
- Open the detail page for that vendor.
- Click the "Receive shipments" button.
- Select an invoice to view.
- In the table of titles, confirm that the column header search forms
  work to filter column data.

In the template for the Staged MARC management page the plugin has been
removed as it is unused. A couple of markup corrects have been made.
Confirm that table sorting is unaffected by going to Administration ->
Staged MARC management, clicking a staged MARC file, and viewing the
table of items in that batch.

There should be no more remaining instances of this path in the
templates:

[% themelang %]/lib/jquery/plugins/jquery.dataTables.columnFilter.js

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

NOTE: I believe the sort order of the Order Line column is
      strange, but unrelated to this patch. The search area
      functions (filtering, paging, page size, etc.) worked
      fine.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-23 12:41:12 +00:00

465 lines
18 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Tools &rsaquo; Manage staged MARC records
[% IF ( import_batch_id ) %]
&rsaquo; Batch [% import_batch_id %]
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript" src="[% themelang %]/js/background-job-progressbar.js"></script>
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript">
//<![CDATA[
var MSG_CONFIRM_CLEAN = _("Clear all reservoir records staged in this batch? This cannot be undone.");
$(document).ready(function(){
$("#staged-record-matching-rules select").change(function(){
var str = $(this).attr("id");
$("#reset_"+str).parent().show();
});
$("a.reset").click(function(){
var str = $(this).attr("id");
str = str.replace("reset_","")
$("#"+str+" option[selected='selected']").attr("selected","selected");
$(this).parent().hide();
});
[% IF import_batch_id %]
$("#records-table").dataTable($.extend(true, {}, dataTablesDefaults, {
"bAutoWidth": false,
"bFilter": false,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": 'batch_records_ajax.pl',
"sPaginationType": "full_numbers",
"sDom": '<"top pager"iflp>rt<"bottom pager"flp><"clear">',
"aoColumns": [
{ "mDataProp": "import_record_id" },
{ "mDataProp": "citation" },
{ "mDataProp": "status" },
{ "mDataProp": "overlay_status" },
{ "mDataProp": "match_citation" },
{ "mDataProp": "matched" },
],
"fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name": "import_batch_id", "value": [% import_batch_id %] } );
$.ajax({
'dataType': 'json',
'type': 'POST',
'url': sSource,
'data': aoData,
'success': function(json){
fnCallback(json);
}
});
},
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
[% IF ( record_type == 'auth' ) %]
var record_details_url = "/cgi-bin/koha/authorities/detail.pl?authid=";
[% ELSE %]
var record_details_url = "/cgi-bin/koha/catalogue/detail.pl?biblionumber=";
[% END %]
$('td:eq(1)', nRow).html(
'<a href="javascript:void(0)" onclick="show_marc('
+ aData['import_record_id']
+ ')">' + aData['citation'] + '</a>'
);
$('td:eq(2)', nRow).html(
aData['status'] == 'imported' ? _("Imported") :
aData['status'] == 'ignored' ? _("Ignored") :
aData['status'] == 'reverted' ? _("Reverted") :
aData['status'] == 'staged' ? _("Staged") :
aData['status'] == 'error' ? _("Error") :
aData['status']
);
$('td:eq(3)', nRow).html(
aData['overlay_status'] == 'no_match' ? _("No match") :
aData['overlay_status'] == 'match_applied' ? _("Match applied") :
aData['overlay_status'] == 'auto_match' ? _("Match found") :
aData['overlay_status']
);
if ( aData['match_id'] ) {
$('td:eq(4)', nRow).html(
[% IF ( record_type == 'auth' ) -%]
_("Matches authority ")
[%- ELSE -%]
_("Matches biblio ")
[%- END %]
+ aData['match_id']
+ " (" + _("score") + "="
+ aData['score']
+ '):' + '<a target="_blank" href="' + record_details_url
+ aData['match_id'] + '">' + aData['match_citation'] + '</a>'
);
}
$('td:eq(5)', nRow).html(
'<a target="_blank" href="' + record_details_url
+ aData['matched'] + '">' + aData['matched'] + '</a>'
);
},
}));
[% END %]
});
function show_marc( id ) {
var page = "/cgi-bin/koha/catalogue/showmarc.pl?importid=" + id;
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: 625,
width: 500,
title: _("MARC Preview")
});
$dialog.dialog('open');
}
//]]>
</script>
<style type="text/css">
#jobpanel,#jobstatus,#jobfailed { display : none; }
#jobstatus { margin:.4em; }
#jobprogress{ width:200px;height:10px;border:1px solid #666;background:url('[% interface %]/[% theme %]/img/progress.png') -300px 0px no-repeat; } span.change-status { font-style:italic; color:#666; display:none; }</style>
</head>
<body id="tools_manage-marc-import" class="tools">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
[% IF ( import_batch_id ) %]
&rsaquo;
<a href="[% script_name %]">Manage staged MARC records</a>
&rsaquo; Batch [% import_batch_id %]
[% ELSE %]
&rsaquo; Manage staged MARC records
[% END %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<h1>Manage staged MARC records
[% IF ( import_batch_id ) %]
&rsaquo; Batch [% import_batch_id %]
[% END %]
</h1>
[% IF ( label_batch_msg ) %]
[% IF ( alert ) %]
<div class="alert">
[% ELSE %]
<div class="dialog message">
[% END %]
<b><p>[% label_batch_msg %]</p></b>
</div>
[% END %]
[% IF ( did_clean ) %]
<div class="dialog message">Cleaned import batch #[% import_batch_id %]</div>
[% END %]
[% UNLESS ( batch_list ) %]
[% UNLESS ( batch_info ) %]
<div class="dialog message">
<p>No records have been staged.</p>
<p><a href="/cgi-bin/koha/tools/stage-marc-import.pl">Stage MARC records for import</a>.</p>
</div>
[% END %]
[% END %]
[% IF ( batch_info ) %]
[% IF ( can_commit ) %]
<form action="[% script_name %]" method="post">
<input type="hidden" name="op" value="redo-matching" />
<input type="hidden" name="import_batch_id" value="[% import_batch_id %]" />
<input type="hidden" name="current_matcher_id" value="[% current_matcher_id %]" />
[% END %]
[% IF ( rematch_attempted ) %]
[% IF ( rematch_failed ) %]
<div class="dialog alert">Failed to apply different matching rule</div>
[% ELSE %]
<div class="dialog message">Applied different matching rule. Number of records matched now
[% num_with_matches %]
</div>
[% END %]
[% END %]
[% IF ( changed_overlay_action ) %]
<div class="dialog message">Changed action if matching record found</div>
[% END %]
[% IF ( changed_nomatch_action ) %]
<div class="dialog message">Changed action if no match found</div>
[% END %]
[% IF ( changed_item_action ) %]
<div class="dialog message">Changed item processing option</div>
[% END %]
<fieldset class="rows" id="staged-record-matching-rules">
<ol>
<li><span class="label">File name:</span> [% file_name %]</li>
<li><span class="label">Comments:</span> [% IF ( comments ) %][% comments %][% ELSE %](none)[% END %]</li>
<li><span class="label">Type:</span> [% IF ( record_type == 'auth' ) %]Authority records[% ELSE %]Bibliographic records[% END %]</li>
<li><span class="label">Staged:</span> [% upload_timestamp %]</li>
<li><span class="label">Status:</span>
[% IF ( import_status == 'cleaned' ) %]
Cleaned
[% ELSIF ( import_status == 'imported' ) %]
Imported
[% ELSIF ( import_status == 'importing' ) %]
Importing
[% ELSIF ( import_status == 'reverted' ) %]
Reverted
[% ELSIF ( import_status == 'reverting' ) %]
Reverting
[% ELSIF ( import_status == 'staged' ) %]
Staged
[% ELSE %]
[% import_status %]
[% END %]
</li>
<li>
[% IF ( can_commit ) %]<label for="new_matcher_id">Matching rule applied:</label><select name="new_matcher_id" id="new_matcher_id">
<option value="">Do not look for matching records</option>
[% FOREACH available_matcher IN available_matchers %]
[% IF ( available_matcher.selected ) %]
<option value="[% available_matcher.matcher_id %]" selected="selected">
[% available_matcher.code %] ([% available_matcher.description %])
</option>
[% ELSE %]
<option value="[% available_matcher.matcher_id %]">
[% available_matcher.code %] ([% available_matcher.description %])
</option>
[% END %]
[% END %]
</select> <span class="change-status">Changed. <a href="#" class="reset" id="reset_new_matcher_id">Reset</a></span>[% ELSE %]<span class="label">Matching rule applied</span>[% IF ( current_matcher_id ) %]
[% current_matcher_code %] ([% current_matcher_description %])
[% ELSE %]
No matching rule in effect
[% END %][% END %]
</li>
<li>
[% IF ( can_commit ) %]
<label for="overlay_action">Action if matching record found:</label>
[% INCLUDE 'tools-overlay-action.inc' %] <span class="change-status">Changed. <a href="#" class="reset" id="reset_overlay_action">Reset</a></span>
[% ELSE %]
<span class="label">Action if matching record found:</span>
[% IF ( overlay_action == 'replace' ) %]
Replace existing record with incoming record
[% ELSIF ( overlay_action == 'create_new' ) %]
Add incoming record
[% ELSIF ( overlay_action == 'ignore' ) %]
Ignore incoming record (its items may still be processed)
[% ELSE %]
[% overlay_action %]
[% END %]
[% END %]</li>
<li>
[% IF ( can_commit ) %]
<label for="nomatch_action">Action if no match found:</label>
[% INCLUDE 'tools-nomatch-action.inc' %] <span class="change-status">Changed. <a href="#" class="reset" id="reset_nomatch_action">Reset</a></span>
[% ELSE %]
<span class="label">Action if no match found:</span>
[% IF ( nomatch_action == 'create_new' ) %]
Add incoming record
[% ELSIF ( nomatch_action == 'ignore' ) %]
Ignore incoming record (its items may still be processed)
[% ELSE %]
[% nomatch_action %]
[% END %]
[% END %]
</li>
<li>
[% IF ( can_commit ) %]
<label for="item_action">Item processing:</label>
[% INCLUDE 'tools-item-action.inc' %] <span class="change-status">Changed. <a href="#" class="reset" id="reset_item_action">Reset</a></span>
[% ELSE %]
<span class="label">Item processing:</span>
[% IF ( item_action == 'always_add' ) %]
Always add items
[% ELSIF ( item_action == 'add_only_for_matches' ) %]
Add items only if matching bib was found
[% ELSIF ( item_action == 'add_only_for_new' ) %]
Add items only if no matching bib was found
[% ELSIF ( item_action == 'ignore' ) %]
Ignore items
[% ELSE %]
[% item_action %]
[% END %]
[% END %]
</li>
</ol>
[% IF ( can_commit ) %]<fieldset class="action"><input type="submit" value="Apply different matching rules" class="button" /></fieldset></form>[% END %]
</fieldset>
<div>
[% IF ( can_commit ) %]
<form action="[% script_name %]" method="post">
<input type="hidden" name="op" value="commit-batch" />
<input type="hidden" name="runinbackground" value="" />
<input type="hidden" name="completedJobID" value="" />
<input type="hidden" name="import_batch_id" value="[% import_batch_id %]" />
<fieldset class="action">
<input type="submit" class="button" name="mainformsubmit" value="Import this batch into the catalog" onclick="return submitBackgroundJob(this.form);" />
<br/>
[% IF ( record_type != 'auth' ) %]
Add new bibliographic records into this framework:
<select name="framework" id="frameworks">
<option value="">Default</option>
[% FOREACH framework IN frameworks %]
<option value="[% framework.value %]">[% framework.label %]</option>
[% END %]
</select>
[% END %]
</fieldset>
</form>
<div id="jobpanel"><div id="jobstatus">Job progress: <div id="jobprogress"></div> <span id="jobprogresspercent">0</span>%</div>
<div id="jobfailed"></div></div>
[% END %]
[% IF ( can_revert ) %]
<form action="[% script_name %]" method="post">
<input type="hidden" name="op" value="revert-batch" />
<input type="hidden" name="runinbackground" value="" />
<input type="hidden" name="completedJobID" value="" />
<input type="hidden" name="import_batch_id" value="[% import_batch_id %]" />
<fieldset class="action"><input type="submit" class="button" name="mainformsubmit" value="Undo import into catalog" onclick="return submitBackgroundJob(this.form);" /></fieldset>
</form>
<div id="jobpanel"><div id="jobstatus">Job progress: <div id="jobprogress"></div> <span id="jobprogresspercent">0</span>%</div>
<div id="jobfailed"></div></div>
[% END %]
</div>
[% IF ( did_commit ) %]
<div class="dialog message">Completed import of records</div>
<table>
<tr><td>Number of records added</td><td>[% num_added %]</td></tr>
<tr><td>Number of records updated</td><td>[% num_updated %]</td></tr>
<tr><td>Number of records ignored</td><td>[% num_ignored %]</td></tr>
<tr><td>Number of items added</td><td>[% num_items_added %]</td></tr>
<tr><td>Number of items replaced</td><td>[% num_items_replaced %]</td></tr>
<tr><td>Number of items ignored because of duplicate barcode</td><td>[% num_items_errored %]</td></tr>
</table>
[% END %]
[% IF ( did_revert ) %]
<div class="dialog message">Success: Import reversed</div>
<table>
<tr><td>Number of records deleted</td><td>[% num_deleted %]</td></tr>
<tr><td>Number of items deleted</td><td>[% num_items_deleted %]</td></tr>
<tr><td>Number of records not deleted due to items on loan</td><td>[% num_errors %]</td></tr>
<tr><td>Number of records changed back</td><td>[% num_reverted %]</td></tr>
<tr><td>Number of records ignored</td><td>[% num_ignored %]</td></tr>
</table>
[% END %]
[% END %]
<br style="clear:both;" />
[% IF ( batch_list ) %]
[% IF ( pages ) %]
<div class="pages">
Page
[% FOREACH page IN pages %]
[% IF ( page.current_page ) %]
<span class="current">[% page.page_number %]</span>
[% ELSE %]
<a class="nav" href="[% page.script_name %]?offset=[% page.offset %]">[% page.page_number %]</a>
[% END %]
[% END %]
</div>
[% END %]
<table>
<tr>
<th>#</th>
<th>File name</th>
<th>Comments</th>
<th>Type</th>
<th>Status</th>
<th>Staged</th>
<th># Records</th>
<th># Items</th>
<th>Action</th>
</tr>
[% FOREACH batch_lis IN batch_list %]
[% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
<td>[% batch_lis.import_batch_id %]</td>
<td><a href="[% batch_lis.script_name %]?import_batch_id=[% batch_lis.import_batch_id %]">[% batch_lis.file_name %]</a></td>
<td>[% batch_lis.comments %]</td>
<td>[% IF ( batch_lis.record_type == 'auth' ) %]Authority[% ELSE %]Bibliographic[% END %]</td>
<td>
[% IF ( batch_lis.import_status == 'cleaned' ) %]
Cleaned
[% ELSIF ( batch_lis.import_status == 'imported' ) %]
Imported
[% ELSIF ( batch_lis.import_status == 'importing' ) %]
Importing
[% ELSIF ( batch_lis.import_status == 'reverted' ) %]
Reverted
[% ELSIF ( batch_lis.import_status == 'reverting' ) %]
Reverting
[% ELSIF ( batch_lis.import_status == 'staged' ) %]
Staged
[% ELSE %]
[% batch_lis.import_status %]
[% END %]
</td>
<td>[% batch_lis.upload_timestamp %]</td>
<td>[% batch_lis.num_records %]</td>
<td>[% batch_lis.num_items %][% IF ( batch_lis.num_items ) %] <a href="[% batch_lis.script_name %]?import_batch_id=[% batch_lis.import_batch_id %]&amp;op=create_labels">(Create label batch)</a>[% END %]</td>
<td>[% IF ( batch_lis.can_clean ) %]
<form method="post" action="[% batch_lis.script_name %]" name="clean_batch_[% batch_lis.import_batch_id %]" id="clean_batch_[% batch_lis.import_batch_id %]" >
<input type="hidden" name="import_batch_id" value="[% batch_lis.import_batch_id %]" />
<input type="hidden" name="op" value="clean-batch" />
<input type="submit" class="button" value="Clean" onclick="return confirm(MSG_CONFIRM_CLEAN);" />
</form>
[% END %]
</td>
</tr>
[% END %]
</table>
[% IF ( pages ) %]
<div class="pages">
Page
[% FOREACH page IN pages %]
[% IF ( page.current_page ) %]
<span class="current">[% page.page_number %]</span>
[% ELSE %]
<a class="nav" href="[% page.script_name %]?offset=[% page.offset %]">[% page.page_number %]</a>
[% END %]
[% END %]
</div>
[% END %]
[% END %]
[% IF import_batch_id %]
<table id="records-table">
<thead>
<tr>
<th>#</th>
<th>Citation</th>
<th>Status</th>
<th>Match type</th>
<th>Match details</th>
<th>Record</th>
</tr>
</thead>
</table>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'tools-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]