<!ENTITY staff.cat.opac.marc_view.label "MARC View">
<!ENTITY staff.cat.opac.mark_for_overlay.accesskey "M">
<!ENTITY staff.cat.opac.mark_for_overlay.label "Mark for Overlay">
+<!ENTITY staff.cat.opac.mark_for_hold_transfer.accesskey "">
+<!ENTITY staff.cat.opac.mark_for_hold_transfer.label "Mark as Title Hold Transfer Destination">
+<!ENTITY staff.cat.opac.transfer_title_holds.accesskey "">
+<!ENTITY staff.cat.opac.transfer_title_holds.label "Transfer Title Holds">
<!ENTITY staff.cat.opac.delete_record.accesskey "D">
<!ENTITY staff.cat.opac.delete_record.label "Delete Record">
<!ENTITY staff.cat.opac.undelete_record.accesskey "U">
<!ENTITY staff.circ.holds.edit_desire_mint_condition.accesskey "Q">
<!ENTITY staff.circ.holds.set_top_of_queue "Set Top of Queue">
<!ENTITY staff.circ.holds.set_top_of_queue.accesskey "Q">
+<!ENTITY staff.circ.holds.title_transfer.label "Transfer to Marked Title">
+<!ENTITY staff.circ.holds.title_transfer.accesskey "">
<!ENTITY staff.circ.holds.mark_item_damaged "Mark Item Damaged">
<!ENTITY staff.circ.holds.mark_item_damaged.accesskey "D">
<!ENTITY staff.circ.holds.mark_item_missing "Mark Item Missing">
<!ENTITY staff.cat.record_buckets_overlay.menuitem.save_columns2.label "Save List Configuration">
<!ENTITY staff.cat.record_buckets_overlay.box.label "Batch:">
<!ENTITY staff.cat.record_buckets_overlay.sel_opac.label "Show All in Catalog">
+<!ENTITY staff.cat.record_buckets_overlay.transfer_title_holds.label "Transfer Title Holds">
+<!ENTITY staff.cat.record_buckets_overlay.transfer_title_holds.accesskey "Transfer Title Holds">
<!ENTITY staff.cat.record_buckets_overlay.del_records.label "Delete All Records">
<!ENTITY staff.cat.record_buckets_overlay.merge_records.label "Merge All Records">
<!ENTITY staff.cat.record_buckets_overlay.export_records.label "Export All Records">
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() ]));
+ xulG.set_statusbar(1, $("offlineStrings").getFormattedString('staff.cat.z3950.marked_record_for_overlay_indicator.tcn.label',[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 ]));
+ xulG.set_statusbar(1, $("offlineStrings").getFormattedString('staff.cat.z3950.marked_record_for_overlay_indicator.record_id.label',[g.data.marked_record]) );
}
}
+function mark_for_hold_transfer() {
+ g.data.marked_record_for_hold_transfer = docid;
+ g.data.stash('marked_record_for_hold_transfer');
+ var robj = g.network.simple_request('MODS_SLIM_RECORD_RETRIEVE.authoritative',[docid]);
+ if (typeof robj.ilsevent == 'undefined') {
+ g.data.marked_record_for_hold_transfer_mvr = robj;
+ } else {
+ g.data.marked_record_for_hold_transfer_mvr = null;
+ g.error.standard_unexpected_error_alert('in mark_for_hold_transfer',robj);
+ }
+ g.data.stash('marked_record_for_hold_transfer_mvr');
+ if (g.data.marked_record_mvr) {
+ var m = $("offlineStrings").getFormattedString('staff.cat.opac.marked_record_for_hold_transfer_indicator.tcn.label',[g.data.marked_record_for_hold_transfer_mvr.tcn()]);
+ alert(m); xulG.set_statusbar(1, m );
+ } else {
+ var m = $("offlineStrings").getFormattedString('staff.cat.opac.marked_record_for_hold_transfer_indicator.record_id.label',[g.data.marked_record_for_hold_transfer]);
+ alert(m); xulG.set_statusbar(1, m );
+ }
+}
+
+function transfer_title_holds() {
+ g.data.stash_retrieve();
+ var target = g.data.marked_record_for_hold_transfer;
+ if (!target) {
+ var m = $("offlineStrings").getString('staff.cat.opac.title_for_hold_transfer.destination_needed.label');
+ alert(m);
+ return;
+ }
+ var robj = g.network.simple_request('TRANSFER_TITLE_HOLDS',[ ses(), target, [ docid ] ]);
+ if (robj == 1) {
+ var m = $("offlineStrings").getString('staff.cat.opac.title_for_hold_transfer.success.label');
+ alert(m);
+ } else {
+ var m = $("offlineStrings").getString('staff.cat.opac.title_for_hold_transfer.failure.label');
+ alert(m);
+ }
+ hold_browser_reset = true;
+ if (g.view == 'hold_browser') { set_hold_browser(); };
+}
+
function delete_record() {
if (g.error.yns_alert(
document.getElementById('offlineStrings').getFormattedString('cat.opac.delete_record.confirm', [docid]),
<menuitem label="&staff.cat.opac.undelete_record.label;" accesskey="&staff.cat.opac.undelete_record.accesskey;" id="undelete_record" oncommand="undelete_record();"/>
<menuseparator/>
<menuitem label="&staff.cat.copy_browser.holdings_maintenance.cmd_add_volumes.label;" accesskey="&staff.cat.copy_browser.holdings_maintenance.cmd_add_volumes.accesskey;" id="add_volumes" oncommand="add_volumes();"/>
+ <menuitem label="&staff.cat.opac.mark_for_hold_transfer.label;" accesskey="&staff.cat.opac.mark_for_hold_transfer.accesskey;" id="mark_for_hold_transfer" oncommand="mark_for_hold_transfer();"/>
+ <menuitem label="&staff.cat.opac.transfer_title_holds.label;" accesskey="&staff.cat.opac.transfer_title_holds.accesskey;" id="transfer_title_holds" oncommand="transfer_title_holds();"/>
<menuseparator/>
<menuitem label="&staff.cat.opac.bib_in_new_tab.label;" id="bib_in_new_tab" oncommand="bib_in_new_tab();"/>
<menuitem label="&staff.cat.opac.remove_me.label;" id="remove_me" oncommand="remove_me();"/>
'FM_AHR_UPDATE_BATCH' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold.update.batch' },
'FM_AHR_RESET' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold.reset' },
'FM_AHR_STATUS' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold.status.retrieve' },
+ 'TRANSFER_TITLE_HOLDS' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.hold.change_title' },
'FM_AHRCC_PCRUD_SEARCH' : { 'app' : 'open-ils.pcrud', 'method' : 'open-ils.pcrud.search.ahrcc.atomic', 'secure' : false },
'FM_AIHU_CREATE' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.in_house_use.create' },
'FM_ANCC_RETRIEVE_VIA_ID' : { 'app' : 'open-ils.circ', 'method' : 'open-ils.circ.non_cataloged_circulation.retrieve' },
content_params.open_chrome_window = function(a,b,c) { return xulG.window.open(a,b,c); };
content_params.url_prefix = function(url) { return obj.url_prefix(url); };
content_params.network_meter = obj.network_meter;
+ content_params.set_statusbar = function(slot,text) {
+ var e = document.getElementById('statusbarpanel'+slot);
+ if (e) { e.setAttribute('label',text); }
+ };
content_params.chrome_xulG = xulG;
if (params && params.tab_name) content_params.set_tab_name( params.tab_name );
</tabbox>
<statusbar>
<statusbarpanel />
+ <statusbarpanel id="statusbarpanel1"/>
+ <statusbarpanel id="statusbarpanel2"/>
+ <statusbarpanel id="statusbarpanel3"/>
+ <statusbarpanel id="statusbarpanel4"/>
+ <statusbarpanel id="statusbarpanel5"/>
<spacer flex="1" />
<progressmeter id="network_progress" flex="1" mode="determined" value="0" tooltip="network_progress_tip"/>
<statusbarpanel />
staff.cat.util.copy_editor.view=View
staff.circ.copy_status.add_volumes.perm_failure=You do not have permission to add volumes to the workstation library.
staff.circ.copy_status.add_volumes.title=Add Volume/Item for Record # %1$s
+staff.cat.z3950.marked_record_for_overlay_indicator.tcn.label=Record with TCN %1$s marked for overlay.
+staff.cat.z3950.marked_record_for_overlay_indicator.record_id.label=Record with ID %1$s marked for overlay.
+staff.cat.opac.marked_record_for_hold_transfer_indicator.tcn.label=Record with TCN %1$s marked for title hold transfer.
+staff.cat.opac.marked_record_for_hold_transfer_indicator.record_id.label=Record with ID %1$s marked for title hold transfer.
+staff.cat.opac.title_for_hold_transfer.destination_needed.label=Need to mark a record as a Title Hold Transfer Destination first.
+staff.cat.opac.title_for_hold_transfer.success.label=Holds transferred.
+staff.cat.opac.title_for_hold_transfer.failure.label=Holds not transferred.
+
obj.controller.view.cmd_merge_records.setAttribute('disabled','true');
obj.controller.view.cmd_delete_records.setAttribute('disabled','true');
obj.controller.view.cmd_sel_opac.setAttribute('disabled','true');
+ obj.controller.view.cmd_transfer_title_holds.setAttribute('disabled','true');
obj.controller.view.record_buckets_list_actions.disabled = true;
var bucket = obj.network.simple_request(
'BUCKET_FLESH',
obj.controller.view.cmd_merge_records.setAttribute('disabled','false');
obj.controller.view.cmd_delete_records.setAttribute('disabled','false');
obj.controller.view.cmd_sel_opac.setAttribute('disabled','false');
+ obj.controller.view.cmd_transfer_title_holds.setAttribute('disabled','false');
obj.controller.view.record_buckets_list_actions.disabled = false;
var x = document.getElementById('info_box');
obj.controller.view.cmd_merge_records.setAttribute('disabled','true');
obj.controller.view.cmd_delete_records.setAttribute('disabled','true');
obj.controller.view.cmd_sel_opac.setAttribute('disabled','true');
+ obj.controller.view.cmd_transfer_title_holds.setAttribute('disabled','true');
obj.controller.view.record_buckets_list_actions.disabled = true;
obj.controller.render('record_buckets_menulist_placeholder');
setTimeout(
}
}
],
+ 'cmd_transfer_title_holds' : [
+ ['command'],
+ function() {
+ try {
+ obj.list2.select_all();
+ JSAN.use('util.functional');
+ var docids = util.functional.map_list(
+ obj.list2.dump_retrieve_ids(),
+ function (o) {
+ return JSON2js(o).docid; // docid
+ }
+ );
+ JSAN.use('cat.util');
+ cat.util.transfer_title_holds(docids);
+ } catch(E) {
+ alert('Error in record_buckets.js, cmd_transfer_title_holds: ' + E);
+ }
+ }
+ ],
+
'record_buckets_export_records' : [ ['render'], function(){} ],
'record_buckets_list_actions' : [ ['render'], function(){} ]
}
<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale' -->/circ.properties"/>
<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale' -->/cat.properties"/>
- <commandset id="record_buckets_cmds">
- <command id="sel_clip0" disabled="true"/>
- <command id="sel_clip1" disabled="true"/>
- <command id="sel_clip2" disabled="true"/>
- <command id="save_columns0" />
- <command id="save_columns1" />
- <command id="save_columns2" />
-
- <command id="cmd_record_query_csv_to_printer" />
- <command id="cmd_record_query_csv_to_clipboard" />
- <command id="cmd_record_query_csv_to_file" />
-
- <command id="cmd_pending_buckets_csv_to_printer" />
- <command id="cmd_pending_buckets_csv_to_clipboard" />
- <command id="cmd_pending_buckets_csv_to_file" />
-
- <command id="cmd_record_buckets_new_bucket" />
- <command id="cmd_record_buckets_delete_bucket" disabled="true"/>
- <command id="cmd_record_buckets_refresh" disabled="true"/>
-
- <command id="cmd_record_buckets_delete_item" />
- <command id="cmd_record_buckets_to_pending_buckets" />
-
- <command id="cmd_record_buckets_csv_to_printer" />
- <command id="cmd_record_buckets_csv_to_clipboard" />
- <command id="cmd_record_buckets_csv_to_file" />
-
- <command id="cmd_add_all_query_to_pending" />
- <command id="cmd_add_sel_query_to_pending" />
-
- <command id="cmd_add_all_pending_to_record_bucket" />
- <command id="cmd_add_sel_pending_to_record_bucket" />
-
- <command id="cmd_merge_records" disabled="true" />
- <command id="cmd_export_records_usmarc" />
- <command id="cmd_export_records_unimarc" />
- <command id="cmd_export_records_xml" />
- <command id="cmd_export_records_bre" />
- <command id="cmd_delete_records" disabled="true" />
- <command id="cmd_sel_opac" disabled="true" />
-
- <command id="cmd_submit_query" />
- </commandset>
+ <commandset id="record_buckets_cmds" />
<box id="record_buckets_main" />
<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
-<commandset id="record_buckets_cmds" />
+<commandset id="record_buckets_cmds">
+ <command id="sel_clip0" disabled="true"/>
+ <command id="sel_clip1" disabled="true"/>
+ <command id="sel_clip2" disabled="true"/>
+ <command id="save_columns0" />
+ <command id="save_columns1" />
+ <command id="save_columns2" />
+
+ <command id="cmd_record_query_csv_to_printer" />
+ <command id="cmd_record_query_csv_to_clipboard" />
+ <command id="cmd_record_query_csv_to_file" />
+
+ <command id="cmd_pending_buckets_csv_to_printer" />
+ <command id="cmd_pending_buckets_csv_to_clipboard" />
+ <command id="cmd_pending_buckets_csv_to_file" />
+
+ <command id="cmd_record_buckets_new_bucket" />
+ <command id="cmd_record_buckets_delete_bucket" disabled="true"/>
+ <command id="cmd_record_buckets_refresh" disabled="true"/>
+
+ <command id="cmd_record_buckets_delete_item" />
+ <command id="cmd_record_buckets_to_pending_buckets" />
+
+ <command id="cmd_record_buckets_csv_to_printer" />
+ <command id="cmd_record_buckets_csv_to_clipboard" />
+ <command id="cmd_record_buckets_csv_to_file" />
+
+ <command id="cmd_add_all_query_to_pending" />
+ <command id="cmd_add_sel_query_to_pending" />
+
+ <command id="cmd_add_all_pending_to_record_bucket" />
+ <command id="cmd_add_sel_pending_to_record_bucket" />
+
+ <command id="cmd_merge_records" disabled="true" />
+ <command id="cmd_transfer_title_holds"
+ label="&staff.cat.record_buckets_overlay.transfer_title_holds.label;"
+ accesskey="&staff.cat.record_buckets_overlay.transfer_title_holds.accesskey;"
+ disabled="true" />
+ <command id="cmd_export_records_usmarc" />
+ <command id="cmd_export_records_unimarc" />
+ <command id="cmd_export_records_xml" />
+ <command id="cmd_export_records_bre" />
+ <command id="cmd_delete_records" disabled="true" />
+ <command id="cmd_sel_opac" disabled="true" />
+
+ <command id="cmd_submit_query" />
+</commandset>
+
<box id="record_buckets_main" flex="1" orient="vertical" class="my_overflow">
<vbox id="cmvb1" flex="1"/>
<hbox style="background: grey">
<vbox><spacer flex="1"/><label value="&staff.cat.record_buckets_overlay.box.label;" style="font-weight: bold"/><spacer flex="1"/></vbox>
<button command="cmd_sel_opac" label="&staff.cat.record_buckets_overlay.sel_opac.label;" accesskey=""/>
+ <button command="cmd_transfer_title_holds" />
<button command="cmd_delete_records" label="&staff.cat.record_buckets_overlay.del_records.label;"/>
<button command="cmd_merge_records" label="&staff.cat.record_buckets_overlay.merge_records.label;"/>
<button id="record_buckets_export_records" label="&staff.cat.record_buckets_overlay.export_records.label;" type="menu" allowevents="true" disabled="true">
cat.util.EXPORT_OK = [
'spawn_copy_editor', 'add_copies_to_bucket', 'show_in_opac', 'spawn_spine_editor', 'transfer_copies',
- 'mark_item_missing', 'mark_item_damaged', 'replace_barcode', 'fast_item_add'
+ 'transfer_title_holds', 'mark_item_missing', 'mark_item_damaged', 'replace_barcode', 'fast_item_add',
+ 'make_bookable', 'edit_new_brsrc', 'edit_new_bresv'
];
cat.util.EXPORT_TAGS = { ':all' : cat.util.EXPORT_OK };
}
}
+cat.util.transfer_title_holds = function(old_targets) {
+ JSAN.use('OpenILS.data'); var data = new OpenILS.data();
+ JSAN.use('util.network'); var network = new util.network();
+ try {
+ data.stash_retrieve();
+ var target = data.marked_record_for_hold_transfer;
+ if (!target) {
+ var m = $("catStrings").getString('staff.cat.opac.title_for_hold_transfer.destination_needed.label');
+ alert(m);
+ return;
+ }
+ var robj = network.simple_request('TRANSFER_TITLE_HOLDS',[ ses(), target, old_targets ]);
+ if (robj == 1) {
+ var m = $("catStrings").getString('staff.cat.opac.title_for_hold_transfer.success.label');
+ alert(m);
+ } else {
+ var m = $("catStrings").getString('staff.cat.opac.title_for_hold_transfer.failure.label');
+ alert(m);
+ }
+ } catch(E) {
+ alert('Error in cat.util.transfer_title.holds(): ' + E);
+ }
+}
+
cat.util.transfer_copies = function(params) {
JSAN.use('util.error'); var error = new util.error();
JSAN.use('OpenILS.data'); var data = new OpenILS.data();
staff.cat.opac.set_marc_edit.std_unexpected_error=Record not likely updated.
staff.cat.opac.refresh.function_not_implemented.alert=Not yet implemented. Work around: Choose Duplicate in New Tab option
staff.cat.opac.set_tab_name=Record: %1$s
+staff.cat.opac.title_for_hold_transfer.destination_needed.label=Need to mark a record as a Title Hold Transfer Destination first.
+staff.cat.opac.title_for_hold_transfer.success.label=Holds transferred.
+staff.cat.opac.title_for_hold_transfer.failure.label=Holds not transferred.
staff.cat.record_buckets.tab_name=Record Buckets
staff.cat.record_buckets.save_file_as=Save File As
staff.cat.record_buckets.export_records.alert=File not downloaded.
}
}
],
+ 'cmd_holds_title_transfer' : [
+ ['command'],
+ function() {
+ try {
+ var targets = [];
+ for (var i = 0; i < obj.retrieve_ids.length; i++) {
+ var htarget = obj.retrieve_ids[i].target;
+ var htype = obj.retrieve_ids[i].type;
+ switch(htype) {
+ case 'M' :
+ continue; // not supported
+ break;
+ case 'T' :
+ targets.push( htarget );
+ break;
+ case 'V' :
+ continue; // not supported
+ break;
+ case 'C' :
+ continue; // not supported
+ break;
+ default:
+ continue; // not supported
+ break;
+ }
+ }
+ JSAN.use('cat.util');
+ cat.util.transfer_title_holds(targets);
+ obj.clear_and_retrieve();
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert('',E);
+ }
+ }
+ ],
+
'fetch_more' : [
['command'],
function() {
<command id="cmd_holds_retarget"/>
<command id="cmd_holds_cancel" />
<command id="cmd_holds_uncancel" />
+ <command id="cmd_holds_title_transfer"
+ label="&staff.circ.holds.title_transfer.label;"
+ accesskey="&staff.circ.holds.title_transfer.accesskey;" />
<command id="cmd_search_opac" />
<command id="save_columns" />
<command id="cmd_alt_view" />
<menuitem label="&staff.circ.holds.edit_hold_range;" class="edit_hold_range" command="cmd_holds_edit_selection_depth" accesskey="&staff.circ.holds.edit_hold_range.accesskey;"/>
<menuitem label="&staff.circ.holds.edit_hold_focus;" class="edit_hold_focus" command="cmd_broken" accesskey="&staff.circ.holds.edit_hold_focus.accesskey;"/>
<menuitem label="&staff.circ.holds.set_top_of_queue;" command="cmd_holds_cut_in_line" accesskey="&staff.circ.holds.set_top_of_queue.accesskey;"/>
+ <menuitem command="cmd_holds_title_transfer" />
<menuseparator />
<menuitem command="sel_mark_items_damaged" label="&staff.circ.holds.mark_item_damaged;" accesskey="&staff.circ.holds.mark_item_damaged.accesskey;"/>
<menuitem command="sel_mark_items_missing" label="&staff.circ.holds.mark_item_missing;" accesskey="&staff.circ.holds.mark_item_missing.accesskey;"/>
<menuitem label="&staff.circ.holds.edit_hold_range;" class="edit_hold_range" command="cmd_holds_edit_selection_depth" accesskey="&staff.circ.holds.edit_hold_range.accesskey;"/>
<menuitem label="&staff.circ.holds.edit_hold_focus;" class="edit_hold_focus" command="cmd_broken" accesskey="&staff.circ.holds.edit_hold_focus.accesskey;"/>
<menuitem label="&staff.circ.holds.set_top_of_queue;" command="cmd_holds_cut_in_line" accesskey="&staff.circ.holds.set_top_of_queue.accesskey;"/>
+ <menuitem command="cmd_holds_title_transfer" />
<menuseparator />
<menuitem command="sel_mark_items_damaged" label="&staff.circ.holds.mark_item_damaged;" accesskey="&staff.circ.holds.mark_item_damaged.accesskey;"/>
<menuitem command="sel_mark_items_missing" label="&staff.circ.holds.mark_item_missing;" accesskey="&staff.circ.holds.mark_item_missing.accesskey;"/>