2015-03-12 22:43:13 +00:00
|
|
|
class GroupPolicy < ApplicationPolicy
|
|
|
|
|
2015-03-17 22:33:16 +00:00
|
|
|
def index?
|
|
|
|
!user.guest?
|
|
|
|
end
|
|
|
|
|
|
|
|
def show?
|
|
|
|
true
|
|
|
|
end
|
|
|
|
|
|
|
|
def create?
|
|
|
|
!user.guest?
|
|
|
|
end
|
|
|
|
|
|
|
|
def reader?
|
2015-03-26 23:36:30 +00:00
|
|
|
is_admin? || local_reader?
|
2015-03-17 22:33:16 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def write?
|
2015-03-26 23:36:30 +00:00
|
|
|
is_admin? || owner? || local_writer?
|
2015-03-17 22:33:16 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def update?
|
2015-03-26 23:36:30 +00:00
|
|
|
is_admin? || owner? || local_admin?
|
2015-03-17 22:33:16 +00:00
|
|
|
end
|
2015-03-19 23:31:41 +00:00
|
|
|
alias_method :add_member?, :update?
|
2015-03-18 22:02:38 +00:00
|
|
|
alias_method :manage_members?, :update?
|
|
|
|
alias_method :members?, :update?
|
|
|
|
alias_method :remove_member?, :update?
|
|
|
|
alias_method :remove_members?, :update?
|
2015-03-19 23:31:41 +00:00
|
|
|
alias_method :remove_user?, :update?
|
2015-03-18 22:02:38 +00:00
|
|
|
alias_method :update_member?, :update?
|
|
|
|
|
|
|
|
def destroy?
|
2015-03-26 23:36:30 +00:00
|
|
|
is_admin? || owner?
|
2015-03-18 22:02:38 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def remove_user?
|
|
|
|
!user.guest?
|
|
|
|
end
|
2015-03-17 22:33:16 +00:00
|
|
|
|
2015-03-12 22:43:13 +00:00
|
|
|
end
|