table & model changes for group managers with permission to edit membership

This commit is contained in:
Jason W. May
2015-01-15 11:44:42 -08:00
parent 20d2908c50
commit a2b284a0a4
11 changed files with 205 additions and 0 deletions
+2
View File
@@ -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
+11
View File
@@ -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