diff --git a/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 b/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 index ab30fef1572..170f28fc303 100644 --- a/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 +++ b/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 @@ -36,10 +36,17 @@ export default Ember.Controller.extend(ModalFunctionality, { refreshGravatar() { this.set("gravatarRefreshDisabled", true); return ajax(`/user_avatar/${this.get("username")}/refresh_gravatar.json`, { method: "POST" }) - .then(result => this.setProperties({ - gravatar_avatar_template: result.gravatar_avatar_template, - gravatar_avatar_upload_id: result.gravatar_upload_id, - })) + .then(result => { + if (!result.gravatar_avatar_upload_id) { + this.set("gravatarFailed", true); + } else { + this.setProperties({ + gravatarFailed: false, + gravatar_avatar_template: result.gravatar_avatar_template, + gravatar_avatar_upload_id: result.gravatar_upload_id, + }); + } + }) .finally(() => this.set("gravatarRefreshDisabled", false)); } } diff --git a/app/assets/javascripts/discourse/templates/modal/avatar-selector.hbs b/app/assets/javascripts/discourse/templates/modal/avatar-selector.hbs index a01f45c76bb..f974216e931 100644 --- a/app/assets/javascripts/discourse/templates/modal/avatar-selector.hbs +++ b/app/assets/javascripts/discourse/templates/modal/avatar-selector.hbs @@ -1,33 +1,34 @@ {{#d-modal-body title="user.change_avatar.title" class="avatar-selector"}} -
-
- {{radio-button id="system-avatar" name="avatar" value="system" selection=selected}} - -
-
- {{radio-button id="gravatar" name="avatar" value="gravatar" selection=selected}} - - {{d-button action="refreshGravatar" title="user.change_avatar.refresh_gravatar_title" disabled=gravatarRefreshDisabled icon="refresh"}} -
- {{#if allowAvatarUpload}} -
- {{radio-button id="uploaded-avatar" name="avatar" value="uploaded" selection=selected}} - - {{avatar-uploader user_id=id - uploadedAvatarTemplate=custom_avatar_template - uploadedAvatarId=custom_avatar_upload_id - uploading=uploading - done="uploadComplete"}} -
+
+ {{radio-button id="system-avatar" name="avatar" value="system" selection=selected}} + +
+
+ {{radio-button id="gravatar" name="avatar" value="gravatar" selection=selected}} + + {{d-button action="refreshGravatar" title="user.change_avatar.refresh_gravatar_title" disabled=gravatarRefreshDisabled icon="refresh"}} + {{#if gravatarFailed}} +

{{I18n 'user.change_avatar.gravatar_failed'}}

{{/if}}
+ {{#if allowAvatarUpload}} +
+ {{radio-button id="uploaded-avatar" name="avatar" value="uploaded" selection=selected}} + + {{avatar-uploader user_id=id + uploadedAvatarTemplate=custom_avatar_template + uploadedAvatarId=custom_avatar_upload_id + uploading=uploading + done="uploadComplete"}} +
+ {{/if}} {{/d-modal-body}}