mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
Clean up code duplication in settings.js error reporting.
We can save a bunch of code by using the handle ui.js error reporting helpers. (imported from commit 7e993cae6e314c84d4ba8eaefd2ff7711c4bc19d)
This commit is contained in:
@@ -196,15 +196,18 @@ exports.setup_page = function () {
|
|||||||
$('.new-bot-ui').hide();
|
$('.new-bot-ui').hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function settings_change_error(message, xhr) {
|
||||||
function settings_change_error(message) {
|
|
||||||
// Scroll to the top so the error message is visible.
|
// Scroll to the top so the error message is visible.
|
||||||
// We would scroll anyway if we end up submitting the form.
|
// We would scroll anyway if we end up submitting the form.
|
||||||
viewport.scrollTop(0);
|
viewport.scrollTop(0);
|
||||||
var settings_status = $('#settings-status').expectOne();
|
ui.report_error(message, xhr, $('#settings-status').expectOne());
|
||||||
settings_status.removeClass(status_classes)
|
}
|
||||||
.addClass('alert-error')
|
|
||||||
.text(message).stop(true).fadeTo(0,1);
|
function settings_change_success(message) {
|
||||||
|
// Scroll to the top so the error message is visible.
|
||||||
|
// We would scroll anyway if we end up submitting the form.
|
||||||
|
viewport.scrollTop(0);
|
||||||
|
ui.report_success(message, $('#settings-status').expectOne());
|
||||||
}
|
}
|
||||||
|
|
||||||
$("form.your-account-settings").ajaxForm({
|
$("form.your-account-settings").ajaxForm({
|
||||||
@@ -231,22 +234,10 @@ exports.setup_page = function () {
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
success: function (resp, statusText, xhr, form) {
|
success: function (resp, statusText, xhr, form) {
|
||||||
var message = "Updated settings!";
|
settings_change_success("Updated settings!");
|
||||||
var result = $.parseJSON(xhr.responseText);
|
|
||||||
var settings_status = $('#settings-status').expectOne();
|
|
||||||
|
|
||||||
settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-success')
|
|
||||||
.text(message).stop(true).fadeTo(0,1);
|
|
||||||
},
|
},
|
||||||
error: function (xhr, error_type, xhn) {
|
error: function (xhr, error_type, xhn) {
|
||||||
var response = "Error changing settings";
|
settings_change_error("Error changing settings", xhr);
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
|
||||||
// Only display the error response for 4XX, where we've crafted
|
|
||||||
// a nice response.
|
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
|
||||||
}
|
|
||||||
settings_change_error(response);
|
|
||||||
},
|
},
|
||||||
complete: function (xhr, statusText) {
|
complete: function (xhr, statusText) {
|
||||||
// Whether successful or not, clear the password boxes.
|
// Whether successful or not, clear the password boxes.
|
||||||
@@ -292,24 +283,11 @@ exports.setup_page = function () {
|
|||||||
page_params.enable_digest_emails = result.enable_digest_emails;
|
page_params.enable_digest_emails = result.enable_digest_emails;
|
||||||
}
|
}
|
||||||
|
|
||||||
notify_settings_status.removeClass(status_classes)
|
ui.report_success("Updated notification settings!", notify_settings_status);
|
||||||
.addClass('alert-success')
|
|
||||||
.text(message).stop(true).fadeTo(0,1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_notification_settings_error(xhr, error_type, xhn) {
|
function update_notification_settings_error(xhr, error_type, xhn) {
|
||||||
var response = "Error changing settings";
|
ui.report_error("Error changing settings", xhr, $('#notify-settings-status').expectOne());
|
||||||
var notify_settings_status = $('#notify-settings-status').expectOne();
|
|
||||||
|
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
|
||||||
// Only display the error response for 4XX, where we've crafted
|
|
||||||
// a nice response.
|
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
notify_settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-error')
|
|
||||||
.text(response).stop(true).fadeTo(0,1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function post_notify_settings_changes(notification_changes, success_func,
|
function post_notify_settings_changes(notification_changes, success_func,
|
||||||
@@ -393,27 +371,11 @@ exports.setup_page = function () {
|
|||||||
url: '/json/time_setting',
|
url: '/json/time_setting',
|
||||||
data: data,
|
data: data,
|
||||||
success: function (resp, statusText, xhr, form) {
|
success: function (resp, statusText, xhr, form) {
|
||||||
var message = "Updated display settings! You will need to reload for the changes to take effect";
|
ui.report_success("Updated display settings! You will need to reload for the changes to take effect",
|
||||||
var result = $.parseJSON(xhr.responseText);
|
$('#display-settings-status').expectOne());
|
||||||
var display_settings_status = $('#display-settings-status').expectOne();
|
|
||||||
|
|
||||||
display_settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-success')
|
|
||||||
.text(message).stop(true).fadeTo(0,1);
|
|
||||||
},
|
},
|
||||||
error: function (xhr, error_type, xhn) {
|
error: function (xhr, error_type, xhn) {
|
||||||
var response = "Error updating display settings";
|
ui.report_error("Error updating display settings", xhr, $('#display-settings-status').expectOne());
|
||||||
var display_settings_status = $('#display-settings-status').expectOne();
|
|
||||||
|
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
|
||||||
// Only display the error response for 4XX, where we've crafted
|
|
||||||
// a nice response.
|
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
|
||||||
}
|
|
||||||
display_settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-error')
|
|
||||||
.text(response).stop(true).fadeTo(0,1);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -435,17 +397,7 @@ exports.setup_page = function () {
|
|||||||
settings_status.hide();
|
settings_status.hide();
|
||||||
},
|
},
|
||||||
error: function (xhr, error_type, xhn) {
|
error: function (xhr, error_type, xhn) {
|
||||||
var response = "Error getting API key";
|
ui.report_error("Error getting API key", xhr, $('#settings-status').expectOne());
|
||||||
var settings_status = $('#settings-status').expectOne();
|
|
||||||
|
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
|
||||||
// Only display the error response for 4XX, where we've crafted
|
|
||||||
// a nice response.
|
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
|
||||||
}
|
|
||||||
settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-error')
|
|
||||||
.text(response).stop(true).fadeTo(0,1);
|
|
||||||
$("#show_api_key_box").hide();
|
$("#show_api_key_box").hide();
|
||||||
$("#get_api_key_box").show();
|
$("#get_api_key_box").show();
|
||||||
}
|
}
|
||||||
@@ -693,23 +645,10 @@ exports.setup_page = function () {
|
|||||||
resize.resize_page_components();
|
resize.resize_page_components();
|
||||||
}
|
}
|
||||||
|
|
||||||
ui_settings_status.removeClass(status_classes)
|
ui.report_success(message, ui_settings_status);
|
||||||
.addClass('alert-success')
|
|
||||||
.text(message).stop(true).fadeTo(0,1);
|
|
||||||
},
|
},
|
||||||
error: function (xhr, error_type, xhn) {
|
error: function (xhr, error_type, xhn) {
|
||||||
var response = "Error changing settings";
|
ui.report_error("Error changing settings", xhr, $('#ui-settings-status').expectOne());
|
||||||
var ui_settings_status = $('#ui-settings-status').expectOne();
|
|
||||||
|
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
|
||||||
// Only display the error response for 4XX, where we've crafted
|
|
||||||
// a nice response.
|
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
|
||||||
}
|
|
||||||
|
|
||||||
ui_settings_status.removeClass(status_classes)
|
|
||||||
.addClass('alert-error')
|
|
||||||
.text(response).stop(true).fadeTo(0,1);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ exports.report_message = function (response, status_box, cls) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
exports.report_error = function (response, xhr, status_box) {
|
exports.report_error = function (response, xhr, status_box) {
|
||||||
if (xhr.status.toString().charAt(0) === "4") {
|
if (xhr && xhr.status.toString().charAt(0) === "4") {
|
||||||
// Only display the error response for 4XX, where we've crafted
|
// Only display the error response for 4XX, where we've crafted
|
||||||
// a nice response.
|
// a nice response.
|
||||||
response += ": " + $.parseJSON(xhr.responseText).msg;
|
response += ": " + $.parseJSON(xhr.responseText).msg;
|
||||||
|
|||||||
Reference in New Issue
Block a user