From acc121fd27e53fb70c888b58939027fbefba9c6f Mon Sep 17 00:00:00 2001 From: David Taylor Date: Mon, 18 Mar 2019 15:26:18 +0000 Subject: [PATCH] FIX: Show 'emails disabled' to staff users when disabled for non-staff (#7187) --- .../discourse/components/global-notice.js.es6 | 3 +- .../acceptance/email-notice-test.js.es6 | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 test/javascripts/acceptance/email-notice-test.js.es6 diff --git a/app/assets/javascripts/discourse/components/global-notice.js.es6 b/app/assets/javascripts/discourse/components/global-notice.js.es6 index 0a506cbc6c..e59fb085f1 100644 --- a/app/assets/javascripts/discourse/components/global-notice.js.es6 +++ b/app/assets/javascripts/discourse/components/global-notice.js.es6 @@ -25,8 +25,7 @@ export default Ember.Component.extend( if ( this.siteSettings.disable_emails === "yes" || - (this.siteSettings.disable_emails === "non-staff" && - !(this.currentUser && this.currentUser.get("staff"))) + this.siteSettings.disable_emails === "non-staff" ) { notices.push([I18n.t("emails_are_disabled"), "alert-emails-disabled"]); } diff --git a/test/javascripts/acceptance/email-notice-test.js.es6 b/test/javascripts/acceptance/email-notice-test.js.es6 new file mode 100644 index 0000000000..be496daf74 --- /dev/null +++ b/test/javascripts/acceptance/email-notice-test.js.es6 @@ -0,0 +1,28 @@ +import { acceptance } from "helpers/qunit-helpers"; + +acceptance("Email Disabled Banner", { + loggedIn: true +}); + +QUnit.test("shows banner when required", async assert => { + Discourse.SiteSettings.disable_email = "no"; + await visit("/"); + assert.notOk( + exists(".alert-emails-disabled"), + "alert is not displayed when email enabled" + ); + + Discourse.SiteSettings.disable_email = "yes"; + await visit("/"); + assert.notOk( + exists(".alert-emails-disabled"), + "alert is displayed when email disabled" + ); + + Discourse.SiteSettings.disable_email = "non-staff"; + await visit("/"); + assert.notOk( + exists(".alert-emails-disabled"), + "alert is displayed when email disabled for non-staff" + ); +});