Split alias levels in mentionable and messageable levels. (#5065)

* Split alias levels in mentionable and messageable levels.

* Fixed some tests.

* Set messageable level to everyone by default.

* By defaults, groups are not mentionable or messageable.

* Made staff groups messageable by the system.
This commit is contained in:
Bianca Nenciu
2017-08-28 17:32:08 +01:00
committed by Sam
parent ce2250d7aa
commit 6bc74ceb50
20 changed files with 81 additions and 32 deletions

View File

@@ -3,6 +3,7 @@ class GroupsController < ApplicationController
before_filter :ensure_logged_in, only: [
:set_notifications,
:mentionable,
:messageable,
:update,
:messages,
:histories,
@@ -203,6 +204,16 @@ class GroupsController < ApplicationController
end
end
def messageable
group = find_group(:name)
if group
render json: { messageable: Group.messageable(current_user).where(id: group.id).present? }
else
raise Discourse::InvalidAccess.new
end
end
def remove_member
group = Group.find(params[:id])
group.public_exit ? ensure_logged_in : guardian.ensure_can_edit!(group)