g.map_acn = {};
function $(id) { return document.getElementById(id); }
+function $_(x) { return $('catStrings').getString(x); }
function my_init() {
try {
/******************************************************************************************************/
/* setup JSAN and some initial libraries */
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if (typeof JSAN == 'undefined') {
throw( $('commonStrings').getString('common.jsan.missing') );
}
$('non_unified_buttons').hidden = true;
}
- g.docid = xul_param('docid',{'modal_xulG':true});
- g.handle_update = xul_param('handle_update',{'modal_xulG':true});
+ g.docid = xul_param('docid');
+ g.handle_update = xul_param('handle_update');
/******************************************************************************************************/
/* Get the copy ids from various sources and flesh them */
- var copy_ids = xul_param('copy_ids',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xulG':true,'JSON2js_if_xpcom':true,'stash_name':'temp_copy_ids','clear_xpcom':true,'modal_xulG':true});
+ var copy_ids = xul_param('copy_ids',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xulG':true,'JSON2js_if_xpcom':true,'stash_name':'temp_copy_ids','clear_xpcom':true});
if (!copy_ids) copy_ids = [];
if (copy_ids.length > 0) g.copies = g.network.simple_request(
/* And other fleshed copies if any */
if (!g.copies) g.copies = [];
- var c = xul_param('copies',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xpcom':true,'stash_name':'temp_copies','clear_xpcom':true,'modal_xulG':true})
+ var c = xul_param('copies',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xpcom':true,'stash_name':'temp_copies','clear_xpcom':true})
if (c) g.copies = g.copies.concat(c);
/******************************************************************************************************/
/* We try to retrieve callnumbers for existing copies, but for new copies, we rely on this */
- g.callnumbers = xul_param('callnumbers',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xpcom':true,'stash_name':'temp_callnumbers','clear_xpcom':true,'modal_xulG':true});
+ g.callnumbers = xul_param('callnumbers',{'concat':true,'JSON2js_if_cgi':true,'JSON2js_if_xpcom':true,'stash_name':'temp_callnumbers','clear_xpcom':true});
/******************************************************************************************************/
/* Get preference (if it exists) for copy location label order */
/******************************************************************************************************/
/* Is the interface an editor or a viewer, single or multi copy, existing copies or new copies? */
- if (xul_param('edit',{'modal_xulG':true}) == '1') {
+ if (xul_param('edit') == '1') {
g.edit = false;
g.export_templates = function() {
try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
JSAN.use('util.file'); var f = new util.file('');
f.export_file( { 'title' : $('catStrings').getString('staff.cat.copy_editor.export_templates.title'), 'data' : g.templates } );
} catch(E) {
g.import_templates = function() {
try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
JSAN.use('util.file'); var f = new util.file('');
var temp = f.import_file( { 'title' : $('catStrings').getString('staff.cat.copy_editor.import_templates.title') } );
if (temp) {
$('catStrings').getString('staff.cat.copy_editor.field.barcode.label'),
{
render: 'fm.barcode();',
+ input:
+ 'c = function (v) {'
+ + 'g.apply("barcode", v);'
+ + 'if (typeof post_c === "function") post_c(v);'
+ + '};'
+ + 'x = document.createElement("textbox");',
+ attr: { 'class': 'disabled' },
}
],
[
groupbox.setAttribute('style','');
}
- vbox.addEventListener('mouseover',on_mouseover,false);
- vbox.addEventListener('mouseout',on_mouseout,false);
groupbox.addEventListener('mouseover',on_mouseover,false);
groupbox.addEventListener('mouseout',on_mouseout,false);
- groupbox.firstChild.addEventListener('mouseover',on_mouseover,false);
- groupbox.firstChild.addEventListener('mouseout',on_mouseout,false);
function on_click(ev){
try {
- if (block || g.disabled || !g.edit) {
+ if (block || g.disabled || !g.edit || ev.currentTarget.classList.contains('disabled')) {
return;
}
block = true;
g.error.standard_unexpected_error_alert('render_input',E);
}
}
- vbox.addEventListener('click',on_click, false);
- hbox.addEventListener('click',on_click, false);
- caption.addEventListener('click',on_click, false);
- caption.addEventListener('keypress',function(ev) {
+ groupbox.addEventListener('click',on_click, false);
+ groupbox.addEventListener('keypress',function(ev) {
if (ev.keyCode == 13 /* enter */ || ev.keyCode == 77 /* mac enter */) on_click();
}, false);
caption.setAttribute('style','-moz-user-focus: normal');
/* store the copies in the global xpcom stash */
g.stash_and_close = function() {
+ var r = {textcode: ''};
try {
oils_unlock_page();
if (g.handle_update) {
try {
- var r = g.network.request(
+ r = g.network.request(
api.FM_ACP_FLESHED_BATCH_UPDATE.app,
api.FM_ACP_FLESHED_BATCH_UPDATE.method,
[ ses(), g.copies, true ]
);
- if (typeof r.ilsevent != 'undefined') {
+ if (r.textcode === 'ITEM_BARCODE_EXISTS') {
+ alert('error with item update: ' + r.desc);
+ var barcode = $($_('staff.cat.copy_editor.field.barcode.label'));
+ barcode.parentNode.classList.remove('disabled');
+ barcode.click();
+ }
+ else if (typeof r.ilsevent !== 'undefined') {
g.error.standard_unexpected_error_alert('copy update',r);
}
/* FIXME -- revisit the return value here */
//g.data.temp_copies = js2JSON( g.copies );
//g.data.stash('temp_copies');
xulG.copies = g.copies;
- update_modal_xulG(xulG);
- JSAN.use('util.widgets');
- util.widgets.dispatch('close',window);
+ if (r.textcode !== 'ITEM_BARCODE_EXISTS') {
+ JSAN.use('util.widgets');
+ util.widgets.dispatch('close',window);
+ }
} catch(E) {
alert('Error in copy_editor.js, g.stash_and_close(): '+E);
}