copy.ischanged('1');
}
copy.barcode( barcode );
- if (typeof g.acn_map[ acn_id ] != 'undefined') {
- copy.call_number( g.acn_map[ acn_id].id() ); /* handles vivicated call numbers */
- } else {
- dump('FIXME: In volume_copy_creator.js, g.gather_copies(), using acn_id, but no g.acn_map[acn_id]. acn_id = ' + acn_id + '\n');
- copy.call_number( acn_id );
- }
+ copy.call_number( acn_id );
// FIXME - at some point we will have multi-home multi-part items, and will need to preserve foreign parts
copy.parts( bmp_id ? [ g.parts_hash[ bmp_id ] ] : null );
copies.push( copy );
}
}
-g.vivicate_volumes = function() {
+g.vivicate_update_volumes = function() {
try {
+ var volumes = [];
for (var ou_id in g.volumes_scaffold) {
for (var composite_key in g.volumes_scaffold[ou_id]) {
}
}
+/*
var my_acn = g.acn_map[ acn_id ];
var node = g.volumes_scaffold[ou_id][composite_key].node;
var prefix_menulist = node.parentNode.previousSibling.firstChild;
var suffix_menulist = node.parentNode.nextSibling.firstChild;
- class_menulist.value = my_acn.label_class();
- prefix_menulist.value = my_acn.prefix();
- suffix_menulist.value = my_acn.suffix();
+ if ( String(class_menulist.value) != String(my_acn.label_class()) {
+ my_acn.label_class( class_menulist.value );
+ my_acn.ischanged( get_db_true() );
+ }
+ if ( String(prefix_menulist.value) != String(my_acn.prefix()) {
+ my_acn.prefix( prefix_menulist.value );
+ my_acn.ischanged( get_db_true() );
+ }
+ if ( String(suffix_menulist.value) != String(my_acn.suffix()) {
+ my_acn.suffix( suffix_menulist.value );
+ my_acn.ischanged( get_db_true() );
+ }
if (get_bool( my_acn.ischanged() )) {
- dump('******\nPUSHING my_acn = ' + js2JSON(my_acn) + '\n',4);
volumes.push( my_acn );
- } else {
- dump('******\nNOT PUSHING my_acn = ' + js2JSON(my_acn) + '\n',4);
+ }
+*/
+ }
+ }
+ if (volumes.length > 0) {
+ if (typeof xul_param('update_volume') == 'function') {
+ xul_param('update_volume')(volumes);
+ } else {
+ var r = g.network.simple_request(
+ 'FM_ACN_TREE_UPDATE',
+ [ ses(),volumes, false, { 'auto_merge_vols' : false } ]
+ );
+ if (typeof r.ilsevent != 'undefined') {
+ g.error.standard_unexpected_error_alert('volume update',r);
}
}
}
try {
- var volumes;
var copies;
if (xulG.unified_interface) {
copies = xulG.copies;
}
var dont_close = false;
- if (volumes.length > 0) {
- if (typeof xul_param('update_volume') == 'function') {
- xul_param('update_volume')(volumes);
+
+ g.vivicate_update_volumes();
+ for (var i = 0; i < copies.length; i++) {
+ var acn_id = copies[i].call_number();
+ if (typeof g.acn_map[acn_id] != 'undefined') {
+ // handle vivicated-callnumbers
+ copies[i].call_number( g.acn_map[acn_id].id() );
} else {
- var r = g.network.simple_request(
- 'FM_ACN_TREE_UPDATE',
- [ ses(),volumes, false, { 'auto_merge_vols' : false } ]
- );
- if (typeof r.ilsevent != 'undefined') {
- g.error.standard_unexpected_error_alert('volume update',r);
- }
+ alert('error in stash and close, acn_id = ' + acn_id);
}
}
+
if (copies.length > 0) {
if (param == 'edit') {
JSAN.use('cat.util');