From: phasefx Date: Mon, 3 Nov 2008 17:05:46 +0000 (+0000) Subject: backporting some enhancements for z3950 client X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=1f70a142a76b88f35a2f81d4503a0228afe24f64;p=Evergreen.git backporting some enhancements for z3950 client git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@11030 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/opac/locale/en-US/lang.dtd b/Open-ILS/web/opac/locale/en-US/lang.dtd index 10bc0e0726..37f7d5d57f 100644 --- a/Open-ILS/web/opac/locale/en-US/lang.dtd +++ b/Open-ILS/web/opac/locale/en-US/lang.dtd @@ -2096,9 +2096,13 @@ - - - + + + + + + + diff --git a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js index be0b4284bf..af48c41b9b 100644 --- a/Open-ILS/xul/staff_client/chrome/content/cat/opac.js +++ b/Open-ILS/xul/staff_client/chrome/content/cat/opac.js @@ -240,6 +240,19 @@ function add_to_bucket() { function mark_for_overlay() { g.data.marked_record = docid; g.data.stash('marked_record'); + var robj = g.network.simple_request('MODS_SLIM_RECORD_RETRIEVE.authoritative',[docid]); + if (typeof robj.ilsevent == 'undefined') { + g.data.marked_record_mvr = robj; + } else { + g.data.marked_record_mvr = null; + g.error.standard_unexpected_error_alert('in mark_for_overlay',robj); + } + g.data.stash('marked_record_mvr'); + if (g.data.marked_record_mvr) { + alert(document.getElementById('offlineStrings').getFormattedString('cat.opac.record_marked_for_overlay.tcn.alert',[ g.data.marked_record_mvr.tcn() ])); + } else { + alert(document.getElementById('offlineStrings').getFormattedString('cat.opac.record_marked_for_overlay.record_id.alert',[ g.data.marked_record ])); + } } function delete_record() { diff --git a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties index f45013536b..8197b820e5 100644 --- a/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties +++ b/Open-ILS/xul/staff_client/chrome/locale/en-US/offline.properties @@ -28,6 +28,8 @@ cat.opac.record_undeleted=Record undeleted. cat.opac.record_undeleted.confirm=Check here to confirm this action. # variables: document ID, error code, error description cat.opac.record_delete.error=Error deleting record #%1$s : %2$s : %3$s +cat.opac.record_marked_for_overlay.record_id.alert=Record with ID %1$s marked for overlay. +cat.opac.record_marked_for_overlay.tcn.alert=Record with TCN %1$s marked for overlay. cat.save_record=Save Record cat.save.success=Record successfully saved. cat.save.failure=Record not likely updated. diff --git a/Open-ILS/xul/staff_client/server/cat/z3950.js b/Open-ILS/xul/staff_client/server/cat/z3950.js index 8286779f2c..64bc65db16 100644 --- a/Open-ILS/xul/staff_client/server/cat/z3950.js +++ b/Open-ILS/xul/staff_client/server/cat/z3950.js @@ -58,7 +58,7 @@ cat.z3950.prototype = { try { JSAN.use('util.functional'); var sel = obj.list.retrieve_selection(); - document.getElementById('clip_button').disabled = sel.length < 1; + document.getElementById('sel_clip').setAttribute('disabled', sel.length < 1); var list = util.functional.map_list( sel, function(o) { return o.getAttribute('retrieve_id'); } @@ -66,8 +66,13 @@ cat.z3950.prototype = { obj.error.sdump('D_TRACE','cat/z3950: selection list = ' + js2JSON(list) ); obj.controller.view.marc_import.disabled = false; obj.controller.view.marc_import.setAttribute('retrieve_id',list[0]); - obj.controller.view.marc_import_overlay.disabled = false; - obj.controller.view.marc_import_overlay.setAttribute('retrieve_id',list[0]); + obj.data.init({'via':'stash'}); + if (obj.data.marked_record) { + obj.controller.view.marc_import_overlay.disabled = false; + } else { + obj.controller.view.marc_import_overlay.disabled = true; + } + obj.controller.view.marc_import_overlay.setAttribute('retrieve_id',list[0]); obj.controller.view.marc_view_btn.disabled = false; obj.controller.view.marc_view_btn.setAttribute('retrieve_id',list[0]); } catch(E) { @@ -82,16 +87,10 @@ cat.z3950.prototype = { { control_map : { 'save_columns' : [ [ 'command' ], function() { obj.list.save_columns(); } ], - 'sel_clip' : [ - ['command'], - function() { obj.list.clipboard(); } - ], - 'cmd_export' : [ - ['command'], - function() { - obj.list.dump_csv_to_clipboard(); - } - ], + 'sel_clip' : [ ['command'], function() { obj.list.clipboard(); } ], + 'cmd_z3950_csv_to_clipboard' : [ ['command'], function() { obj.list.dump_csv_to_clipboard(); } ], + 'cmd_z3950_csv_to_printer' : [ ['command'], function() { obj.list.dump_csv_to_printer(); } ], + 'cmd_z3950_csv_to_file' : [ ['command'], function() { obj.list.dump_csv_to_file( { 'defaultFileName' : 'z3950_results.txt' } ); } ], 'cmd_broken' : [ ['command'], function() { alert('Not Yet Implemented'); } @@ -367,6 +366,28 @@ cat.z3950.prototype = { setTimeout( function() { obj.focus(); }, 0 ); + setInterval( + function() { + obj.data.init({'via':'stash'}); + if (obj.data.marked_record) { + var sel = obj.list.retrieve_selection(); + if (sel.length > 0) { obj.controller.view.marc_import_overlay.disabled = false; } + if ($("overlay_tcn_indicator")) { + if (obj.data.marked_record_mvr) { + $("overlay_tcn_indicator").setAttribute('value',$("catStrings").getFormattedString('staff.cat.z3950.marked_record_for_overlay_indicator.tcn.label',[obj.data.marked_record_mvr.tcn()])); + } else { + $("overlay_tcn_indicator").setAttribute('value',$("catStrings").getFormattedString('staff.cat.z3950.marked_record_for_overlay_indicator.record_id.label',[obj.data.marked_record])); + } + } + } else { + obj.controller.view.marc_import_overlay.disabled = true; + if ($("overlay_tcn_indicator")) { + $("overlay_tcn_indicator").setAttribute('value',$("catStrings").getString('staff.cat.z3950.marked_record_for_overlay_indicator.no_record.label')); + } + } + }, 2000 + ); + } catch(E) { this.error.sdump('D_ERROR','cat.z3950.init: ' + E + '\n'); } @@ -380,7 +401,7 @@ cat.z3950.prototype = { var x = obj.creds.hosts[ obj.data.server_unadorned ].services[ obj.active_services[i] ].default_attr; if (x) { focus_me = x; break; } } - if (ob.services[ obj.active_services[i] ]) for (var i in obj.services[ obj.active_services[i] ].attr) { or_focus_me = i; } + if (obj.services[ obj.active_services[i] ]) for (var i in obj.services[ obj.active_services[i] ].attr) { or_focus_me = i; } } if (! focus_me) focus_me = or_focus_me; var xx = document.getElementById(focus_me+'_input'); if (xx) xx.focus(); @@ -409,6 +430,9 @@ cat.z3950.prototype = { x.appendChild( document.createTextNode($("catStrings").getString('staff.cat.z3950.initial_search.searching'))); obj.search_params = {}; obj.list.clear(); obj.controller.view.page_next.disabled = true; + obj.controller.view.cmd_z3950_csv_to_file.setAttribute('disabled','true'); + obj.controller.view.cmd_z3950_csv_to_clipboard.setAttribute('disabled','true'); + obj.controller.view.cmd_z3950_csv_to_printer.setAttribute('disabled','true'); obj.search_params.service = []; obj.search_params.username = []; @@ -491,6 +515,9 @@ cat.z3950.prototype = { x.appendChild( document.createTextNode($("catStrings").getFormattedString('staff.cat.z3950.handle_results.server_error', [results.textcode, results.desc]))); return; } + obj.controller.view.cmd_z3950_csv_to_file.setAttribute('disabled','false'); + obj.controller.view.cmd_z3950_csv_to_clipboard.setAttribute('disabled','false'); + obj.controller.view.cmd_z3950_csv_to_printer.setAttribute('disabled','false'); if (typeof results.length == 'undefined') results = [ results ]; for (var i = 0; i < results.length; i++) { if (results[i].query) { diff --git a/Open-ILS/xul/staff_client/server/cat/z3950.xul b/Open-ILS/xul/staff_client/server/cat/z3950.xul index f18a107ee9..d31b4a9d08 100644 --- a/Open-ILS/xul/staff_client/server/cat/z3950.xul +++ b/Open-ILS/xul/staff_client/server/cat/z3950.xul @@ -82,8 +82,10 @@ - - + + + + @@ -91,8 +93,8 @@ - - + + @@ -101,9 +103,9 @@ - + - +