for (var i = 0; i < count; i++) {
var status_string = g.org_label_existing_copy_map[ ou_id ][ acn_id ][i].status_string;
+ var status_id = g.org_label_existing_copy_map[ ou_id ][ acn_id ][i].status();
var barcode_node;
var barcode_textbox;
barcode_textbox.width = barcode_width;
set_handlers = true;
+ // JBAS-1736
+ // prevent barcode changes for items in non-editable statuses
+ barcode_textbox.disabled = (
+ my_constants.magical_statuses[status_id] &&
+ my_constants.magical_statuses[status_id].disable_in_copy_editor
+ );
+
// Make status
status_node = document.createElement('hbox');
status_column.appendChild(status_node);
tb.setAttribute('rel_vert_pos',rel_vert_pos_barcode);
part_menu.firstChild.setAttribute('rel_vert_pos',rel_vert_pos_part);
if (!tb.value && g.org_label_existing_copy_map[ ou_id ]) {
- tb.value = g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].barcode();
+ var copything = g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i];
+ tb.value = copything.barcode();
+
+ // JBAS-1736
+ // prevent barcode changes for items in non-editable statuses
+ var stat = copything.status();
+ if (typeof stat == 'object') stat = stat.id();
+ tb.disabled = (
+ my_constants.magical_statuses[stat] &&
+ my_constants.magical_statuses[stat].disable_in_copy_editor
+ );
+
tb.setAttribute('acp_id', g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].id());
var temp_parts = g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].parts();
temp_parts = util.functional.filter_list(