Module: Sufia::Ability
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/sufia/ability.rb
Instance Method Summary collapse
- #citation_abilities ⇒ Object
- #editor_abilities ⇒ Object
- #featured_work_abilities ⇒ Object
- #proxy_deposit_abilities ⇒ Object
- #stats_abilities ⇒ Object
- #uploaded_file_abilities ⇒ Object
- #user_abilities ⇒ Object
Instance Method Details
#citation_abilities ⇒ Object
54 55 56 |
# File 'app/models/concerns/sufia/ability.rb', line 54 def citation_abilities alias_action :citation, to: :read end |
#editor_abilities ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'app/models/concerns/sufia/ability.rb', line 40 def editor_abilities can :read, ContentBlock return unless admin? can :create, TinymceAsset can [:create, :update], ContentBlock can :edit, ::SolrDocument end |
#featured_work_abilities ⇒ Object
36 37 38 |
# File 'app/models/concerns/sufia/ability.rb', line 36 def featured_work_abilities can [:create, :destroy, :update], FeaturedWork if admin? end |
#proxy_deposit_abilities ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'app/models/concerns/sufia/ability.rb', line 21 def proxy_deposit_abilities can :transfer, String do |id| user_is_depositor?(id) end can :create, ProxyDepositRequest if registered_user? can :accept, ProxyDepositRequest, receiving_user_id: current_user.id, status: 'pending' can :reject, ProxyDepositRequest, receiving_user_id: current_user.id, status: 'pending' # a user who sent a proxy deposit request can cancel it if it's pending. can :destroy, ProxyDepositRequest, sending_user_id: current_user.id, status: 'pending' end |
#stats_abilities ⇒ Object
49 50 51 52 |
# File 'app/models/concerns/sufia/ability.rb', line 49 def stats_abilities can :read, Sufia::Statistics if admin? alias_action :stats, to: :read end |
#uploaded_file_abilities ⇒ Object
15 16 17 18 19 |
# File 'app/models/concerns/sufia/ability.rb', line 15 def uploaded_file_abilities return unless registered_user? can :create, [UploadedFile, BatchUploadItem] can :destroy, UploadedFile, user: current_user end |
#user_abilities ⇒ Object
32 33 34 |
# File 'app/models/concerns/sufia/ability.rb', line 32 def user_abilities can [:edit, :update, :toggle_trophy], ::User, id: current_user.id end |