60 lines
1.8 KiB
Ruby
60 lines
1.8 KiB
Ruby
module Abilities
|
|
class Administrator
|
|
include CanCan::Ability
|
|
|
|
def initialize(user)
|
|
self.merge Abilities::Moderation.new(user)
|
|
|
|
can :restore, Comment
|
|
cannot :restore, Comment, hidden_at: nil
|
|
|
|
can :restore, Debate
|
|
cannot :restore, Debate, hidden_at: nil
|
|
|
|
can :restore, Proposal
|
|
cannot :restore, Proposal, hidden_at: nil
|
|
|
|
can :restore, User
|
|
cannot :restore, User, hidden_at: nil
|
|
|
|
can :confirm_hide, Comment
|
|
cannot :confirm_hide, Comment, hidden_at: nil
|
|
|
|
can :confirm_hide, Debate
|
|
cannot :confirm_hide, Debate, hidden_at: nil
|
|
|
|
can :confirm_hide, Proposal
|
|
cannot :confirm_hide, Proposal, hidden_at: nil
|
|
|
|
can :confirm_hide, User
|
|
cannot :confirm_hide, User, hidden_at: nil
|
|
|
|
can :mark_featured, Debate
|
|
can :unmark_featured, Debate
|
|
|
|
can :comment_as_administrator, [Debate, Comment, Proposal, Budget::Investment]
|
|
|
|
can [:search, :create, :index, :destroy], ::Moderator
|
|
can [:search, :create, :index, :summary], ::Valuator
|
|
can [:search, :create, :index, :destroy], ::Manager
|
|
|
|
can :manage, Annotation
|
|
|
|
can [:read, :update, :valuate, :destroy, :summary], SpendingProposal
|
|
|
|
can [:index, :read, :new, :create, :update, :destroy], Budget
|
|
can [:read, :create, :update, :destroy], Budget::Group
|
|
can [:read, :create, :update, :destroy], Budget::Heading
|
|
can [:hide, :update, :toggle_selection], Budget::Investment
|
|
can :valuate, Budget::Investment
|
|
can :create, Budget::ValuatorAssignment
|
|
|
|
can [:search, :edit, :update, :create, :index, :destroy], Banner
|
|
can [:index, :create, :edit, :update, :destroy], Geozone
|
|
|
|
can :manage, SiteCustomization::Page
|
|
can :manage, SiteCustomization::Image
|
|
end
|
|
end
|
|
end
|