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
- #generic_file_abilities ⇒ Object
- #proxy_deposit_abilities ⇒ Object
- #stats_abilities ⇒ Object
- #sufia_abilities ⇒ Object
- #user_abilities ⇒ Object
Instance Method Details
#citation_abilities ⇒ Object
55 56 57 |
# File 'app/models/concerns/sufia/ability.rb', line 55 def citation_abilities alias_action :citation, to: :read end |
#editor_abilities ⇒ Object
43 44 45 46 47 48 49 |
# File 'app/models/concerns/sufia/ability.rb', line 43 def editor_abilities if admin_user? can :create, TinymceAsset can [:create, :update], ContentBlock end can :read, ContentBlock end |
#featured_work_abilities ⇒ Object
34 35 36 |
# File 'app/models/concerns/sufia/ability.rb', line 34 def featured_work_abilities can [:create, :destroy, :update], FeaturedWork if admin_user? end |
#generic_file_abilities ⇒ Object
38 39 40 41 |
# File 'app/models/concerns/sufia/ability.rb', line 38 def generic_file_abilities can :view_share_work, [GenericFile] can :create, [GenericFile, Collection] if registered_user? end |
#proxy_deposit_abilities ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'app/models/concerns/sufia/ability.rb', line 19 def proxy_deposit_abilities can :transfer, String do |id| depositor_for_document(id) == current_user.user_key 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
51 52 53 |
# File 'app/models/concerns/sufia/ability.rb', line 51 def stats_abilities alias_action :stats, to: :read end |
#sufia_abilities ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'app/models/concerns/sufia/ability.rb', line 9 def sufia_abilities generic_file_abilities user_abilities featured_work_abilities editor_abilities stats_abilities citation_abilities proxy_deposit_abilities end |
#user_abilities ⇒ Object
30 31 32 |
# File 'app/models/concerns/sufia/ability.rb', line 30 def user_abilities can [:edit, :update, :toggle_trophy], ::User, id: current_user.id end |