Sha256: 8d4dbd82d416c120abd0858c314560043268fecffcf0561a5830c0aa34d0a249

Contents?: true

Size: 662 Bytes

Versions: 10

Compression:

Stored size: 662 Bytes

Contents

class ReservePolicy < ApplicationPolicy
  def index?
    user.try(:has_role?, 'User')
  end

  def show?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user and user == record.user
      true
    end
  end

  def create?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user.try(:has_role?, 'User')
      true if user.profile.user_number.try(:present?)
    end
  end

  def update?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user and user == record.user
      true
    end
  end

  def destroy?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user and user == record.user
      true
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
enju_circulation-0.2.5 app/policies/reserve_policy.rb
enju_circulation-0.2.4 app/policies/reserve_policy.rb
enju_circulation-0.2.3 app/policies/reserve_policy.rb
enju_circulation-0.2.2 app/policies/reserve_policy.rb
enju_circulation-0.2.1 app/policies/reserve_policy.rb
enju_circulation-0.2.0 app/policies/reserve_policy.rb
enju_circulation-0.2.0.beta.4 app/policies/reserve_policy.rb
enju_circulation-0.2.0.beta.3 app/policies/reserve_policy.rb
enju_circulation-0.2.0.beta.2 app/policies/reserve_policy.rb
enju_circulation-0.2.0.beta.1 app/policies/reserve_policy.rb