diff --git a/plugins/poll/assets/javascripts/controllers/poll-ui-builder.js.es6 b/plugins/poll/assets/javascripts/controllers/poll-ui-builder.js.es6 index 0bcf1e2c7d1..318d2373fbd 100644 --- a/plugins/poll/assets/javascripts/controllers/poll-ui-builder.js.es6 +++ b/plugins/poll/assets/javascripts/controllers/poll-ui-builder.js.es6 @@ -62,7 +62,7 @@ export default Controller.extend({ closedPollResult, staffPollResult ) { - return [ + let options = [ { name: I18n.t("poll.ui_builder.poll_result.always"), value: alwaysPollResult @@ -74,12 +74,15 @@ export default Controller.extend({ { name: I18n.t("poll.ui_builder.poll_result.closed"), value: closedPollResult - }, - { - name: I18n.t("poll.ui_builder.poll_result.staff"), - value: staffPollResult } ]; + if (this.currentUser.staff) { + options.push({ + name: I18n.t("poll.ui_builder.poll_result.staff"), + value: staffPollResult + }); + } + return options; }, @computed("pollType", "regularPollType") diff --git a/plugins/poll/test/javascripts/controllers/poll-ui-builder-test.js.es6 b/plugins/poll/test/javascripts/controllers/poll-ui-builder-test.js.es6 index 9f1344047d5..5474b12b096 100644 --- a/plugins/poll/test/javascripts/controllers/poll-ui-builder-test.js.es6 +++ b/plugins/poll/test/javascripts/controllers/poll-ui-builder-test.js.es6 @@ -311,3 +311,25 @@ test("multiple pollOutput", function(assert) { "it should return the right output" ); }); + +test("staff_only option is not present for non-staff", function(assert) { + const controller = this.subject(); + controller.currentUser = { staff: false }; + + assert.ok( + controller.pollResults.filter(result => result.value === "staff_only") + .length === 0, + "staff_only is not present" + ); +}); + +test("staff_only option is present for staff", function(assert) { + const controller = this.subject(); + controller.currentUser = { staff: true }; + + assert.ok( + controller.pollResults.filter(result => result.value === "staff_only") + .length === 1, + "staff_only is present" + ); +});