Sha256: 42e2af8d0002f49b285e52ba8a03bdf09a3eeb101bd4dd5b586d69ce8ed7812a

Contents?: true

Size: 572 Bytes

Versions: 7

Compression:

Stored size: 572 Bytes

Contents

module Curate
  module Ability
    extend ActiveSupport::Concern
    included do
      self.ability_logic += [:curate_permissions]
    end

    def curate_permissions
      alias_action :confirm, :copy, :to => :update
      can :edit, Person do |p| 
        p.pid == current_user.repository_id
      end

      can [:show, :read, :update, :destroy], [Curate.configuration.registered_curation_concern_types.map(&:constantize)] do |w|
        u = ::User.find_by_user_key(w.owner)
        u && u.can_receive_deposits_from.include?(current_user)
      end
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
curate-0.5.6 app/models/concerns/curate/ability.rb
curate-0.5.5 app/models/concerns/curate/ability.rb
curate-0.5.4 app/models/concerns/curate/ability.rb
curate-0.5.2 app/models/concerns/curate/ability.rb
curate-0.5.1 app/models/concerns/curate/ability.rb
curate-0.5.0 app/models/concerns/curate/ability.rb
curate-0.4.2 app/models/concerns/curate/ability.rb