some error handling
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 7 Nov 2007 14:43:39 +0000 (14:43 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 7 Nov 2007 14:43:39 +0000 (14:43 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@8029 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/cat/marc_view.html

index d19e301..23811b8 100644 (file)
        var xsltProcessor;
 
        function xsl_marc2html_init() {
-               netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
-               xsltProcessor = new XSLTProcessor();
-               var req = new XMLHttpRequest();
-               req.open("GET", urls.xsl_marc2html, false);
-               req.send(null);
-               var xsl = req.responseXML;
-               xsltProcessor.importStylesheet(xsl);
+        try {
+               netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+               xsltProcessor = new XSLTProcessor();
+               var req = new XMLHttpRequest();
+               req.open("GET", urls.xsl_marc2html, false);
+               req.send(null);
+            if (req.status != 200) {
+                alert('We were unable to load ' + urls.xsl_marc2html + ' and thus cannot display the MARC here.\nReason: ' + req.statusText);
+                return false;
+            }
+               var xsl = req.responseXML;
+               xsltProcessor.importStylesheet(xsl);
+            return true;
+        } catch(E) {
+            alert('An error occured and we are unable to display the MARC here.\nError in xsl_marc2html_init: ' + E);
+            return false;
+        }
        }
 
        function apply_xsl_marc2html(marc) {
-               netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
-               var obj = this;
-               var parser = new DOMParser();
-               var doc = parser.parseFromString( marc, 'text/xml' );
-               var node = doc.documentElement;
-               var fragment = xsltProcessor.transformToFragment(node, document);
-               document.body.appendChild(fragment);
+        try {
+               netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+            var obj = this;
+            var parser = new DOMParser();
+            var doc = parser.parseFromString( marc, 'text/xml' );
+            var node = doc.documentElement;
+            var fragment = xsltProcessor.transformToFragment(node, document);
+            document.body.appendChild(fragment);
+        } catch(E) {
+            alert('An error occured and we are unable to display the MARC here.\nError in apply_xsl_marc2html: ' + E);
+        }
        }
 
        function my_init() {
-               xsl_marc2html_init();
+               if (!xsl_marc2html_init()) return;
                document.body.innerHTML = "<button onclick='window.print()'>Print Page</button>";
                if (typeof xulG != 'undefined' && xulG.marcxml) apply_xsl_marc2html(xulG.marcxml);
                document.body.firstChild.focus();