From bdbcd21687d4c81634fc6a21e4f84ccbfe18fa7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Tue, 7 Apr 2015 11:54:35 +0200 Subject: [PATCH] FIX: hide custom avatar when image upload is disabled --- .../controllers/avatar-selector.js.es6 | 14 +++++--- .../javascripts/discourse/lib/utilities.js | 9 +++-- .../templates/modal/avatar_selector.hbs | 36 ++++++++++--------- 3 files changed, 35 insertions(+), 24 deletions(-) diff --git a/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 b/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 index 1e1d2f931c5..11f2ce3a17f 100644 --- a/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 +++ b/app/assets/javascripts/discourse/controllers/avatar-selector.js.es6 @@ -7,13 +7,17 @@ export default DiscourseController.extend(ModalFunctionality, { hasUploadedAvatar: Em.computed.or('uploadedAvatarTemplate', 'custom_avatar_upload_id'), selectedUploadId: function() { - switch (this.get("selected")) { - case "system": return this.get("system_avatar_upload_id"); - case "gravatar": return this.get("gravatar_avatar_upload_id"); - default: return this.get("custom_avatar_upload_id"); - } + switch (this.get("selected")) { + case "system": return this.get("system_avatar_upload_id"); + case "gravatar": return this.get("gravatar_avatar_upload_id"); + default: return this.get("custom_avatar_upload_id"); + } }.property('selected', 'system_avatar_upload_id', 'gravatar_avatar_upload_id', 'custom_avatar_upload_id'), + allowImageUpload: function() { + return Discourse.Utilities.allowsImages() + }.property(), + actions: { useUploadedAvatar() { this.set("selected", "uploaded"); }, useGravatar() { this.set("selected", "gravatar"); }, diff --git a/app/assets/javascripts/discourse/lib/utilities.js b/app/assets/javascripts/discourse/lib/utilities.js index 9f7832cf468..11f5af2923f 100644 --- a/app/assets/javascripts/discourse/lib/utilities.js +++ b/app/assets/javascripts/discourse/lib/utilities.js @@ -256,7 +256,12 @@ Discourse.Utilities = { @param {String} path The path **/ isAnImage: function(path) { - return (/\.(png|jpg|jpeg|gif|bmp|tif|tiff|svg|webp)$/i).test(path); + return (/\.(png|jpe?g|gif|bmp|tiff?|svg|webp)$/i).test(path); + }, + + allowsImages: function() { + return Discourse.Utilities.authorizesAllExtensions() || + (/(png|jpe?g|gif|bmp|tiff?|svg|webp)/i).test(Discourse.Utilities.authorizedExtensions()); }, /** @@ -266,7 +271,7 @@ Discourse.Utilities = { **/ allowsAttachments: function() { return Discourse.Utilities.authorizesAllExtensions() || - !(/((png|jpg|jpeg|gif|bmp|tif|tiff|svg|webp)(,\s)?)+$/i).test(Discourse.Utilities.authorizedExtensions()); + !(/((png|jpe?g|gif|bmp|tiff?|svg|webp)(,\s)?)+$/i).test(Discourse.Utilities.authorizedExtensions()); }, displayErrorForUpload: function(data) { diff --git a/app/assets/javascripts/discourse/templates/modal/avatar_selector.hbs b/app/assets/javascripts/discourse/templates/modal/avatar_selector.hbs index 876bf10017e..33dd03b6629 100644 --- a/app/assets/javascripts/discourse/templates/modal/avatar_selector.hbs +++ b/app/assets/javascripts/discourse/templates/modal/avatar_selector.hbs @@ -9,25 +9,27 @@ {{d-button action="refreshGravatar" title="user.change_avatar.refresh_gravatar_title" disabled=gravatarRefreshDisabled class="no-text" icon="refresh"}} -
- - + {{avatar-uploader username=username + uploadedAvatarTemplate=uploadedAvatarTemplate + custom_avatar_upload_id=custom_avatar_upload_id + uploading=uploading + done="useUploadedAvatar"}} +
+ {{/if}}