summaryrefslogtreecommitdiffstats
path: root/install/static
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-10-28 09:50:34 -0500
committerAdam Young <ayoung@redhat.com>2010-10-28 13:11:51 -0400
commitde3cc334eddff26a743e537f10055e5d6398ffa5 (patch)
tree2797686cf46ee9cef146351eb4aabb64a98bb87c /install/static
parent528145d5df30d4b344cd0edafa8e8adba0b817b1 (diff)
downloadfreeipa-de3cc334eddff26a743e537f10055e5d6398ffa5.tar.gz
freeipa-de3cc334eddff26a743e537f10055e5d6398ffa5.tar.xz
freeipa-de3cc334eddff26a743e537f10055e5d6398ffa5.zip
Dialog boxes for AJAX, HTTP, and IPA errors.
The ipa_cmd() has been modified to identity the type of the error it has received and display the error using the right dialog box. The dialog box can be customized further to display the appropriate amount of information for each type of error.
Diffstat (limited to 'install/static')
-rw-r--r--install/static/associate.js2
-rw-r--r--install/static/details.js2
-rw-r--r--install/static/ipa.js78
-rw-r--r--install/static/search.js2
-rw-r--r--install/static/webui.js2
5 files changed, 56 insertions, 30 deletions
diff --git a/install/static/associate.js b/install/static/associate.js
index a99fd907b..7daa0cffb 100644
--- a/install/static/associate.js
+++ b/install/static/associate.js
@@ -321,7 +321,7 @@ function ipa_association_facet(spec) {
function refresh_on_error(xhr, text_status, error_thrown) {
var search_results = $('.search-results', container).empty();
search_results.append('<p>Error: '+error_thrown.name+'</p>');
- search_results.append('<p>URL: '+this.url+'</p>');
+ search_results.append('<p>'+error_thrown.title+'</p>');
search_results.append('<p>'+error_thrown.message+'</p>');
}
diff --git a/install/static/details.js b/install/static/details.js
index d4593d82e..e4cbec77e 100644
--- a/install/static/details.js
+++ b/install/static/details.js
@@ -335,7 +335,7 @@ function ipa_details_load(container, pkey, on_win, on_fail)
var details = $('.details', container).empty();
details.append('<p>Error: '+error_thrown.name+'</p>');
- details.append('<p>URL: '+this.url+'</p>');
+ details.append('<p>'+error_thrown.title+'</p>');
details.append('<p>'+error_thrown.message+'</p>');
}
diff --git a/install/static/ipa.js b/install/static/ipa.js
index 9da693051..d1558ee7c 100644
--- a/install/static/ipa.js
+++ b/install/static/ipa.js
@@ -109,17 +109,36 @@ var IPA = function() {
* objname - name of an IPA object (optional) */
function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
{
- function ipa_success_handler(data, text_status, xhr) {
+ function dialog_open(xhr, text_status, error_thrown) {
+ var that = this;
+
+ IPA.error_dialog.dialog({
+ modal: true,
+ width: 400,
+ buttons: {
+ 'Retry': function() {
+ IPA.error_dialog.dialog('close');
+ ipa_cmd(name, args, options, win_callback, fail_callback, objname);
+ },
+ 'Cancel': function() {
+ IPA.error_dialog.dialog('close');
+ fail_callback.call(that, xhr, text_status, error_thrown);
+ }
+ }
+ });
+ }
+
+ function success_handler(data, text_status, xhr) {
if (!data) {
var error_thrown = {
- name: 'HTTP Error '+xhr.status,
+ title: 'HTTP Error '+xhr.status,
message: data ? xhr.statusText : "No response"
};
- ipa_error_handler.call(this, xhr, text_status, error_thrown);
+ http_error_handler.call(this, xhr, text_status, error_thrown);
} else if (data.error) {
var error_thrown = {
- name: 'IPA Error '+data.error.code,
+ title: 'IPA Error '+data.error.code,
message: data.error.message
};
ipa_error_handler.call(this, xhr, text_status, error_thrown);
@@ -129,31 +148,38 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
}
}
- function ipa_error_handler(xhr, text_status, error_thrown) {
+ function error_handler(xhr, text_status, error_thrown) {
+ error_thrown.title = 'AJAX Error: '+error_thrown.name;
+ ajax_error_handler.call(this, xhr, text_status, error_thrown);
+ }
+
+ function ajax_error_handler(xhr, text_status, error_thrown) {
IPA.error_dialog.empty();
- IPA.error_dialog.attr('title', 'Error: '+error_thrown.name);
+ IPA.error_dialog.attr('title', error_thrown.title);
IPA.error_dialog.append('<p>URL: '+this.url+'</p>');
- if (error_thrown.message) {
- IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
- }
+ IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
- var that = this;
+ dialog_open.call(this, xhr, text_status, error_thrown);
+ }
- IPA.error_dialog.dialog({
- modal: true,
- width: 400,
- buttons: {
- 'Retry': function() {
- IPA.error_dialog.dialog('close');
- ipa_cmd(name, args, options, win_callback, fail_callback, objname);
- },
- 'Cancel': function() {
- IPA.error_dialog.dialog('close');
- fail_callback.call(that, xhr, text_status, error_thrown);
- }
- }
- });
+ function http_error_handler(xhr, text_status, error_thrown) {
+ IPA.error_dialog.empty();
+ IPA.error_dialog.attr('title', error_thrown.title);
+
+ IPA.error_dialog.append('<p>URL: '+this.url+'</p>');
+ IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
+
+ dialog_open.call(this, xhr, text_status, error_thrown);
+ }
+
+ function ipa_error_handler(xhr, text_status, error_thrown) {
+ IPA.error_dialog.empty();
+ IPA.error_dialog.attr('title', error_thrown.title);
+
+ IPA.error_dialog.append('<p>'+error_thrown.message+'</p>');
+
+ dialog_open.call(this, xhr, text_status, error_thrown);
}
var id = ipa_jsonrpc_id++;
@@ -180,8 +206,8 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname)
var request = {
url: url,
data: JSON.stringify(data),
- success: ipa_success_handler,
- error: ipa_error_handler
+ success: success_handler,
+ error: error_handler
};
$.ajax(request);
diff --git a/install/static/search.js b/install/static/search.js
index fd123c094..62fffbe99 100644
--- a/install/static/search.js
+++ b/install/static/search.js
@@ -296,7 +296,7 @@ function search_load(container, criteria, on_win, on_fail)
var search_results = $('.search-results', container);
search_results.append('<p>Error: '+error_thrown.name+'</p>');
- search_results.append('<p>URL: '+this.url+'</p>');
+ search_results.append('<p>'+error_thrown.title+'</p>');
search_results.append('<p>'+error_thrown.message+'</p>');
}
diff --git a/install/static/webui.js b/install/static/webui.js
index 42c559dce..804f06f86 100644
--- a/install/static/webui.js
+++ b/install/static/webui.js
@@ -94,7 +94,7 @@ $(function() {
function init_on_error(xhr, text_status, error_thrown) {
var navigation = $('#navigation').empty();
navigation.append('<p>Error: '+error_thrown.name+'</p>');
- navigation.append('<p>URL: '+this.url+'</p>');
+ navigation.append('<p>'+error_thrown.title+'</p>');
navigation.append('<p>'+error_thrown.message+'</p>');
}