/**** SUFFIX COLUMN ****/
var suffix_column_box = document.createElement('vbox');
r.appendChild(suffix_column_box);
- var suffix_column_menulist = document.createElement('menulist');
+ var suffix_column_menulist = g.render_suffix_menu(call_number_column_textbox);
+ suffix_column_menulist.addEventListener( 'change', g.gather_copies_soon, false);
suffix_column_box.appendChild(suffix_column_menulist);
/**** NUMBER OF COPIES COLUMN ****/
var ou_id = nl[i].getAttribute('ou_id');
var acnc_id = nl[i].getAttribute('acnc_id');
var acnp_id = nl[i].getAttribute('acnp_id');
+ var acns_id = nl[i].getAttribute('acns_id');
var callnumber = nl[i].value;
if (typeof volumes_hash[ou_id] == 'undefined') {
volumes_hash[ou_id] = {}
volumes_hash[ou_id][callnumber] = {
'call_number_data' : {
'acnc_id' : acnc_id,
- 'acnp_id' : acnp_id
+ 'acnp_id' : acnp_id,
+ 'acns_id' : acns_id
},
'barcode_data' : []
}
'label',
my_acnp.id() == -1 ? '' :
$('catStrings').getFormattedString(
- 'staff.cat.volume_copy_creator.call_number_prefix.menuentry_label',
+ 'staff.cat.volume_copy_creator.call_number_prefix.menuitem_label',
[
my_acnp.label(),
g.data.hash.aou[ ou_id ].shortname()
}
}
+g.render_suffix_menu = function(call_number_tb) {
+ var ou_id = call_number_tb.getAttribute('ou_id');
+ var org = g.data.hash.aou[ ou_id ];
+ var menulist = document.createElement('menulist');
+ var menupopup = document.createElement('menupopup');
+ menulist.appendChild(menupopup);
+ var org_list = []; // order from top of consortium to owning lib
+ while(org) {
+ org_list.unshift(org.id());
+ org = org.parent_ou();
+ if (org && typeof org != 'object') {
+ org = g.data.hash.aou[ org ];
+ }
+ }
+ for (var i = 0; i < org_list.length; i++) {
+ g.render_suffix_menu_items(menupopup,org_list[i]);
+ }
+
+ menulist.addEventListener(
+ 'command',
+ function() {
+ call_number_tb.setAttribute('acns_id',menulist.value);
+ },
+ false
+ );
+ return menulist;
+}
+
+g.render_suffix_menu_items = function(menupopup,ou_id) {
+ if (typeof g.data.list['acns_for_lib_'+ou_id] == 'undefined') {
+ g.data.list['acns_for_lib_'+ou_id] = g.network.simple_request(
+ 'FM_ACNS_RETRIEVE_VIA_PCRUD',
+ [ ses(), {"owning_lib":{"=":ou_id}}, {"order_by":{"acns":"label_sortkey"}} ]
+ );
+ g.data.stash('list');
+ }
+ for (var i = 0; i < g.data.list['acns_for_lib_'+ou_id].length; i++) {
+ var my_acns = g.data.list['acns_for_lib_'+ou_id][i];
+ var menuitem = document.createElement('menuitem');
+ menupopup.appendChild(menuitem);
+ menuitem.setAttribute(
+ 'label',
+ my_acns.id() == -1 ? '' :
+ $('catStrings').getFormattedString(
+ 'staff.cat.volume_copy_creator.call_number_suffix.menuitem_label',
+ [
+ my_acns.label(),
+ g.data.hash.aou[ ou_id ].shortname()
+ ]
+ )
+ );
+ menuitem.setAttribute('value',my_acns.id());
+ }
+}
+
+
g.list_callnumbers = function(doc_id, label_class) {
var cn_blob;
try {
staff.cat.volume_copy_creator.load_prefs.err_retrieving_prefs=Error retrieving stored preferences
staff.cat.volume_copy_creator.save_prefs.err_storing_prefs=Error storing preferences
# %1$s = Call Number Prefix Label, %2$s = Call Number Prefix Owning Lib Shortname
-staff.cat.volume_copy_creator.call_number_prefix.menuentry_label=%2$s : %1$s
+staff.cat.volume_copy_creator.call_number_prefix.menuitem_label=%2$s : %1$s
+# %1$s = Call Number Suffix Label, %2$s = Call Number Suffix Owning Lib Shortname
+staff.cat.volume_copy_creator.call_number_suffix.menuitem_label=%2$s : %1$s
staff.cat.z3950.native_catalog=Native Catalog
staff.cat.z3950.obj_list_init.list_construction_error=Failure during list construction.
staff.cat.z3950.results_view.label=Results View