diff --git a/app/assets/javascripts/discourse/components/group-selector.js.es6 b/app/assets/javascripts/discourse/components/group-selector.js.es6 index d8400b02abe..8fe798f48a5 100644 --- a/app/assets/javascripts/discourse/components/group-selector.js.es6 +++ b/app/assets/javascripts/discourse/components/group-selector.js.es6 @@ -34,8 +34,8 @@ export default Em.Component.extend({ return g.name; }, dataSource: function(term) { - // TODO: Components should definitely not perform queries - return Discourse.Group.findAll({search: term, ignore_automatic: true}).then(function(groups){ + return self.get("groupFinder")(term).then(function(groups){ + if(!selectedGroups){ return groups; } diff --git a/app/assets/javascripts/discourse/controllers/invite.js.es6 b/app/assets/javascripts/discourse/controllers/invite.js.es6 index f7dd557a188..0411f3b459e 100644 --- a/app/assets/javascripts/discourse/controllers/invite.js.es6 +++ b/app/assets/javascripts/discourse/controllers/invite.js.es6 @@ -48,7 +48,7 @@ export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, { }.property('model'), /** - Is Private Topic? (i.e. visible only to specific group members) + Is Private Topic? (i.e. visible only to specific group members) @property isPrivateTopic **/ @@ -80,6 +80,13 @@ export default Discourse.ObjectController.extend(Discourse.ModalFunctionality, { } }.property('isPrivateTopic'), + /** + Function to find groups. + **/ + groupFinder: function(term) { + return Discourse.Group.findAll({search: term, ignore_automatic: true}); + }, + /** The "success" text for when the invite was created. diff --git a/app/assets/javascripts/discourse/templates/modal/invite.js.handlebars b/app/assets/javascripts/discourse/templates/modal/invite.js.handlebars index 8d9bfed67ac..34b854fb9e7 100644 --- a/app/assets/javascripts/discourse/templates/modal/invite.js.handlebars +++ b/app/assets/javascripts/discourse/templates/modal/invite.js.handlebars @@ -15,7 +15,7 @@ {{#if isAdmin}} - {{group-selector includeAuto=false groupNames=groupNames placeholderKey="topic.invite_private.group_name"}} + {{group-selector includeAuto=false groupFinder=groupFinder groupNames=groupNames placeholderKey="topic.invite_private.group_name"}} {{/if}} {{/if}}