Sha256: 37eae5cde0a346d0b93f0b109724c07fe65ab00884afac0557af8db8be11f9ca

Contents?: true

Size: 626 Bytes

Versions: 2

Compression:

Stored size: 626 Bytes

Contents

module Curate
  module Ability
    extend ActiveSupport::Concern
    included do
      self.ability_logic += [:curate_permissions, :collection_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.curation_concerns] do |w|
        u = ::User.find_by_user_key(w.owner)
        u && u.can_receive_deposits_from.include?(current_user)
      end
    end

    def collection_permissions
      can :collect, :all
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
curate-0.6.4 app/models/concerns/curate/ability.rb
curate-0.6.3 app/models/concerns/curate/ability.rb