Merged revisions 9641-9642,9649-9650,9652 via svnmerge from
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 May 2008 14:44:04 +0000 (14:44 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 21 May 2008 14:44:04 +0000 (14:44 +0000)
svn://svn.open-ils.org/ILS/trunk

........
  r9641 | miker | 2008-05-19 14:01:23 -0400 (Mon, 19 May 2008) | 1 line

  simple xslt (with embeded usage info) for extracting perms from the IDL permacrud definitions
........
  r9642 | miker | 2008-05-19 14:17:07 -0400 (Mon, 19 May 2008) | 1 line

  script to find new perms from permacrud that are not in the permission seed data yet
........
  r9649 | dbs | 2008-05-20 23:42:34 -0400 (Tue, 20 May 2008) | 8 lines

  Patch from Craig Ricciuto:

  opac.xul changes:
    * Finished converting JavaScript strings

  cat.properties changes:
    * Added the strings from opac.xul
........
  r9650 | dbs | 2008-05-21 00:23:02 -0400 (Wed, 21 May 2008) | 16 lines

  i18n patch from Craig Ricciuto:

  Changes for record_buckets.xul:
  - converted hard-coded strings in the JavaScript to be stored in the DTD.
  - No XML strings to change.

  Changes for record_buckets.js:
  - Removed trailing commas in places
  - Converted all hard-coded strings to use JavaScript from the  .properties file(s)

  Changes for  cat.properties:
  - Added the property string names/values from record_buckets.js/.xul

  Changes for common.properties:
  - Added a common string that appear multiple times in record_buckets.js to here.
........
  r9652 | dbs | 2008-05-21 10:30:54 -0400 (Wed, 21 May 2008) | 7 lines

  i18n patch from Craig Ricciuto (Laurentian University):

  opac.xul: Converted a string that was missed
  record_buckets.js: Converted a string that was missed

  cat.properties: Added the variables and values for the missed strings from above files
........

git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9653 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/examples/extract-IDL-permissions.xsl [new file with mode: 0644]
Open-ILS/src/extras/reconcile-perms.sh [new file with mode: 0755]
Open-ILS/xul/staff_client/server/cat/opac.xul
Open-ILS/xul/staff_client/server/cat/record_buckets.js
Open-ILS/xul/staff_client/server/cat/record_buckets.xul
Open-ILS/xul/staff_client/server/locale/en-US/cat.properties
Open-ILS/xul/staff_client/server/locale/en-US/common.properties

diff --git a/Open-ILS/examples/extract-IDL-permissions.xsl b/Open-ILS/examples/extract-IDL-permissions.xsl
new file mode 100644 (file)
index 0000000..65fbb97
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://opensrf.org/spec/IDL/base/v1" xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1" xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1" xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1" xmlns:permacrud="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
+       <xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
+
+<!--
+       USAGE:
+               xsltproc extract-IDL-permissions.xsl fm_IDL.xml|perl -e 'while(<>){s/^\s+(.*)\s+$/$1/o;print("$1\n")unless(/^\s*$/ || /\s+/)}'|sort -u|less
+-->
+
+       <xsl:template match="//permacrud:actions/*">
+               <xsl:if test="@permission">
+                       <xsl:call-template name="output-tokens">
+                               <xsl:with-param name="list"><xsl:value-of select="@permission"/></xsl:with-param>
+                       </xsl:call-template>
+               </xsl:if>
+       </xsl:template>
+
+       <xsl:template name="output-tokens">
+               <xsl:param name="list" />
+               <xsl:variable name="newlist" select="normalize-space($list)" />
+               <xsl:variable name="first" select="substring-before($newlist, '|')" />
+               <xsl:variable name="remaining" select="substring-after($list, '|')" />
+               <xsl:choose test="$first">
+                       <xsl:when test="$first">
+                               <xsl:value-of select="$first" /><xsl:text>
+</xsl:text>
+                               <xsl:if test="$remaining">
+                                       <xsl:call-template name="output-tokens">
+                                               <xsl:with-param name="list" select="$remaining" />
+                                       </xsl:call-template>
+                               </xsl:if>
+                       </xsl:when>
+                       <xsl:otherwise>
+                               <xsl:value-of select="$list" />
+                       </xsl:otherwise>
+               </xsl:choose>
+       </xsl:template>
+
+</xsl:stylesheet>
diff --git a/Open-ILS/src/extras/reconcile-perms.sh b/Open-ILS/src/extras/reconcile-perms.sh
new file mode 100755 (executable)
index 0000000..27764f9
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+pushd . >/dev/null 2>/dev/null
+cd `dirname $0`
+
+xsltproc ../../examples/extract-IDL-permissions.xsl ../../examples/fm_IDL.xml|perl -e 'while(<>){s/^\s+(.*)\s+$/$1/o;print("$1\n")unless(/^\s*$/ || /\s+/)}'|sort -u > /tmp/oils_permacrud_perm_list
+grep -A1 perm_list ../sql/Pg/950.data.seed-values.sql|grep "'"|cut -f2 -d"'"|sort -u > /tmp/oils_sql_perm_list
+
+echo "New permissions from permacrud:"
+echo
+
+diff -pu /tmp/oils_sql_perm_list /tmp/oils_permacrud_perm_list |grep '^+'|cut -f2 -d'+'|grep -v '^$'
+
+echo
+
+popd >/dev/null 2>/dev/null
+
+
index e282de0..954bc5b 100644 (file)
@@ -32,6 +32,8 @@
        <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
        <script>
        <![CDATA[
+               function $(id) { return document.getElementById(id); }
+               function $w(id,text) { if ($(id)) util.widgets.set_text($(id),text); }
 
                var docid; var marc_html; var top_pane; var bottom_pane; var opac_frame; 
                var browser_frame; var browser_obj; var browser_win;
@@ -44,7 +46,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( $("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();
@@ -66,8 +68,7 @@
                                set_opac();
 
                        } catch(E) {
-                               var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
-                                       "system administrator or software developer the following:\ncat/opac.xul\n" + E + '\n';
+                               var err_msg = $("commonStrings").getFormattedString('common.exception', ['cat/opac.xul', E]);
                                try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
                                alert(err_msg);
                        }
@@ -84,7 +85,7 @@
                                                'docid' : docid,
                                                'set_tab_name' : function(n) { 
                                                        if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
-                                                               try { window.xulG.set_tab_name('Bib Record: ' + n); } catch(E) { alert(E); }
+                                                               try { window.xulG.set_tab_name($("catStrings").getFormattedString('staff.cat.opac.set_tab_name', [n])); } catch(E) { alert(E); }
                                                        } else {
                                                                dump('no set_tab_name\n');
                                                        }
                                                                        if (typeof r.ilsevent != 'undefined') {
                                                                                throw(r);
                                                                        } else {
-                                                                               alert('Record successfully saved.');
+                                                                               alert( $("catStrings").getString('staff.cat.opac.set_marc_edit.alert') );
                                                                        }
                                                                } catch(E) {
-                                                                               g.error.standard_unexpected_error_alert('Record not likely updated.',E);
+                                                                               g.error.standard_unexpected_error_alert( $("catStrings").getString('staff.cat.opac.set_marc_edit.std_unexpected_error'), E );
                                                                }
                                                        }
                                                },
                }
 
                function refresh() {
-                       alert('Not yet implemented.  Work around: Choose Duplicate in New Tab option');
+                       alert( $("catStrings").getString('staff.cat.opac.refresh.function_not_implemented.alert') );
                }
        ]]>
        </script>
+       
+       <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+       <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+       <messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
        <commandset><command id="cmd_forward"/><command id="cmd_back"/></commandset>
 
index 1bf13c6..f1a6645 100644 (file)
@@ -1,5 +1,7 @@
 dump('entering cat.record_buckets.js\n');
 
+function $(id) { return document.getElementById(id); }
+
 if (typeof cat == 'undefined') cat = {};
 cat.record_buckets = function (params) {
 
@@ -18,7 +20,7 @@ cat.record_buckets.pick_file = function (defaultFileName) {
        var nsIFilePicker = Components.interfaces.nsIFilePicker;
        var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance( nsIFilePicker );
 
-       fp.init( window, "Save File As", nsIFilePicker.modeSave );
+       fp.init( window, $("catStrings").getString('staff.cat.record_buckets.save_file_as'), nsIFilePicker.modeSave );
        if (defaultFileName)
                fp.defaultString = defaultFileName;
 
@@ -60,11 +62,11 @@ cat.record_buckets.export_records = function(obj, output_type) {
                if (file) {
                        persist.saveURI(uri,null,null,null,null,file);
                } else {
-                       alert("File not downloaded.");
+                       alert( $("catStrings").getString('staff.cat.record_buckets.export_records.alert') );
                }
 
        } catch(E) {
-               obj.error.standard_unexpected_error_alert('Records could not be exported.',E);
+               obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.export_records.std_unexpected_error'), E);
        }
 };
 
@@ -79,7 +81,7 @@ cat.record_buckets.prototype = {
                if (this.first_pause) {
                        this.first_pause = false;
                } else {
-                       alert("Action completed.");
+                       alert( $("commonStrings").getString('common.action_complete'));
                }
                var obj = this;
                obj.list1.clear();
@@ -104,7 +106,7 @@ cat.record_buckets.prototype = {
                                'publisher' : { 'hidden' : false },
                                'pubdate' : { 'hidden' : false },
                                'isbn' : { 'hidden' : false },
-                               'tcn' : { 'hidden' : false },
+                               'tcn' : { 'hidden' : false }
                        } 
                );
 
@@ -122,7 +124,8 @@ cat.record_buckets.prototype = {
                             if (typeof params.on_retrieve == 'function') { params.on_retrieve(row); }
 
                         } catch(E) {
-                            obj.error.standard_unexpected_error_alert('Error retrieving mvr for record with id =' + row.my.docid, E);
+                            obj.error.standard_unexpected_error_alert(
+                              $("catStrings").getFormattedString('staff.cat.record_buckets.retrieve_row.std_unexpected_error', [row.my.docid]), E);
                         }
                     }
                 );
@@ -156,7 +159,7 @@ cat.record_buckets.prototype = {
                                        } catch(E) {
                                                alert('FIXME: ' + E);
                                        }
-                               },
+                               }
 
                        }
                );
@@ -185,7 +188,7 @@ cat.record_buckets.prototype = {
                                        } catch(E) {
                                                alert('FIXME: ' + E);
                                        }
-                               },
+                               }
 
                        }
                );
@@ -218,7 +221,7 @@ cat.record_buckets.prototype = {
                                        } catch(E) {
                                                alert('FIXME: ' + E);
                                        }
-                               },
+                               }
                        }
                );
                
@@ -273,10 +276,13 @@ cat.record_buckets.prototype = {
                                                                        [ ses(), obj.data.list.au[0].id() ]
                                                                );
                                                                if (typeof buckets.ilsevent != 'undefined') {
-                                                                       obj.error.standard_unexpected_error_alert('Could not retrieve your buckets.',buckets);
+                                                                       obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.buckets.std_unexpected_error'), buckets);
                                                                        return;
                                                                }
-                                                               var items = [ ['Choose a bucket...',''], ['Retrieve shared bucket...',-1] ].concat(
+                                                               var items = [
+                                                                       [$("catStrings").getString('staff.cat.record_buckets.menulist_placeholder.item1'),''],
+                                                                       [$("catStrings").getString('staff.cat.record_buckets.menulist_placeholder.item2'),-1]
+                                                               ].concat(
                                                                        util.functional.map_list(
                                                                                util.functional.filter_list(
                                                                                        buckets.biblio,
@@ -308,7 +314,7 @@ cat.record_buckets.prototype = {
                                                                function change_bucket(ev) {
                                                                        var bucket_id = ev.target.value;
                                                                        if (bucket_id < 0 ) {
-                                                                               bucket_id = window.prompt('Enter bucket number:');
+                                                                               bucket_id = window.prompt($("catStrings").getString('staff.cat.record_buckets.change_bucket.bucket_id'));
                                                                                ev.target.value = bucket_id;
                                                                                ev.target.setAttribute('value',bucket_id);
                                                                        }
@@ -332,7 +338,7 @@ cat.record_buckets.prototype = {
                                                                                if (bucket.ilsevent == 1506 /* CONTAINER_NOT_FOUND */) {
                                                                                        alert('Could not find a bucket with ID = ' + bucket_id);
                                                                                } else {
-                                                                                       obj.error.standard_unexpected_error_alert('Error retrieving bucket.  Did you use a valid bucket id?',bucket);
+                                                                                       obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.change_bucket.error'),bucket);
                                                                                }
                                                                                return;
                                                                        }
@@ -505,7 +511,7 @@ cat.record_buckets.prototype = {
                                                                        alert(js2JSON(E));
                                                                }
                                                         }
-                                                       alert("Action completed.");
+                                                       alert( $("commonStrings").getString('common.action_complete'));
                                                        setTimeout(
                                                                function() {
                                                                        JSAN.use('util.widgets'); 
@@ -520,12 +526,12 @@ cat.record_buckets.prototype = {
                                                        try {
                                                                var bucket = obj.controller.view.bucket_menulist.value;
                                                                var name = obj.bucket_id_name_map[ bucket ];
-                                                               var conf = window.confirm('Delete the bucket named ' + name + '?');
+                                                               var conf = window.confirm($("catStrings").getFormattedString('staff.cat.record_buckets.delete_bucket_named', [name]));
                                                                if (!conf) return;
                                                                obj.list2.clear();
                                                                var robj = obj.network.simple_request('BUCKET_DELETE',[ses(),'biblio',bucket]);
                                                                if (typeof robj == 'object') throw robj;
-                                                               alert("Action completed.");
+                                                               alert( $("commonStrings").getString('common.action_complete'));
                                                                var x = document.getElementById('info_box');
                                 x.setAttribute('hidden','true');
                                 obj.controller.view.cmd_record_buckets_delete_bucket.setAttribute('disabled','true');
@@ -544,7 +550,7 @@ cat.record_buckets.prototype = {
                                                                );
 
                                                        } catch(E) {
-                                                               alert('FIXME -- ' + E);
+                                                               alert('FIXME: ' + E);
                                                        }
                                                }
                                        ],
@@ -552,7 +558,11 @@ cat.record_buckets.prototype = {
                                                ['command'],
                                                function() {
                                                        try {
-                                                               var name = prompt('What would you like to name the bucket?','','Bucket Creation');
+                                                               var name = prompt(
+                                                                       $("catStrings").getString('staff.cat.record_buckets.new_bucket.bucket_prompt'),
+                                                                       '',
+                                                                       $("catStrings").getString('staff.cat.record_buckets.new_bucket.bucket_prompt_title')
+                                                               );
 
                                                                if (name) {
                                                                        var bucket = new cbreb();
@@ -564,14 +574,13 @@ cat.record_buckets.prototype = {
 
                                                                        if (typeof robj == 'object') {
                                                                                if (robj.ilsevent == 1710 /* CONTAINER_EXISTS */) {
-                                                                                       alert('You already have a bucket with that name.');
+                                                                                       alert($("catStrings").getString('staff.cat.record_buckets.new_bucket.same_name_alert'));
                                                                                        return;
                                                                                }
                                                                                throw robj;
                                                                        }
 
-
-                                                                       alert('Bucket "' + name + '" created.');
+                                                                       alert($("catStrings").getFormattedString('staff.cat.record_buckets.new_bucket.bucket_created', [name]));
 
                                                                        obj.controller.render('record_buckets_menulist_placeholder');
                                                                        obj.controller.view.bucket_menulist.value = robj;
@@ -635,16 +644,21 @@ cat.record_buckets.prototype = {
 
                                                                netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
                                                                var top_xml = '<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" flex="1" >';
-                                                               top_xml += '<description>Merge these records? (Select the "lead" record first)</description>';
-                                                               top_xml += '<hbox><button id="lead" disabled="true" label="Merge" name="fancy_submit"/><button label="Cancel" accesskey="C" name="fancy_cancel"/></hbox></vbox>';
+                                                               top_xml += '<description>' + $("catStrings").getString('staff.cat.record_buckets.merge_records.merge_lead') + '</description>';
+                                                               top_xml += '<hbox>';
+                                                               top_xml += '<button id="lead" disabled="true" label="'
+                                                                               + $("catStrings").getString('staff.cat.record_buckets.merge_records.button.label') + '" name="fancy_submit"/>';
+                                                               top_xml += '<button label="' + $("catStrings").getString('staff.cat.record_buckets.merge_records.cancel_button.label') +'" accesskey="'
+                                                                               + $("catStrings").getString('staff.cat.record_buckets.merge_records.cancel_button.accesskey') +'" name="fancy_cancel"/></hbox></vbox>';
 
                                                                var xml = '<form xmlns="http://www.w3.org/1999/xhtml">';
                                                                xml += '<table><tr valign="top">';
                                                                for (var i = 0; i < record_ids.length; i++) {
-                                                                       xml += '<td><input value="Lead" id="record_' + record_ids[i] + '" type="radio" name="lead"';
-                                                                       xml += ' onclick="' + "try { var x = document.getElementById('lead'); x.setAttribute('value',";
+                                                                       xml += '<td><input value="' + $("catStrings").getString('staff.cat.record_buckets.merge_records.lead')
+                                                                               + ' id="record_' + record_ids[i] + '" type="radio" name="lead"';
+                                                                       xml += ' onclick="' + "try { var x = $('lead'); x.setAttribute('value',";
                                                                        xml += record_ids[i] + '); x.disabled = false; } catch(E) { alert(E); }">';
-                                                                       xml += '</input>Lead Record? #' + record_ids[i] + '</td>';
+                                                                       xml += '</input>' + $("catStrings").getFormattedString('staff.cat.record_buckets.merge_records.lead_record_number',[record_ids[i]]) + '</td>';
                                                                }
                                                                xml += '</tr><tr valign="top">';
                                                                for (var i = 0; i < record_ids.length; i++) {
@@ -667,12 +681,15 @@ cat.record_buckets.prototype = {
                                                                        //+ '&title=' + window.escape('Record Merging'),
                                                                        'fancy_prompt', 'chrome,resizable,modal,width=700,height=500',
                                                                        {
-                                                                               'top_xml' : top_xml, 'xml' : xml, 'title' : 'Record Merging'
+                                                                               'top_xml' : top_xml, 'xml' : xml, 'title' : $("catStrings").getString('staff.cat.record_buckets.merge_records.fancy_prompt_title')
                                                                        }
                                                                );
                                                                //obj.data.stash_retrieve();
 
-                                                               if (typeof fancy_prompt_data.fancy_status == 'undefined' || fancy_prompt_data.fancy_status == 'incomplete') { alert('Merge Aborted'); return; }
+                                                               if (typeof fancy_prompt_data.fancy_status == 'undefined' || fancy_prompt_data.fancy_status == 'incomplete') {
+                                                                       alert($("catStrings").getString('staff.cat.record_buckets.merge_records.fancy_prompt.alert'));
+                                                                       return;
+                                                               }
                                                                var robj = obj.network.simple_request('MERGE_RECORDS', 
                                                                        [ 
                                                                                ses(), 
@@ -687,7 +704,7 @@ cat.record_buckets.prototype = {
                                                                if (typeof robj.ilsevent != 'undefined') {
                                                                        throw(robj);
                                                                } else {
-                                                                       alert('Records were successfully merged.');
+                                                                       alert($("catStrings").getString('staff.cat.record_buckets.merge_records.success'));
                                                                }
 
                                                                obj.render_pending_records(); // FIXME -- need a generic refresh for lists
@@ -698,7 +715,7 @@ cat.record_buckets.prototype = {
                                                                        }, 0
                                                                );
                                                        } catch(E) {
-                                                               obj.error.standard_unexpected_error_alert('Records were not likely merged.',E);
+                                                               obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.merge_records.catch.std_unex_error'),E);
                                                        }
 
                                                }
@@ -721,13 +738,19 @@ cat.record_buckets.prototype = {
 
                                                                netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
                                                                var top_xml = '<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" flex="1" >';
-                                                               top_xml += '<description>Delete these records?</description>';
-                                                               top_xml += '<hbox><button id="lead" disabled="false" label="Delete" name="fancy_submit"/><button label="Cancel" accesskey="C" name="fancy_cancel"/></hbox></vbox>';
+                                                               top_xml += '<description>' + $("catStrings").getString('staff.cat.record_buckets.delete_records.xml1') + '</description>';
+                                                               top_xml += '<hbox>';
+                                                               top_xml += '<button id="lead" disabled="false" label="'
+                                                                               + $("catStrings").getString('staff.cat.record_buckets.delete_records.button.label')
+                                                                               + '" name="fancy_submit"/>';
+                                                               top_xml += '<button label="'
+                                                                               + $("catStrings").getString('staff.cat.record_buckets.delete_records.cancel_button.label') +'" accesskey="'
+                                                                               + $("catStrings").getString('staff.cat.record_buckets.delete_records.cancel_button.accesskey') +'" name="fancy_cancel"/></hbox></vbox>';
 
                                                                var xml = '<form xmlns="http://www.w3.org/1999/xhtml">';
                                                                xml += '<table><tr valign="top">';
                                                                for (var i = 0; i < record_ids.length; i++) {
-                                                                       xml += '<td>Record #' + record_ids[i] + '</td>';
+                                                                       xml += '<td>' + $("catStrings").getFormattedString('staff.cat.record_buckets.delete_records.xml2', [record_ids[i]]) + '</td>';
                                                                }
                                                                xml += '</tr><tr valign="top">';
                                                                for (var i = 0; i < record_ids.length; i++) {
@@ -750,20 +773,23 @@ cat.record_buckets.prototype = {
                                                                        //+ '&title=' + window.escape('Record Purging'),
                                                                        'fancy_prompt', 'chrome,resizable,modal,width=700,height=500',
                                                                        {
-                                                                               'top_xml' : top_xml, 'xml' : xml, 'title' : 'Record Purging'
+                                                                               'top_xml' : top_xml, 'xml' : xml, 'title' : $("catStrings").getString('staff.cat.record_buckets.delete_records.fancy_prompt_title')
                                                                        }
                                                                );
                                                                //obj.data.stash_retrieve();
-                                                               if (typeof fancy_prompt_data.fancy_status == 'undefined' || fancy_prompt_data.fancy_status != 'complete') { alert('Delete Aborted'); return; }
+                                                               if (typeof fancy_prompt_data.fancy_status == 'undefined' || fancy_prompt_data.fancy_status != 'complete') {
+                                                                       alert($("catStrings").getString('staff.cat.record_buckets.delete_records.fancy_prompt.alert'));
+                                                                       return;
+                                                               }
                                                                var s = '';
                                                                for (var i = 0; i < record_ids.length; i++) {
                                                                        var robj = obj.network.simple_request('FM_BRE_DELETE',[ses(),record_ids[i]]);
                                                                        if (typeof robj.ilsevent != 'undefined') {
-                                                                               if (!s) s = 'Error deleting these records:\n';
-                                                                               s += 'Record #' + record_ids[i] + ' : ' + robj.textcode + ' : ' + robj.desc + '\n';
+                                                                               if (!s) s = $("catStrings").getString('staff.cat.record_buckets.delete_records.s1');
+                                                                               s += $("catStrings").getFormattedString('staff.cat.record_buckets.delete_records.s2', [record_ids[i], robj.textcode, robj.desc]);
                                                                        }
                                                                }
-                                                               if (s) { alert(s); } else { alert('Records deleted.'); }
+                                                               if (s) { alert(s); } else { alert($("catStrings").getString('staff.cat.record_buckets.delete_records.delete_success.alert')); }
 
                                                                obj.render_pending_records(); // FIXME -- need a generic refresh for lists
                                                                setTimeout(
@@ -773,7 +799,7 @@ cat.record_buckets.prototype = {
                                                                        }, 0
                                                                );
                                                        } catch(E) {
-                                                               obj.error.standard_unexpected_error_alert('Records were not likely deleted.',E);
+                                                               obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.delete_records.catch.std_unex_err',E));
                                                        }
 
                                                }
@@ -781,7 +807,7 @@ cat.record_buckets.prototype = {
 
                                        'cmd_broken' : [
                                                ['command'],
-                                               function() { alert('Not Yet Implemented'); }
+                                               function() { alert($("catStrings").getString('staff.cat.record_buckets.cmd_broken.alert')); }
                                        ],
                                        'cmd_sel_opac' : [
                                                ['command'],
@@ -803,16 +829,16 @@ cat.record_buckets.prototype = {
                                                                        var content_params = { 
                                                                                'session' : ses(),
                                                                                'authtime' : ses('authtime'),
-                                                                               'opac_url' : opac_url,
+                                                                               'opac_url' : opac_url
                                                                        };
                                                                        xulG.new_tab(
                                                                                xulG.url_prefix(urls.XUL_OPAC_WRAPPER), 
-                                                                               {'tab_name':'Retrieving title...'}, 
+                                                                               {'tab_name':$("catStrings").getString('staff.cat.record_buckets.cmd_sel_opac.tab_name')}, 
                                                                                content_params
                                                                        );
                                                                }
                                                        } catch(E) {
-                                                               obj.error.standard_unexpected_error_alert('Showing in OPAC',E);
+                                                               obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets.cmd_sel_opac.catch.std_unex_err'),E);
                                                        }
                                                }
                                        ],
@@ -840,7 +866,7 @@ cat.record_buckets.prototype = {
             obj.list0.clear();
             var y = document.getElementById('query_status');
             x.disabled = true;
-            if (y) y.value = 'Searching...';
+            if (y) y.value = $("catStrings").getString('staff.cat.record_buckets.submit.query_status');
             obj.network.simple_request(
                 'FM_BRE_ID_SEARCH_VIA_MULTICLASS_QUERY',
                 [ {}, x.value, 1 ],
@@ -895,10 +921,10 @@ cat.record_buckets.prototype = {
             };
             return item;
                } catch(E) {
-                       obj.error.standard_unexpected_error_alert('Could not retrieve this record: ' + docid,E);
+                       obj.error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.record_buckets.prep_record_for_list.std_unex_err', [docid]),E);
                        return null;
                }
-       },
+       }
        
 };
 
index 6779bb0..24be085 100644 (file)
@@ -12,7 +12,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-       <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -41,9 +41,9 @@
                                /* ugly hack so we don't have to upgrade the chrome for quick buckets */
                                if (typeof xulG == 'undefined') location.href = String(location.href).replace(/record_buckets.xul/,'record_buckets_quick.xul');
 
-                catStrings = document.getElementById('catStrings');    
+                catStrings = document.getElementById('catStrings');
+                if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 
-                if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
                                JSAN.errorLevel = "die"; // none, warn, or die
                                JSAN.addRepository('/xul/server/');
                                JSAN.use('util.error'); g.error = new util.error();
@@ -72,9 +72,7 @@
                                }
 
                        } catch(E) {
-                               var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
-                                       "system administrator or software developer the following:\n" 
-                                       + 'cat.record_buckets.xul\n' + E + '\n';
+                               var err_msg = document.getElementById("commonStrings").getFormattedString('common.exception', ['cat/record_buckets.xul', E]);
                                try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
                                alert(err_msg);
                        }
@@ -85,6 +83,7 @@
 
     <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale' -->/circ.properties"/>
     <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale' -->/cat.properties"/>
+    <messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
        <commandset id="record_buckets_cmds">
                <command id="sel_clip0" disabled="true"/>
index dd57a08..2d829f3 100644 (file)
@@ -193,3 +193,48 @@ staff.cat.marc_new.record_created.label=Record created.
 staff.cat.marc_new.retrieving.label=Retrieving title...
 staff.cat.marc_new.creating_record.error=Error creating MARC record.
 staff.cat.marc_new.loading_template.error=Error loading MARC template: %1$s
+staff.cat.opac.set_marc_edit.alert=Record successfully saved.
+staff.cat.opac.set_marc_edit.std_unexpected_error=Record not likely updated.
+staff.cat.opac.refresh.function_not_implemented.alert=Not yet implemented.  Work around: Choose Duplicate in New Tab option
+staff.cat.opac.set_tab_name=Bib Record: %1$s
+staff.cat.record_buckets.save_file_as=Save File As
+staff.cat.record_buckets.export_records.alert=File not downloaded.
+staff.cat.record_buckets.export_records.std_unexpected_error=Records could not be exported.
+staff.cat.record_buckets.rednder_pending_records.alert=Action completed.
+staff.cat.record_buckets.retrieve_row.std_unexpected_error=Error retrieving mvr for record with ID = %1$s
+staff.cat.record_buckets.buckets.std_unexpected_error=Could not retrieve your buckets.
+staff.cat.record_buckets.menulist_placeholder.item1=Choose a bucket...
+staff.cat.record_buckets.menulist_placeholder.item2=Retrieve shared bucket...
+staff.cat.record_buckets.change_bucket.bucket_id=Enter bucket number:
+staff.cat.record_buckets.change_bucket.error=Error retrieving bucket.  Did you use a valid bucket ID?
+staff.cat.record_buckets.delete_bucket_named=Delete the bucket named %1$s?
+staff.cat.record_buckets.new_bucket.bucket_prompt=What would you like to name the bucket?
+staff.cat.record_buckets.new_bucket.bucket_prompt_title=Bucket Creation
+staff.cat.record_buckets.new_bucket.same_name_alert=You already have a bucket with that name.
+staff.cat.record_buckets.new_bucket.bucket_created=Bucket %1$s created.
+staff.cat.record_buckets.merge_records.merge_lead=Merge these records? (Select the "lead" record first)
+staff.cat.record_buckets.merge_records.button.label=Merge
+staff.cat.record_buckets.merge_records.cancel_button.label=Cancel
+staff.cat.record_buckets.merge_records.cancel_button.accesskey=C
+staff.cat.record_buckets.merge_records.lead_record_number=Lead Record? # %1$s
+staff.cat.record_buckets.merge_records.lead=Lead
+staff.cat.record_buckets.merge_records.fancy_prompt_title=Record Merging
+staff.cat.record_buckets.merge_records.fancy_prompt.alert=Merge Aborted
+staff.cat.record_buckets.merge_records.success=Records were successfully merged.
+staff.cat.record_buckets.merge_records.catch.std_unex_error=Records were not likely merged.
+staff.cat.record_buckets.delete_records.xml1=Delete these records?
+staff.cat.record_buckets.delete_records.button.label=Delete
+staff.cat.record_buckets.delete_records.cancel_button.label=Cancel
+staff.cat.record_buckets.delete_records.cancel_button.accesskey=C
+staff.cat.record_buckets.delete_records.xml2=Record? # %1$s
+staff.cat.record_buckets.delete_records.fancy_prompt_title=Record Purging
+staff.cat.record_buckets.delete_records.fancy_prompt.alert=Delete Aborted
+staff.cat.record_buckets.delete_records.s1=Error deleting these records:\n
+staff.cat.record_buckets.delete_records.s2=Record #%1$s : %2$s  : %3$s\n
+staff.cat.record_buckets.delete_records.delete_success.alert=Records deleted.
+staff.cat.record_buckets.delete_records.catch.std_unex_err=Records were not likely deleted.
+staff.cat.record_buckets.cmd_broken.alert=Not Yet Implemented
+staff.cat.record_buckets.cmd_sel_opac.tab_name=Retrieving title...
+staff.cat.record_buckets.cmd_sel_opac.catch.std_unex_err=Showing in OPAC
+staff.cat.record_buckets.submit.query_status=Searching...
+staff.cat.record_buckets.prep_record_for_list.std_unex_err=Could not retrieve this record: %1$s
index dd7b89c..e283b17 100644 (file)
@@ -12,6 +12,7 @@ common.barcode.status.warning.barred=Barred
 common.barcode.status.warning.blocked=Blocked
 common.barcode.status.warning.unknown=with an unknown code: %1$s
 common.date.invalid=Invalid Date
+common.action_complete=Action completed.
 # common.grouping_string = the string that should be inserted between elements of a grouped list
 common.grouping_string=, 
 common.unimplemented=Not yet implemented