mirror of
https://github.com/discourse/discourse.git
synced 2026-09-05 04:40:41 -05:00
table & model changes for group managers with permission to edit membership
This commit is contained in:
@@ -4,6 +4,7 @@ require_dependency 'guardian/post_guardian'
|
||||
require_dependency 'guardian/topic_guardian'
|
||||
require_dependency 'guardian/user_guardian'
|
||||
require_dependency 'guardian/post_revision_guardian'
|
||||
require_dependency 'guardian/group_guardian'
|
||||
|
||||
# The guardian is responsible for confirming access to various site resources and operations
|
||||
class Guardian
|
||||
@@ -13,6 +14,7 @@ class Guardian
|
||||
include TopicGuardian
|
||||
include UserGuardian
|
||||
include PostRevisionGuardian
|
||||
include GroupGuardian
|
||||
|
||||
class AnonymousUser
|
||||
def blank?; true; end
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#mixin for all guardian methods dealing with group permissions
|
||||
module GroupGuardian
|
||||
|
||||
# Edit authority for groups means membership changes only.
|
||||
# Automatic groups are not represented in the GROUP_USERS
|
||||
# table and thus do not allow membership changes.
|
||||
def can_edit_group?(group)
|
||||
(group.managers.include?(user) || is_admin?) && !group.automatic
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user