Helps in development and debugging.

- ActionDropdownWidget - report error if required action is missing
- report build errors to console
--
Petr Vobornik
From 02464015d151d859ef79c9e87d65684d78e6261e Mon Sep 17 00:00:00 2001
From: Petr Vobornik <pvobo...@redhat.com>
Date: Wed, 22 Apr 2015 13:17:25 +0200
Subject: [PATCH] webui: better error reporting

- ActionDropdownWidget - report error if required action is missing
- report build errors to console
---
 install/ui/src/freeipa/Application_controller.js       | 1 -
 install/ui/src/freeipa/_base/Builder.js                | 1 +
 install/ui/src/freeipa/_base/Singleton_registry.js     | 4 ++++
 install/ui/src/freeipa/widgets/ActionDropdownWidget.js | 6 ++++++
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/install/ui/src/freeipa/Application_controller.js b/install/ui/src/freeipa/Application_controller.js
index 4bf76f8f56a8e34e330c35956b8922cc3c8f79e3..7e76c225775019f714e4b462b2acfc909b93c755 100644
--- a/install/ui/src/freeipa/Application_controller.js
+++ b/install/ui/src/freeipa/Application_controller.js
@@ -262,7 +262,6 @@ define([
             if (error.results) {
                 var msg = error.results.message;
                 var stack = error.results.stack.toString();
-                window.console.error(msg);
                 window.console.error(stack);
                 details.append('<h3>Technical details:</h3>');
                 details.append($('<div/>', { text: error.results.message }));
diff --git a/install/ui/src/freeipa/_base/Builder.js b/install/ui/src/freeipa/_base/Builder.js
index 9433a8126e160120fff046c792f4e74330052ea0..f1183c1c23379e2adc61fb62cf24187ba092e44a 100644
--- a/install/ui/src/freeipa/_base/Builder.js
+++ b/install/ui/src/freeipa/_base/Builder.js
@@ -345,6 +345,7 @@ define(['dojo/_base/declare',
                     // object is not to be built
                     obj = null;
                 } else {
+                    window.console.error(e.stack);
                     throw e;
                 }
             }
diff --git a/install/ui/src/freeipa/_base/Singleton_registry.js b/install/ui/src/freeipa/_base/Singleton_registry.js
index 6aa10545630da9b0dc95c165f19c2b12ad63832b..b7ec458000f28240e79d44d2e50a5de29d4c48aa 100644
--- a/install/ui/src/freeipa/_base/Singleton_registry.js
+++ b/install/ui/src/freeipa/_base/Singleton_registry.js
@@ -69,6 +69,10 @@ define(['dojo/_base/declare',
                     obj = this._map[type] = this.builder.build(type);
                 } catch (e) {
                     if (e.code === 'no-ctor-fac') obj = null;
+                    else {
+                        window.console.error('Error while building: ' + type);
+                        throw e;
+                    }
                 }
             }
 
diff --git a/install/ui/src/freeipa/widgets/ActionDropdownWidget.js b/install/ui/src/freeipa/widgets/ActionDropdownWidget.js
index c43c79b5448b024368bcb7ab766e8770a0011a71..2ddcff64bf04070737332c20fff35edb7337c302 100644
--- a/install/ui/src/freeipa/widgets/ActionDropdownWidget.js
+++ b/install/ui/src/freeipa/widgets/ActionDropdownWidget.js
@@ -74,6 +74,12 @@ define(['dojo/_base/declare',
             for (i=0; i<this.action_names.length; i++) {
                 name = this.action_names[i];
                 action = this.facet.actions.get(name);
+                if (!action) {
+                    window.console.error(
+                        "ActionDropDown: cannot find action: " + name +
+                        "\nFacet: "+facet.name);
+                    continue;
+                }
                 this.add_action(action, true);
             }
             this.recreate_options();
-- 
2.1.0

-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to