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}}
-