[open-ils-commits] [GIT] Evergreen ILS branch rel_2_3 updated. 9285aa2e9851bc7f3ce3a6c5e646a62f8bb4b56f

Evergreen Git git at git.evergreen-ils.org
Thu May 16 11:03:24 EDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_2_3 has been updated
       via  9285aa2e9851bc7f3ce3a6c5e646a62f8bb4b56f (commit)
       via  e5a34ea91940325f90a5457efc81416856e10bf3 (commit)
      from  5796d8f44259aeef257ac60b16b159db7207e989 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9285aa2e9851bc7f3ce3a6c5e646a62f8bb4b56f
Author: Mike Rylander <mrylander at gmail.com>
Date:   Fri Apr 19 16:14:13 2013 -0400

    Correct subfield format for authority lookup
    
    The Authority Control Set code expects the format of subfields
    that it will be used to build a MARC.Field object to be of the
    form: [[code,value],...]  This commit makes that true.
    
    Additionally, dojo.filter over a list of lists can cause the
    nested array set to be flattened.  So, instead, we loop directly.
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/web/js/dojo/openils/AuthorityControlSet.js b/Open-ILS/web/js/dojo/openils/AuthorityControlSet.js
index c6c6c00..adb9086 100644
--- a/Open-ILS/web/js/dojo/openils/AuthorityControlSet.js
+++ b/Open-ILS/web/js/dojo/openils/AuthorityControlSet.js
@@ -289,17 +289,22 @@ if(!dojo._hasResource["openils.AuthorityControlSet"]) {
             var b_field = this.bibFieldByTag(field.tag);
 
             if (b_field) { // construct an marc authority record
-                af = b_field.authority_field();
+                var af = b_field.authority_field();
+
+                var sflist = [];                
+                for (var i = 0; i < field.subfields.length; i++) {
+                    if (af.sf_list().indexOf(field.subfields[i][0]) > -1) {
+                        sflist.push(field.subfields[i]);
+                    }
+                }
+
                 var m = new MARC.Record ({rtype:'AUT'});
                 m.appendFields(
                     new MARC.Field ({
                         tag : af.tag(),
                         ind1: field.ind1,
                         ind2: field.ind2,
-                        subfields: [dojo.filter(
-                            field.subfields,
-                            function (sf) { return (af.sf_list().indexOf(sf[0]) > -1) }
-                        )]
+                        subfields: sflist
                     })
                 );
 
diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js
index b3eb53a..614061f 100644
--- a/Open-ILS/xul/staff_client/server/cat/marcedit.js
+++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js
@@ -1606,8 +1606,7 @@ function validateAuthority (button) {
             var sf_list = [];
             for (var j = 0; j < subfields.length; j++) {
                 var sf = subfields[j];
-                sf_list.push( sf.childNodes[1].value );
-                sf_list.push( sf.childNodes[2].value );
+                sf_list.push( [ sf.childNodes[1].value, sf.childNodes[2].value ] );
             }
 
             var matches = acs.findMatchingAuthorities(

commit e5a34ea91940325f90a5457efc81416856e10bf3
Author: Bill Erickson <berick at esilibrary.com>
Date:   Thu May 16 09:11:50 2013 -0400

    Repair faulty MARC editor authority validation
    
    Repair how the JS inspects the results of
    open-ils.search.authority.simple_heading.from_xml.batch.atomic, which is
    used to look up matches for authority validation.  It returns a more
    complex structure in the brave new world of authority control sets.
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>
    Signed-off-by: Mike Rylander <mrylander at gmail.com>

diff --git a/Open-ILS/xul/staff_client/server/cat/marcedit.js b/Open-ILS/xul/staff_client/server/cat/marcedit.js
index 1fbf544..b3eb53a 100644
--- a/Open-ILS/xul/staff_client/server/cat/marcedit.js
+++ b/Open-ILS/xul/staff_client/server/cat/marcedit.js
@@ -1616,11 +1616,28 @@ function validateAuthority (button) {
                     'subfields' : sf_list
                 })
             );
+
+            // matches = [ { "$csetId" : [ ... ] } ]
+
+            var found = false;
+            if (matches[0]) { // probably set
+                for (var cset in matches[0]) {
+                    var arr = matches[0][cset];
+                    if (arr.length) {
+                        // protect against errant empty string values
+                        if (arr.length == 1 && arr[0] == '')
+                            continue;
+                        found = true;
+                        break;
+                    }
+                }
+            }
+
     
             // XXX If adt, etc should be validated separately from vxz, etc then move this up into the above for loop
             for (var j = 0; j < subfields.length; j++) {
                 var sf = subfields[j];
-                if (!matches.length) {
+                if (!found) {
                     dojo.removeClass(sf.childNodes[2], 'marcValidated');
                     dojo.addClass(sf.childNodes[2], 'marcUnvalidated');
                 } else {
@@ -1629,7 +1646,7 @@ function validateAuthority (button) {
                 }
             }
 
-            if (matches.length) done = true;
+            if (found) done = true;
         });
     }
 

-----------------------------------------------------------------------

Summary of changes:
 .../web/js/dojo/openils/AuthorityControlSet.js     |   15 ++++++++----
 Open-ILS/xul/staff_client/server/cat/marcedit.js   |   24 ++++++++++++++++---
 2 files changed, 30 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list