Bugzilla – Attachment 77245 Details for
Bug 19265
Advanced Editor - Rancor - Add ability to export selected records from and import records into an import batch
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19265: Rancor - Add export of selected records, edit button to manage imports
Bug-19265-Rancor---Add-export-of-selected-records-.patch (text/plain), 10.00 KB, created by
Nick Clemens (kidclamp)
on 2018-07-24 17:36:44 UTC
(
hide
)
Description:
Bug 19265: Rancor - Add export of selected records, edit button to manage imports
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2018-07-24 17:36:44 UTC
Size:
10.00 KB
patch
obsolete
>From 5fb3f854bb7fc5deacf74c4b9a00034cf2e0e1a0 Mon Sep 17 00:00:00 2001 >From: Jesse Weaver <pianohacker@gmail.com> >Date: Fri, 20 Nov 2015 10:13:37 -0700 >Subject: [PATCH] Bug 19265: Rancor - Add export of selected records, edit > button to manage imports > >To test: >1 - Open a batch of staged records >2 - Note the new toolbar >3 - Select some records and export >4 - Verify previous functionality works as expected >--- > .../prog/en/modules/tools/manage-marc-import.tt | 175 +++++++++++++++++++++ > svc/cataloguing/import_batches | 6 + > 2 files changed, 181 insertions(+) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt >index cff595a..e9d171a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt >@@ -8,6 +8,173 @@ > </title> > [% INCLUDE 'doc-head-close.inc' %] > [% Asset.css("css/datatables.css") %] >+<script type="text/javascript" src="[% interface %]/[% theme %]/js/background-job-progressbar.js"></script> >+<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> >+[% INCLUDE 'datatables.inc' %] >+<script type="text/javascript"> >+//<![CDATA[ >+$(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 %] >+ var checkedRecords = {}; >+ $("#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">', >+ "aaSorting": [ [ 1, 'asc' ] ], >+ "aoColumns": [ >+ { >+ "bSortable": false, >+ "mDataProp": null, >+ "sDefaultContent": '' >+ }, >+ { "mDataProp": "import_record_id" }, >+ { "mDataProp": "citation" }, >+ { "mDataProp": "status" }, >+ { "mDataProp": "overlay_status" }, >+ { "mDataProp": "match_citation" }, >+ { "mDataProp": "diff_url" }, >+ { "mDataProp": "matched" }, >+ { >+ "bSortable": false, >+ "mDataProp": null, >+ "sDefaultContent": '' >+ } >+ ], >+ "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 %] >+ >+ var record_id = aData['import_record_id']; >+ var $checkbox = $('<input type="checkbox"></input>'); >+ $('td:eq(0)', nRow).append($checkbox); >+ $checkbox.prop( 'checked', checkedRecords[record_id] ); >+ $checkbox.change( function() { >+ if ( this.checked ) { >+ checkedRecords[record_id] = true; >+ } else { >+ delete checkedRecords[record_id]; >+ } >+ } ); >+ >+ $('td:eq(2)', nRow).html( >+ '<a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=' + aData['import_record_id'] + '" class="previewMARC">' + aData['citation'] + '</a>' >+ ); >+ >+ $('td:eq(3)', 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(4)', 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'] ) { >+ [% IF ( record_type == 'auth' ) -%] >+ var matching_msg = _("Matches authority %s (score=%s):%s"); >+ [%- ELSE -%] >+ var matching_msg = _("Matches biblio %s (score=%s):%s"); >+ [%- END %] >+ $('td:eq(4)', nRow).html( >+ matching_msg.format(aData['match_id'], aData['score'], >+ '<a target="_blank" href="' + record_details_url >+ + aData['match_id'] + '">' + aData['match_citation'] + '</a>') >+ ); >+ } >+ if (aData['diff_url']){ >+ $('td:eq(6)', nRow).html( >+ '<a rel="gb_page_center[960,600]" href="'+aData['diff_url']+'">View</a>' >+ ); >+ } >+ $('td:eq(7)', nRow).html( >+ '<a target="_blank" href="' + record_details_url >+ + aData['matched'] + '">' + aData['matched'] + '</a>' >+ ); >+ $('td:eq(8)', nRow).html( >+ '<a target="_blank" href="/cgi-bin/koha/cataloguing/editor.pl#batch:[% import_batch_id %]/' + record_id >+ + '">' + _("Edit") + '</a>' >+ ); >+ }, >+ })); >+ $("#import_batch_form").on("submit",function(){ >+ return submitBackgroundJob( document.getElementById("import_batch_form") ); >+ }); >+ $("#revert_batch_form").on("submit",function(){ >+ return confirm( _("Are you sure you want to undo the import of this batch into the catalog?") ) && submitBackgroundJob( document.getElementById("revert_batch_form") ); >+ }); >+ $('#export-selected').click( function() { >+ var options = { >+ import_record_id: $.map( checkedRecords, function( undef, key ) { return key; } ).join('|'), >+ }; >+ >+ if ( options.import_record_id.length == 0 ) return false;_ >+ >+ window.open( '/cgi-bin/koha/svc/cataloguing/import_batches/' + [% import_batch_id %] + '?download=1&' + $.param( options ) ); >+ return false; >+ }); >+ [% END %] >+ $("body").on("click",".previewMARC", function(e){ >+ e.preventDefault(); >+ var ltitle = $(this).text(); >+ var page = $(this).attr("href"); >+ $("#marcPreviewLabel").text(ltitle); >+ $("#marcPreview .modal-body").load(page + " table"); >+ $('#marcPreview').modal({show:true}); >+ }); >+ $("#marcPreview").on("hidden", function(){ >+ $("#marcPreviewLabel").html(""); >+ $("#marcPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface %]/[% theme %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>"); >+ }); >+ $(".batch_form").on("submit",function(){ >+ if( $(this).hasClass("batch_delete") ){ >+ return confirm( _("Are you sure you want to permanently delete this batch?") ); >+ } else { >+ return confirm( _("Clear all reservoir records staged in this batch? This cannot be undone.") ); >+ } >+ }); >+}); >+ >+//]]> >+</script> >+>>>>>>> Bug 19265: Rancor - Add export of selected records, edit button to manage imports > <style type="text/css"> > #jobpanel,#jobstatus,#jobfailed { display : none; } > span.change-status { font-style:italic; color:#666; display:none; } >@@ -38,6 +205,7 @@ > › Batch [% import_batch_id %] > [% END %] > </h1> >+ > [% IF ( label_batch_msg ) %] > [% IF ( alert ) %] > <div class="alert"> >@@ -341,9 +509,15 @@ > [% END %] > > [% IF import_batch_id %] >+ <div id="toolbar" class="btn-toolbar"> >+ <!--<button class="btn btn-small" id="import-additional" title="Import extra records into this batch"><i class="icon-plus"></i> <span>Import additional records</span></button>--> >+ <button class="btn btn-small" id="export-selected" title="Import extra records into this batch"><i class="fa fa-hdd-o"></i> <span>Export selected records</span></button> >+ </div> >+ > <table id="records-table"> > <thead> > <tr> >+ <th> </th> > <th>#</th> > <th>Citation</th> > <th>Status</th> >@@ -351,6 +525,7 @@ > <th>Match details</th> > <th><abbr title="Differences between the original biblio and the imported">Diff</abbr></th> > <th>Record</th> >+ <th>Action</th> > </tr> > </thead> > </table> >diff --git a/svc/cataloguing/import_batches b/svc/cataloguing/import_batches >index 883f3a5..b8b2d09 100755 >--- a/svc/cataloguing/import_batches >+++ b/svc/cataloguing/import_batches >@@ -85,6 +85,12 @@ sub download_batch { > }; > } > >+ my $import_record_ids = $query->param( 'import_record_id' ); >+ >+ if ( $import_record_ids ) { >+ $extra_conditions{'import_record.import_record_id'} = { -in => [ split /\|/, $import_record_ids ] }; >+ } >+ > my $records = $schema->resultset('ImportBiblio')->search( > { > 'import_record.import_batch_id' => $batch_id, >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 19265
:
66898
|
66899
|
66900
|
77245
|
77246
|
77247
|
77248
|
80993
|
80994
|
80995
|
80996
|
85372
|
85373
|
85374
|
85375
|
85380
|
85381
|
85382
|
85383