diff --git a/app/assets/javascripts/discourse/app/components/uppy-image-uploader.js b/app/assets/javascripts/discourse/app/components/uppy-image-uploader.js index b1dbd7308f8..5933c4fd9d7 100644 --- a/app/assets/javascripts/discourse/app/components/uppy-image-uploader.js +++ b/app/assets/javascripts/discourse/app/components/uppy-image-uploader.js @@ -7,10 +7,22 @@ import { isEmpty } from "@ember/utils"; import lightbox from "discourse/lib/lightbox"; import { next } from "@ember/runloop"; import { htmlSafe } from "@ember/template"; +import { authorizesOneOrMoreExtensions } from "discourse/lib/uploads"; export default Component.extend(UppyUploadMixin, { classNames: ["image-uploader"], - uploadingOrProcessing: or("uploading", "processing"), + disabled: or("notAllowed", "uploading", "processing"), + + @discourseComputed( + "currentUser.staff", + "siteSettings.{authorized_extensions,authorized_extensions_for_staff}" + ) + notAllowed() { + return !authorizesOneOrMoreExtensions( + this.currentUser?.staff, + this.siteSettings + ); + }, @discourseComputed("imageUrl", "placeholderUrl") showingPlaceholder(imageUrl, placeholderUrl) { diff --git a/app/assets/javascripts/discourse/app/lib/uploads.js b/app/assets/javascripts/discourse/app/lib/uploads.js index 1ea697dcc17..95dbeba100b 100644 --- a/app/assets/javascripts/discourse/app/lib/uploads.js +++ b/app/assets/javascripts/discourse/app/lib/uploads.js @@ -64,6 +64,7 @@ export function validateUploadedFile(file, opts) { let staff = user && user.staff; if (!authorizesOneOrMoreExtensions(staff, opts.siteSettings)) { + dialog.alert(I18n.t("post.errors.no_uploads_authorized")); return false; } diff --git a/app/assets/javascripts/discourse/app/templates/components/uppy-image-uploader.hbs b/app/assets/javascripts/discourse/app/templates/components/uppy-image-uploader.hbs index 7fe9d0626ab..a7473cfc7ee 100644 --- a/app/assets/javascripts/discourse/app/templates/components/uppy-image-uploader.hbs +++ b/app/assets/javascripts/discourse/app/templates/components/uppy-image-uploader.hbs @@ -3,9 +3,9 @@
{{/if}}
-