Fix a few thinkos in SFX-based ISBN display in search results
authorDan Scott <dan@coffeecode.net>
Thu, 23 Jun 2011 13:51:25 +0000 (09:51 -0400)
committerDan Scott <dan@coffeecode.net>
Thu, 23 Jun 2011 13:51:25 +0000 (09:51 -0400)
Also, change "E-Journals" to "Electronic Resources" to be more
inclusive.

Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/web/opac/skin/uwin/xml/result/result_table.xml

index b8c20d9..96d8426 100644 (file)
@@ -78,7 +78,7 @@
                                 <td class='sfx_display'> 
                                     <span class='sfx_image'>
                                     <img src='../../../../images/sfxinfo.jpg' alt=''/>
-                                    <i>SFX E-Journals</i>
+                                    <i>SFX Electronic Resource</i>
                                     </span>
                                     <span id='result_table_recid_span' name='result_table_recid_span' class='recid'>
                                         <span name='recid_holder' class='hide_me'></span>
                                 -->
                                 <span type='opac/slot-data' query='record' class='hide_me'>
                                 <span class='hide_me' debug='true' type='opac/slot-format'><![CDATA[
+                                    var found_issn = false;
+                                    dojo.query('datafield[tag="022"]', item).forEach(function(item) {
+                                        found_issn = true;
+                                    });
+                                    var found_isbn_sfx = false;
+                                    dojo.query('datafield[tag="020"] subfield[code="9"]', item).forEach(function(item) {
+                                        found_isbn_sfx = true;
+                                    });
+                                    if (!found_issn && !found_isbn_sfx) {
+                                        return;
+                                    }
+
                                     var this_title_id;
-                                
                                     dojo.query('datafield[tag="901"] subfield[code="c"]', item).forEach(function (item) {
                                         this_title_id = dojo.trim(BT.textContent(item));
                                     });
 
-                                    dojo.query('datafield[tag="020"]', item).forEach(function(item) {
-                                        var sfx_mark = false;
-                                        dojo.query('subfield[code="9"]', item).forEach(function(item) {
-                                            sfx_mark = true;
-                                        });
-                                        if (!sfx_mark) {
+                                    dojo.query('datafield[tag="020"] subfield', item).forEach(function(item) {
+                                        if (item.getAttribute('code') == '9') {
                                             return;
                                         }
-
                                         var isbn = '';
                                         isbn = BT.textContent(item) + '';
                                         isbn = isbn.replace(/^\s|.*?(\d\S*).*?$/, "$1");
                                             try {
                                                 var ses = new OpenSRF.ClientSession('open-ils.resolver');
                                                 var req = ses.request('open-ils.resolver.resolve_holdings.raw',
-                                                                                        'isbn', isbn, 'http://sfx.scholarsportal.info/windsor');
+                                                    'isbn', isbn, 'http://sfx.scholarsportal.info/windsor');
                                                 req.oncomplete = function(r) {
                                                     var resolverInfo = "";
                                                     dojo.forEach(r.recv().content(), function(entry) {
                                         dojo.query('datafield[tag="020"] subfield[code="9"]', item).forEach(function(isbn) {
                                             found_isbn = true;
                                         });
-                                        if (found_issn or found_isbn) { return; }
+                                        if (found_issn || found_isbn) { return; }
 
                                         var this_title_id;