[open-ils-commits] r16790 - trunk/Open-ILS/web/js/dojo/openils (miker)

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Jun 23 14:03:46 EDT 2010


Author: miker
Date: 2010-06-23 14:03:42 -0400 (Wed, 23 Jun 2010)
New Revision: 16790

Modified:
   trunk/Open-ILS/web/js/dojo/openils/BibTemplate.js
Log:
protect templated slots from errors when there are no template variables

Modified: trunk/Open-ILS/web/js/dojo/openils/BibTemplate.js
===================================================================
--- trunk/Open-ILS/web/js/dojo/openils/BibTemplate.js	2010-06-23 17:56:45 UTC (rev 16789)
+++ trunk/Open-ILS/web/js/dojo/openils/BibTemplate.js	2010-06-23 18:03:42 UTC (rev 16790)
@@ -133,6 +133,7 @@
                                     if (templated) {
                                         if (debug) alert('BibTemplate debug -- slot template innerHTML:\n' + slot.innerHTML);
                                         var template_values = {};
+                                        var template_value_count = 0;
 
                                         dojo.query(
                                             '*[type=opac/template-value]',
@@ -140,11 +141,14 @@
                                         ).orphan().forEach(function(x) {
                                             var name = x.getAttribute('name');
                                             var value = (new Function( 'item_list', 'BT', 'slotXML', 'slot', unescape(x.innerHTML) ))(item_list,BT,bib,slot);
-                                            if (name && (value || value == '')) template_values[name] = value;
+                                            if (name && (value || value == '')) {
+                                                template_values[name] = value;
+                                                template_value_count++;
+                                            }
                                         });
 
                                         if (debug) alert('BibTemplate debug -- template values:\n' + dojo.toJson( template_values ));
-                                        slot.innerHTML = dojo.string.substitute( unescape(slot.innerHTML), template_values );
+                                        if (template_value_count > 0) slot.innerHTML = dojo.string.substitute( unescape(slot.innerHTML), template_values );
                                     }
 
                                     var handler_node = dojo.query( '*[type=opac/slot-format]', slot )[0];



More information about the open-ils-commits mailing list