[open-ils-commits] r8498 - in trunk/Open-ILS: web/opac/locale/en-US
xul/staff_client/server/circ xul/staff_client/server/locale/en-US
svn at svn.open-ils.org
svn at svn.open-ils.org
Thu Jan 24 16:18:15 EST 2008
Author: dbs
Date: 2008-01-24 15:51:34 -0500 (Thu, 24 Jan 2008)
New Revision: 8498
Modified:
trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
trunk/Open-ILS/xul/staff_client/server/circ/checkin.xul
trunk/Open-ILS/xul/staff_client/server/circ/checkin_overlay.xul
trunk/Open-ILS/xul/staff_client/server/circ/checkout.js
trunk/Open-ILS/xul/staff_client/server/circ/checkout.xul
trunk/Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
Log:
Localize checkin and checkout interfaces
Modified: trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
===================================================================
--- trunk/Open-ILS/web/opac/locale/en-US/lang.dtd 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/web/opac/locale/en-US/lang.dtd 2008-01-24 20:51:34 UTC (rev 8498)
@@ -1474,3 +1474,34 @@
<!ENTITY staff.server.admin.stat_cat.update_success "Update succeeded">
<!ENTITY staff.server.admin.upload_xacts.title "Upload Offline Transactions">
<!ENTITY staff.server.admin.upload_xacts.header "Uploading transactions...">
+<!ENTITY staff.circ.checkin_overlay.sel_clip.label "Copy to Clipboard">
+<!ENTITY staff.circ.checkin_overlay.sel_clip.accesskey "C">
+<!ENTITY staff.circ.checkin_overlay.sel_bucket.label "Add to Item Bucket">
+<!ENTITY staff.circ.checkin_overlay.sel_bucket.accesskey "A">
+<!ENTITY staff.circ.checkin_overlay.sel_opac.label "Show in Catalog">
+<!ENTITY staff.circ.checkin_overlay.sel_opac.accesskey "S">
+<!ENTITY staff.circ.checkin_overlay.sel_copy_details.label "Show Item Details">
+<!ENTITY staff.circ.checkin_overlay.sel_copy_details.accesskey "I">
+<!ENTITY staff.circ.checkin_overlay.sel_patron.label "Show Last Few Circulations">
+<!ENTITY staff.circ.checkin_overlay.sel_patron.accesskey "L">
+<!ENTITY staff.circ.checkin_overlay.sel_last_patron.label "Retrieve Last Patron who circulated item">
+<!ENTITY staff.circ.checkin_overlay.sel_last_patron.accesskey "R">
+<!ENTITY staff.circ.checkin_overlay.sel_edit.label "Edit Item Attributes">
+<!ENTITY staff.circ.checkin_overlay.sel_edit.accesskey "E">
+<!ENTITY staff.circ.checkin_overlay.sel_mark_items_damaged.label "Mark Item Damaged">
+<!ENTITY staff.circ.checkin_overlay.sel_mark_items_damaged.accesskey "D">
+<!ENTITY staff.circ.checkin_overlay.sel_transit_abort.label "Abort Transit">
+<!ENTITY staff.circ.checkin_overlay.sel_spine.label "Print Spine Label">
+<!ENTITY staff.circ.checkin_overlay.sel_spine.accesskey "P">
+<!ENTITY staff.circ.checkin_overlay.save_columns.label "Save Columns">
+<!ENTITY staff.circ.checkin_overlay.background_text "Check In / Process Item">
+<!ENTITY staff.circ.checkin_overlay.background_text.hold_capture "Auto-Print Hold and Transit Slips">
+<!ENTITY staff.circ.checkin_overlay.effective_date.label "Effective Date:">
+<!ENTITY staff.circ.checkin_overlay.actions.label "Actions for Selected Items">
+<!ENTITY staff.circ.checkin_overlay.actions.accesskey "S">
+<!ENTITY staff.circ.checkin_overlay.checkin_export.label "Export">
+<!ENTITY staff.circ.checkin_overlay.trim_list.label "Trim List (20 rows)">
+<!ENTITY staff.circ.checkin_overlay.strict_barcode.label "Strict Barcode">
+<!ENTITY staff.circ.checkin_overlay.do_not_alert_on_precat.label "Ignore Pre-cataloged Items">
+<!ENTITY staff.circ.checkin_overlay.checkin_auto.label "Auto-Print Hold and Transit Slips">
+<!ENTITY staff.circ.checkin_overlay.checkin_auto.accesskey "P">
Modified: trunk/Open-ILS/xul/staff_client/server/circ/checkin.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/checkin.xul 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/xul/staff_client/server/circ/checkin.xul 2008-01-24 20:51:34 UTC (rev 8498)
@@ -12,7 +12,7 @@
<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
<!-- LOCALIZATION -->
<!DOCTYPE window PUBLIC "" ""[
- <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+ <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
]>
<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -35,7 +35,7 @@
function my_init() {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+ if (typeof JSAN == 'undefined') { throw( document.getElementById("commonStrings").getString('common.jsan.missing') ); }
JSAN.errorLevel = "die"; // none, warn, or die
JSAN.addRepository('/xul/server/');
JSAN.use('util.error'); g.error = new util.error();
@@ -64,9 +64,7 @@
}
} catch(E) {
- var err_msg = "!! This software has encountered an error. Please tell your friendly " +
- "system administrator or software developer the following:\n"
- + 'circ.checkin.xul\n' + E + '\n';
+ var err_msg = document.getElementById("commonStrings").getFormattedString('common.exception', ['circ.checkin.xul', E]);
try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
alert(err_msg);
}
@@ -76,7 +74,7 @@
]]>
</script>
- <messagecatalog id="circStrings" src="/xul/server/locale/<!-- #echo var='locale'-->/circ.properties"/>
+ <messagecatalog id="circStrings" src="/xul/server/locale/<!-- #echo var='locale'-->/circ.properties"/>
<popupset id="copy_status_popupset"/>
Modified: trunk/Open-ILS/xul/staff_client/server/circ/checkin_overlay.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/checkin_overlay.xul 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/xul/staff_client/server/circ/checkin_overlay.xul 2008-01-24 20:51:34 UTC (rev 8498)
@@ -1,7 +1,10 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- LOCALIZATION -->
<!DOCTYPE overlay PUBLIC "" ""[
- <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+ <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
]>
+
<overlay id="checkin_overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
@@ -11,21 +14,21 @@
<popupset id="copy_status_popupset">
<popup id="copy_status_actions" position="at_pointer">
- <menuitem command="sel_clip" label="Copy to Clipboard" accesskey="C" />
- <menuitem command="sel_bucket" label="Add to Item Bucket" accesskey="A"/>
- <menuitem command="sel_opac" label="Show in Catalog" accesskey="S" />
- <menuitem command="sel_copy_details" label="Show Item Details" accesskey="I" />
- <menuitem command="sel_patron" label="Show Last Few Circulations" accesskey="L"/>
- <menuitem command="sel_last_patron" label="Retrieve Last Patron who circulated item" accesskey="R"/>
+ <menuitem command="sel_clip" label="&staff.circ.checkin_overlay.sel_clip.label;" accesskey="&staff.circ.checkin_overlay.sel_clip.accesskey;" />
+ <menuitem command="sel_bucket" label="&staff.circ.checkin_overlay.sel_bucket.label;" accesskey="&staff.circ.checkin_overlay.sel_bucket.accesskey;"/>
+ <menuitem command="sel_opac" label="&staff.circ.checkin_overlay.sel_opac.label;" accesskey="&staff.circ.checkin_overlay.sel_opac.accesskey;" />
+ <menuitem command="sel_copy_details" label="&staff.circ.checkin_overlay.sel_copy_details.label;" accesskey="&staff.circ.checkin_overlay.sel_copy_details.accesskey;" />
+ <menuitem command="sel_patron" label="&staff.circ.checkin_overlay.sel_patron.label;" accesskey="&staff.circ.checkin_overlay.sel_patron.accesskey;"/>
+ <menuitem command="sel_last_patron" label="&staff.circ.checkin_overlay.sel_last_patron.label;" accesskey="&staff.circ.checkin_overlay.sel_last_patron.accesskey;"/>
<menuseparator/>
- <menuitem command="sel_edit" label="Edit Item Attributes" accesskey="E" />
+ <menuitem command="sel_edit" label="&staff.circ.checkin_overlay.sel_edit.label;" accesskey="&staff.circ.checkin_overlay.sel_edit.accesskey;" />
<menuseparator />
- <menuitem command="sel_mark_items_damaged" label="Mark Item Damaged" accesskey="D"/>
+ <menuitem command="sel_mark_items_damaged" label="&staff.circ.checkin_overlay.sel_mark_items_damaged.label;" accesskey="&staff.circ.checkin_overlay.sel_mark_items_damaged.accesskey;"/>
<menuseparator />
- <menuitem command="sel_transit_abort" label="Abort Transit" />
+ <menuitem command="sel_transit_abort" label="&staff.circ.checkin_overlay.sel_transit_abort.label;" />
<menuseparator />
- <menuitem command="sel_spine" label="Print Spine Label" accesskey="P"/>
- <menuitem command="save_columns" label="Save Columns"/>
+ <menuitem command="sel_spine" label="&staff.circ.checkin_overlay.sel_spine.label;" accesskey="&staff.circ.checkin_overlay.sel_spine.accesskey;"/>
+ <menuitem command="save_columns" label="&staff.circ.checkin_overlay.save_columns.label;"/>
</popup>
</popupset>
@@ -37,8 +40,8 @@
<hbox id="background" style="background-color: green;">
<spacer flex="1"/>
<vbox>
- <label id="background-text" value="Check In / Process Item" style="font-size: x-large; font-weight: bold;"/>
- <label id="hold_capture_blurb" hidden="true" value="(and Auto-Print Hold/Transit Slips)" style="font-size: large; font-weight: bold;"/>
+ <label id="background-text" value="&staff.circ.checkin_overlay.background_text;" style="font-size: x-large; font-weight: bold;"/>
+ <label id="hold_capture_blurb" hidden="true" value="&staff.circ.checkin_overlay.background_text.hold_capture;" style="font-size: large; font-weight: bold;"/>
</vbox>
<spacer flex="1"/>
</hbox>
@@ -69,27 +72,27 @@
<vbox>
<hbox>
<hbox id="checkin_effective_date_hbox">
- <label id="checkin_effective_date_label" value="Effective Date:" control="checkin_effective_date_textbox" accesskey="D"/>
+ <label id="checkin_effective_date_label" value="&staff.circ.checkin_overlay.effective_date.label;" control="checkin_effective_date_textbox" accesskey="D"/>
<textbox id="checkin_effective_date_textbox"/>
</hbox>
<menubar>
- <menu label="Actions for Selected Items" accesskey="S">
+ <menu label="&staff.circ.checkin_overlay.actions.label;" accesskey="&staff.circ.checkin_overlay.actions.accesskey;">
<menupopup>
- <menuitem command="sel_clip" label="Copy to Clipboard" accesskey="C" />
- <menuitem command="sel_bucket" label="Add to Item Bucket" accesskey="A"/>
- <menuitem command="sel_opac" label="Show in Catalog" accesskey="S" />
- <menuitem command="sel_copy_details" label="Show Item Details" accesskey="I" />
- <menuitem command="sel_patron" label="Show Last Few Circulations" accesskey="L"/>
- <menuitem command="sel_last_patron" label="Retrieve Last Patron who circulated item" accesskey="R"/>
+ <menuitem command="sel_clip" label="&staff.circ.checkin_overlay.sel_clip.label;" accesskey="&staff.circ.checkin_overlay.sel_clip.accesskey;" />
+ <menuitem command="sel_bucket" label="&staff.circ.checkin_overlay.sel_bucket.label;" accesskey="&staff.circ.checkin_overlay.sel_bucket.accesskey;"/>
+ <menuitem command="sel_opac" label="&staff.circ.checkin_overlay.sel_opac.label;" accesskey="&staff.circ.checkin_overlay.sel_opac.accesskey;" />
+ <menuitem command="sel_copy_details" label="&staff.circ.checkin_overlay.sel_copy_details.label;" accesskey="&staff.circ.checkin_overlay.sel_copy_details.accesskey;" />
+ <menuitem command="sel_patron" label="&staff.circ.checkin_overlay.sel_patron.label;" accesskey="&staff.circ.checkin_overlay.sel_patron.accesskey;"/>
+ <menuitem command="sel_last_patron" label="&staff.circ.checkin_overlay.sel_last_patron.label;" accesskey="&staff.circ.checkin_overlay.sel_last_patron.accesskey;"/>
+ <menuseparator/>
+ <menuitem command="sel_edit" label="&staff.circ.checkin_overlay.sel_edit.label;" accesskey="&staff.circ.checkin_overlay.sel_edit.accesskey;" />
<menuseparator />
- <menuitem command="sel_edit" label="Edit Item Attributes" accesskey="E" />
+ <menuitem command="sel_mark_items_damaged" label="&staff.circ.checkin_overlay.sel_mark_items_damaged.label;" accesskey="&staff.circ.checkin_overlay.sel_mark_items_damaged.accesskey;"/>
<menuseparator />
- <menuitem command="sel_mark_items_damaged" label="Mark Item Damaged" accesskey="D"/>
+ <menuitem command="sel_transit_abort" label="&staff.circ.checkin_overlay.sel_transit_abort.label;" />
<menuseparator />
- <menuitem command="sel_transit_abort" label="Abort Transit" />
- <menuseparator />
- <menuitem command="sel_spine" label="Print Spine Label" accesskey="P"/>
- <menuitem command="save_columns" label="Save Columns"/>
+ <menuitem command="sel_spine" label="&staff.circ.checkin_overlay.sel_spine.label;" accesskey="&staff.circ.checkin_overlay.sel_spine.accesskey;"/>
+ <menuitem command="save_columns" label="&staff.circ.checkin_overlay.save_columns.label;"/>
</menupopup>
</menu>
</menubar>
@@ -104,14 +107,14 @@
command="cmd_checkin_print"
accesskey="&staff.checkin.print_receipt_label.accesskey;"/>
<button id="checkin_export"
- label="Export"
+ label="&staff.circ.checkin_overlay.checkin_export.label;"
command="cmd_checkin_export"
accesskey=""/>
- <checkbox id="trim_list" label="Trim List (20 rows)" checked="true" persist="checked"/>
- <checkbox id="strict_barcode" label="Strict Barcode" checked="false" persist="checked"/>
- <checkbox id="do_not_alert_on_precat" label="Don't Alert on Pre-Cat" persist="checked"/>
+ <checkbox id="trim_list" label="&staff.circ.checkin_overlay.trim_list.label;" checked="true" persist="checked"/>
+ <checkbox id="strict_barcode" label="&staff.circ.checkin_overlay.strict_barcode.label;" checked="false" persist="checked"/>
+ <checkbox id="do_not_alert_on_precat" label="&staff.circ.checkin_overlay.do_not_alert_on_precat.label;" persist="checked"/>
<spacer id="pcii3s" flex="1"/>
- <checkbox id="checkin_auto" label="Auto-Print for Hold/Transit Slips" accesskey="P" persist="checked"/>
+ <checkbox id="checkin_auto" label="&staff.circ.checkin_overlay.checkin_auto.label;" accesskey="&staff.circ.checkin_overlay.checkin_auto.accesskey;" persist="checked"/>
</hbox>
</overlay>
Modified: trunk/Open-ILS/xul/staff_client/server/circ/checkout.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/checkout.js 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/xul/staff_client/server/circ/checkout.js 2008-01-24 20:51:34 UTC (rev 8498)
@@ -68,7 +68,7 @@
[ b.owning_lib(), b.name() ]
);
} catch(E) {
- alert('error in noncat sorting: ' + E);
+ alert(document.getElementById('circStrings').getFormattedString('staff.circ.checkout.sorting.exception', [E]));
return 0;
}
}
@@ -124,7 +124,7 @@
ev.target.parentNode.setAttribute('style','');
} catch(E) {
ev.target.parentNode.setAttribute('style','background-color: red');
- alert(E + '\nUse this format: YYYY-MM-DD');
+ alert(E + '\n' + document.getElementById('circStrings').getString('staff.circ.checkout.date.exception'));
try {
ev.target.inputField.select();
ev.target.inputField.focus();
@@ -136,7 +136,7 @@
],
'cmd_broken' : [
['command'],
- function() { alert('Not Yet Implemented'); }
+ function() { alert(document.getElementById('circStrings').getString('staff.circ.checkout.unimplemented')); }
],
'cmd_checkout_submit' : [
['command'],
@@ -150,19 +150,44 @@
params.noncat = 1;
params.noncat_type = obj.controller.view.checkout_menu.value;
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
- var r = window.prompt('Enter the number of ' + obj.data.hash.cnct[ params.noncat_type].name() + ' circulating:','1','Non-cataloged Items');
+ var r = window.prompt(
+ document.getElementById('circStrings').getFormattedString('staff.circ.checkout.cmd_checkout_submit.msg', [obj.data.hash.cnct[params.noncat_type].name()]),
+ '1',
+ document.getElementById('circStrings').getString('staff.circ.checkout.cmd_checkout_submit.title')
+ );
if (r) {
count = Number(r);
if (count > 0) {
if (count > 99) {
- obj.error.yns_alert('You tried to circulate ' + count + ' ' + obj.data.hash.cnct[ params.noncat_type].name() + '. The maximum is 99 per action.','Non-cataloged Circulation','OK',null,null,'Check here to confirm this message.');
+ obj.error.yns_alert(
+ document.getElementById('circStrings').getFormattedString('staff.circ.checkout.cmd_checkout_submit.too_many.msg', [count, obj.data.hash.cnct[params.noncat_type].name()]),
+ document.getElementById('circStrings').getString('staff.circ.checkout.cmd_checkout_submit.too_many.title'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm')
+ );
return;
} else if (count > 20) {
- r = obj.error.yns_alert('Are you sure you want to circulate ' + count + ' ' + obj.data.hash.cnct[ params.noncat_type].name() + '?','Non-cataloged Circulation','Yes','No',null,'Check here to confirm this message.');
+ r = obj.error.yns_alert(
+ document.getElementById('circStrings').getFormattedString('staff.circ.checkout.cmd_checkout_submit.confirm.msg', [count, obj.data.hash.cnct[params.noncat_type].name()]),
+ document.getElementById('circStrings').getString('staff.circ.checkout.cmd_checkout_submit.confirm.title'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.yes.btn'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.no.btn'),
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm')
+ );
if (r != 0) return;
}
} else {
- r = obj.error.yns_alert('Error with non-cataloged checkout. ' + r + ' is not a valid number.','Non-cataloged Circulation','Ok',null,null,'Check here to confirm this message.');
+ r = obj.error.yns_alert(
+ document.getElementById('circStrings').getFormattedString('staff.circ.checkout.cmd_checkout_submit.non_numeric.msg', [r]),
+ document.getElementById('circStrings').getString('staff.circ.checkout.cmd_checkout_submit.non_numeric.title'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm')
+ );
return;
}
} else {
@@ -258,7 +283,7 @@
}
}
} catch(E) {
- obj.error.standard_unexpected_error_alert('Error determining whether to disable checkout.',E);
+ obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getString('staff.circ.checkout.disable.error'),E);
}
},
@@ -309,9 +334,9 @@
var todayPlus = new Date(); todayPlus.setTime( today.getTime() + 24*60*60*1000*pattern[1] );
node.value = util.date.formatted_date(todayPlus,"%F");
}
- if (! util.date.check('YYYY-MM-DD',node.value) ) { throw('Invalid Date'); }
- if (util.date.check_past('YYYY-MM-DD',node.value) ) { throw('Due date needs to be after today.'); }
- if ( util.date.formatted_date(new Date(),'%F') == node.value) { throw('Due date needs to be after today.'); }
+ if (! util.date.check('YYYY-MM-DD',node.value) ) { throw(document.getElementById('circStrings').getString('staff.circ.invalid_date')); }
+ if (util.date.check_past('YYYY-MM-DD',node.value) ) { throw(document.getElementById('circStrings').getString('staff.circ.checkout.date.too_early.error')); }
+ if ( util.date.formatted_date(new Date(),'%F') == node.value) { throw(throw(document.getElementById('circStrings').getString('staff.circ.checkout.date.too_early.error')); }
return true;
} catch(E) {
throw(E);
@@ -410,9 +435,9 @@
} catch(E) {
x.setAttribute('style','color: red');
- x.setAttribute('value',params.barcode + ' failed.');
+ x.setAttribute('value', document.getElementById('circStrings').getFormattedString('staff.circ.checkout.barcode.failed', [params.barcode]));
if (typeof params.noncat == 'undefined') obj.items_out_count--;
- obj.error.standard_unexpected_error_alert('Check Out Failed #3',E);
+ obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getFormattedString('staff.circ.checkout.barcode.failed.alert', ['#3']),E);
}
}
@@ -421,7 +446,11 @@
var x = document.createElement('label');
x.setAttribute('style','color: green');
- x.setAttribute('value',(params.barcode ? params.barcode : 'non-cat' ) + ' checkout pending...');
+ if (params.barcode) {
+ x.setAttribute('value',document.getElementById('circStrings').getFormattedString('staff.circ.checkout.barcode.pending', [params.barcode]));
+ } else {
+ x.setAttribute('value',document.getElementById('circStrings').getString('staff.circ.checkout.non_cataloged.pending'));
+ }
document.getElementById('msg_area').appendChild(x);
obj.network.request(
@@ -437,9 +466,9 @@
} catch(E) {
x.setAttribute('style','color: red');
- x.setAttribute('value',params.barcode + ' failed.');
+ x.setAttribute('value', document.getElementById('circStrings').getFormattedString('staff.circ.checkout.barcode.failed', [params.barcode]));
if (typeof params.noncat == 'undefined') obj.items_out_count--;
- obj.error.standard_unexpected_error_alert('Check Out Failed #2',E);
+ obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getFormattedString('staff.circ.checkout.barcode.failed.alert', ['#2']),E);
}
},
@@ -453,12 +482,12 @@
return true;
} else {
if ( 1 == obj.error.yns_alert(
- 'Bad checkdigit; possible mis-scan. Use this barcode ("' + bc + '") anyway?',
- 'Bad Barcode',
- 'Cancel',
- 'Accept Barcode',
+ document.getElementById('circStrings').getFormattedString('staff.circ.check_digit.bad', [bc]),
+ document.getElementById('circStrings').getString('staff.circ.barcode.bad'),
+ document.getElementById('circStrings').getString('staff.circ.cancel'),
+ document.getElementById('circStrings').getString('staff.circ.barcode.accept'),
null,
- 'Check here to confirm this action',
+ document.getElementById('circStrings').getString('staff.circ.confirm'),
'/xul/server/skin/media/images/bad_barcode.png'
) ) {
return true;
@@ -509,7 +538,7 @@
[ ses(), params, obj.items_out_count ],
null,
{
- 'title' : 'Override Checkout Failure?',
+ 'title' : document.getElementById('circStrings').getString('staff.circ.checkout.override.confirm'),
'overridable_events' : [
1212 /* PATRON_EXCEEDS_OVERDUE_COUNT */,
1213 /* PATRON_BARRED */,
@@ -574,12 +603,12 @@
if (test_event(permit,1202 /* ITEM_NOT_CATALOGED */)) {
if ( 1 == obj.error.yns_alert(
- 'Mis-scan or non-cataloged item. Checkout as a pre-cataloged item?',
- 'Alert',
- 'Cancel',
- 'Pre-Cat',
+ documents.getElementById('circStrings').getString('staff.circ.checkout.not_cataloged.confirm'),
+ documents.getElementById('circStrings').getString('staff.circ.alert'),
+ documents.getElementById('circStrings').getString('staff.circ.cancel'),
+ documents.getElementById('circStrings').getString('staff.circ.non_cataloged'),
null,
- 'Check here to confirm this action',
+ document.getElementById('circStrings').getString('staff.circ.confirm'),
'/xul/server/skin/media/images/book_question.png'
) ) {
@@ -593,7 +622,7 @@
params.dummy_author = obj.data.dummy_author;
params.precat = 1;
- if (params.dummy_title != '') { obj._checkout( params ); } else { throw('Checkout cancelled'); }
+ if (params.dummy_title != '') { obj._checkout( params ); } else { throw(document.getElementById('circStrings').getString('staff.circ.checkout.cancelled')); }
}
};
@@ -625,18 +654,39 @@
break;
case 1216 /* PATRON_CARD_INACTIVE */ :
found_handled = true;
- msg += 'The card used to retrieve this account is inactive and may not be used to circulate items.\n';
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ msg += document.getElementById('circStrings').getString('staff.circ.checkout.card.inactive') + '\n';
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
break;
case 1217 /* PATRON_INACTIVE */ :
found_handled = true;
- msg += 'This account is inactive and may not circulate items.\n';
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ msg += document.getElementById('circStrings').getString('staff.circ.checkout.account.inactive') + '\n';
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
break;
case 1224 /* PATRON_ACCOUNT_EXPIRED */ :
found_handled = true;
- msg += 'This account has expired and may not circulate items.\n';
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ msg += document.getElementById('circStrings').getString('staff.circ.checkout.account.expired') + '\n';
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
break;
case 7013 /* PATRON_EXCEEDS_FINES */ :
found_handled = true;
@@ -648,7 +698,7 @@
found_handled = true;
break;
case 7004 /* COPY_NOT_AVAILABLE */ :
- msg += test_permit[i].desc + '\n' + 'Copy status = ' + ( test_permit[i].payload.status().name() ) + '\n';
+ msg += test_permit[i].desc + '\n' + document.getElementById('circStrings').getFormattedString('staff.circ.checkout.copy_status', [test_permit[i].payload.status().name()]) + '\n';
found_handled = true;
break;
case 7006 /* COPY_IS_REFERENCE */ :
@@ -657,11 +707,18 @@
break;
case 7009 /* CIRC_CLAIMS_RETURNED */ :
msg += test_permit[i].desc + '\n';
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
found_handled = true;
break;
case 7010 /* COPY_ALERT_MESSAGE */ :
- msg += test_permit[i].desc + '\n' + 'Alert Message = ' + test_permit[i].payload + '\n';
+ msg += test_permit[i].desc + '\n' + document.getElementById('circStrings').getFormattedString('staff.circ.checkout.alert_message', [test_permit[i].payload]) + '\n';
found_handled = true;
break;
case 7016 /* ITEM_ON_HOLDS_SHELF */ :
@@ -672,7 +729,7 @@
found_handled = true;
break;
case 5000 /* PERM_FAILURE */ :
- msg += test_permit[i].desc + '\n' + 'Permission Denied = ' + test_permit[i].ilsperm + '\n';
+ msg += test_permit[i].desc + '\n' + document.getElementById('circStrings').getFormattedString('staff.circ.checkout.permission_denied', [test_permit[i].ilsperm]) + '\n';
found_handled = true;
break;
case 1702 /* OPEN_CIRCULATION_EXISTS */ :
@@ -686,9 +743,20 @@
my_circ = my_circ[0];
var due_date = my_circ.due_date() ? my_circ.due_date().substr(0,10) : null;
JSAN.use('util.date'); var today = util.date.formatted_date(new Date(),'%F');
- if (due_date) if (today > due_date) msg += '\nThis item was due on ' + due_date + '.\n';
+ if (due_date) {
+ if (today > due_date) {
+ msg += (document.getElementById('circStrings').getFormattedString('staff.circ.checkout.item_due', [due_date]) + '\n');
+ }
+ }
if (! stop_checkout ) {
- var r = obj.error.yns_alert(msg,'Check Out Failed','Cancel','Normal Checkin then Checkout', due_date ? (today > due_date ? 'Forgiving Checkin then Checkout' : null) : null,'Check here to confirm this message');
+ var r = obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.cancel'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.normal_checkin_then_checkout'),
+ due_date ? (today > due_date ? document.getElementById('circStrings').getString('staff.circ.checkout.forgiving_checkin_then_checkout') : null) : null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
JSAN.use('circ.util');
switch(r) {
case 1:
@@ -701,14 +769,28 @@
break;
}
} else {
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
}
break;
case 7014 /* COPY_IN_TRANSIT */ :
msg += test_permit[i].desc + '\n';
found_handled = true;
if (! stop_checkout ) {
- var r = obj.error.yns_alert(msg,'Check Out Failed','Cancel','Abort Transit then Checkout',null,'Check here to confirm this message');
+ var r = obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.cancel'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.abort_transit_then_checkout'),
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
switch(r) {
case 1:
var robj = obj.network.simple_request('FM_ATC_VOID',[ ses(), { 'barcode' : params.barcode } ]);
@@ -729,13 +811,27 @@
break;
}
} else {
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
}
break;
case -1 /* NETWORK_FAILURE */ :
- msg += 'There was a network failure.\n';
+ msg += document.getElementById('circStrings').getString('staff.circ.checkout.network_failure') + '\n';
found_handled = true;
- obj.error.yns_alert(msg,'Check Out Failed','OK',null,null,'Check here to confirm this message');
+ obj.error.yns_alert(
+ msg,
+ document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),
+ document.getElementById('circStrings').getString('staff.circ.checkout.ok.btn'),
+ null,
+ null,
+ document.getElementById('circStrings').getString('staff.circ.confirm.msg')
+ );
break;
default:
msg += 'FIXME: ' + js2JSON(test_permit[i]) + '\n';
@@ -755,9 +851,9 @@
} catch(E) {
if (params.barcode) { delete obj._checkout_pending_hash[ params.barcode ]; }
if (typeof E.ilsevent != 'undefined' && E.ilsevent == -1) {
- obj.error.standard_network_error_alert('Check Out Failed. If you wish to use the offline interface, in the top menubar select Circulation -> Offline Interface');
+ obj.error.standard_network_error_alert(document.getElementById('circStrings').getString('staff.circ.checkout.suggest_offline'));
} else {
- obj.error.standard_unexpected_error_alert('Check Out Failed',E);
+ obj.error.standard_unexpected_error_alert(document.getElementById('circStrings').getString('staff.circ.checkout.barcode.check_out_failed'),E);
}
if (typeof obj.on_failure == 'function') {
obj.on_failure(E);
Modified: trunk/Open-ILS/xul/staff_client/server/circ/checkout.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/circ/checkout.xul 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/xul/staff_client/server/circ/checkout.xul 2008-01-24 20:51:34 UTC (rev 8498)
@@ -82,6 +82,8 @@
]]>
</script>
+ <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+
<commandset id="checkout_cmds">
<command id="cmd_checkout_submit" />
<command id="cmd_checkout_print" />
Modified: trunk/Open-ILS/xul/staff_client/server/locale/en-US/circ.properties
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/locale/en-US/circ.properties 2008-01-24 18:32:14 UTC (rev 8497)
+++ trunk/Open-ILS/xul/staff_client/server/locale/en-US/circ.properties 2008-01-24 20:51:34 UTC (rev 8498)
@@ -1,3 +1,4 @@
+staff.circ.alert=Alert
staff.circ.item_no_circs=Item %1$s has never circulated.
staff.circ.invalid_date=Invalid Date
staff.circ.future_date=Future Date
@@ -5,11 +6,12 @@
staff.circ.backdated_checkin=Backdated %1$s Check In
staff.circ.backdate.exception=Problem setting backdate: %1$s
staff.circ.unimplemented=Not Yet Implemented
-staff.circ.check_digit.bad=Bad check digit; possible mis-scan. Use this barcode ("%1$s") anyway?
+staff.circ.check_digit.bad=Bad check digit, possibly due to a bad scan. Use this barcode ("%1$s") anyway?
staff.circ.barcode.bad=Bad Barcode
staff.circ.cancel=Cancel
staff.circ.barcode.accept=Accept Barcode
staff.circ.confirm=Check here to confirm this action
+staff.circ.confirm.msg=Check here to confirm this message.
# If we know the name of the object, we could parameterize that as well
staff.circ.checkin.exception=Something went wrong in circ.util.checkin: %1$s
staff.circ.checkin2.exception=Something went wrong in circ.util.checkin2: %1$s
@@ -19,3 +21,42 @@
staff.circ.checkin2.exception.checkin2: circ.util.checkin2: No external .on_failure()
staff.circ.util.checkin.exception.external=circ.util.checkin: Calling external .on_checkin()
staff.circ.util.checkin.exception.no_external=circ.util.checkin: Calling external .on_checkin()
+staff.circ.checkout.sorting.exception=error in sorting non-cataloged items: %1$s
+staff.circ.checkout.date.exception=Use this format: YYYY-MM-DD
+staff.circ.checkout.unimplemented=Not Yet Implemented
+staff.circ.checkout.cmd_checkout_submit.msg=Enter the number of %1$s circulating:
+staff.circ.checkout.cmd_checkout_submit.title=Non-cataloged Items
+staff.circ.checkout.cmd_checkout_submit.too_many.msg=You tried to circulate %1$d %2$s. The maximum is 99 per action.
+staff.circ.checkout.cmd_checkout_submit.too_many.title=Non-cataloged Circulation
+staff.circ.checkout.ok.btn=OK
+staff.circ.checkout.cmd_checkout_submit.confirm.msg=Are you sure you want to circulate %1$d %2$s?
+staff.circ.checkout.cmd_checkout_submit.confirm.title=Non-cataloged Circulation
+staff.circ.checkout.yes.btn=Yes
+staff.circ.checkout.no.btn=No
+staff.circ.checkout.cmd_checkout_submit.non_numeric.msg=Error with non-cataloged checkout. %1$s is not a valid number.
+staff.circ.checkout.cmd_checkout_submit.non_numeric.title=Non-cataloged Circulation
+staff.circ.checkout.disable.error=Error determining whether to disable checkout.
+staff.circ.checkout.date.too_early.error=Due date needs to be after today.
+staff.circ.checkout.barcode.failed= %1$s failed.
+staff.circ.checkout.non_cataloged.pending=Non-cataloged checkout pending...
+staff.circ.checkout.barcode.pending=%1$s checkout pending...
+staff.circ.checkout.barcode.failed.alert=Check Out Failed %1$s
+staff.circ.checkout.override.confirm=Override Checkout Failure?
+staff.circ.checkout.not_cataloged.confirm=Mis-scan or non-cataloged item. Checkout as a non-cataloged item?
+staff.circ.non_cataloged=Non-cataloged
+staff.circ.checkout.cancelled=Checkout cancelled
+staff.circ.checkout.card.inactive=The card used to retrieve this account is inactive and may not be used to circulate items.
+staff.circ.checkout.barcode.check_out_failed=Check Out Failed
+staff.circ.checkout.account.inactive=This account is inactive and may not circulate items.
+staff.circ.checkout.account.expired=This account has expired and may not circulate items.
+staff.circ.checkout.item_due=This item was due on %1$s.
+staff.circ.checkout.normal_checkin_then_checkout=Normal Checkin then Checkout
+staff.circ.checkout.forgiving_checkin_then_checkout=Forgiving Checkin then Checkout
+staff.circ.checkout.abort_transit_then_checkout=Abort Transit then Checkout
+staff.circ.checkout.network_failure=There was a network failure.
+staff.circ.checkout.copy_status=Copy status = %1$s
+staff.circ.checkout.alert_message=Alert Message = %1$s
+staff.circ.checkout.permission_denied=Permission Denied = %1$s
+# "Circulation" - check &staff.main.menu.circ.label; in lang.dtd
+# "Offline Interface" - check &staff.main.menu.circ.offline.label; in lang.dtd
+staff.circ.checkout.suggest_offline=Check Out Failed. If you wish to use the offline interface, in the top menubar select Circulation -> Offline Interface
More information about the open-ils-commits
mailing list