mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 09:27:43 +00:00
Identify if an emoji URL is invalid and signal an error.
Previously, no error would display in the UI if the link to the emoji image was invalid. This would happen for instance if you put in “invalid” for the Emoji URL. No alerts would pop up but it would refuse to add the emoji. This catches the error and displays a notification that looks like “Failed: Enter a valid URL.” Fixes #1116.
This commit is contained in:
committed by
Tim Abbott
parent
49faad7bb1
commit
3a4fff837f
@@ -169,8 +169,6 @@ function _setup_page() {
|
||||
$("#admin-realm-message-editing-status").expectOne().hide();
|
||||
$("#admin-realm-default-language-status").expectOne().hide();
|
||||
$("#admin-emoji-status").expectOne().hide();
|
||||
$("#admin-emoji-name-status").expectOne().hide();
|
||||
$("#admin-emoji-url-status").expectOne().hide();
|
||||
|
||||
$("#id_realm_default_language").val(page_params.realm_default_language);
|
||||
|
||||
@@ -639,9 +637,6 @@ function _setup_page() {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
var emoji_status = $('#admin-emoji-status');
|
||||
var emoji_name_status = $('#admin-emoji-name-status');
|
||||
var emoji_url_status = $('#admin-emoji-url-status');
|
||||
var emoji_table = $('.admin_emoji_table');
|
||||
var emoji = {};
|
||||
$(this).serializeArray().map(function (x){emoji[x.name] = x.value;});
|
||||
|
||||
@@ -649,25 +644,15 @@ function _setup_page() {
|
||||
url: "/json/realm/emoji",
|
||||
data: $(this).serialize(),
|
||||
success: function () {
|
||||
$('#admin-emoji-status, #admin-emoji-name-status, #admin-emoji-url-status').hide();
|
||||
$('#admin-emoji-status').hide();
|
||||
ui.report_success(i18n.t("Custom emoji added!"), emoji_status);
|
||||
},
|
||||
error: function (xhr, error) {
|
||||
$('#admin-emoji-status, #admin-emoji-name-status, #admin-emoji-url-status').hide();
|
||||
$('#admin-emoji-status').hide();
|
||||
var errors = JSON.parse(xhr.responseText).msg;
|
||||
if (errors.name !== undefined) {
|
||||
xhr.responseText = JSON.stringify({msg: errors.name});
|
||||
ui.report_error(i18n.t("Failed!"), xhr, emoji_name_status);
|
||||
}
|
||||
if (errors.img_url !== undefined) {
|
||||
xhr.responseText = JSON.stringify({msg: errors.img_url});
|
||||
ui.report_error(i18n.t("Failed!"), xhr, emoji_url_status);
|
||||
}
|
||||
if (errors.__all__ !== undefined) {
|
||||
xhr.responseText = JSON.stringify({msg: errors.__all__});
|
||||
xhr.responseText = JSON.stringify({msg: errors});
|
||||
ui.report_error(i18n.t("Failed!"), xhr, emoji_status);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -336,10 +336,6 @@ input[type=checkbox].inline-block {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#admin-emoji-name-status, #admin-emoji-url-status {
|
||||
margin: 20px 0 0 0;
|
||||
}
|
||||
|
||||
.admin-table-wrapper {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
|
||||
@@ -136,12 +136,10 @@
|
||||
<div class="input-group">
|
||||
<label for="emoji_name">{{t "Emoji name" }}</label>
|
||||
<input type="text" name="name" id="emoji_name" placeholder="{{t 'mouse_face' }}" />
|
||||
<div class="alert" id="admin-emoji-name-status"></div>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label for="emoji_url">{{t "Emoji URL" }}</label>
|
||||
<input type="text" name="url" id="emoji_url" placeholder="http://emojipedia-us.s3.amazonaws.com/cache/46/7f/467fe69069c408e07517621f263ea9b5.png" />
|
||||
<div class="alert" id="admin-emoji-url-status"></div>
|
||||
</div>
|
||||
<input type="submit" class="button" value="{{t 'Add emoji' }}" />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user