Sha256: 2e3ae9ba12697ffb738dc499f48561f8de16fef9bb384d56c2edccbf891e8f57

Contents?: true

Size: 902 Bytes

Versions: 19

Compression:

Stored size: 902 Bytes

Contents

module Oxen
    class AccountPolicy < AbstractResourcePolicy

      class Scope < Scope
        def resolve
          if current_user.nil?
            super
          elsif current_user.admin?
            scope.all
          else
            scope.where(id: current_user.account.id)
          end
        end
      end



    def new?
      current_user.admin?
    end

    def index?
      @current_user.admin? || @current_user.account_admin?
    end

    def create?
      @current_user.admin?
    end

    def show?
      @current_user.admin? or @current_user.account==@model
    end

    def edit?
      @current_user.admin? or @current_user.account==@model
    end

    def update?
      @current_user.admin? or @current_user.account==@model
    end

    def destroy?
      @current_user.admin?
    end

    def print?
      @current_user.admin? || @current_user.account_admin?
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
oxen_account-0.4.14 app/policies/oxen/account_policy.rb
oxen_account-0.4.13 app/policies/oxen/account_policy.rb
oxen_account-0.4.12 app/policies/oxen/account_policy.rb
oxen_account-0.4.11 app/policies/oxen/account_policy.rb
oxen_account-0.4.9 app/policies/oxen/account_policy.rb
oxen_account-0.4.8 app/policies/oxen/account_policy.rb
oxen_account-0.4.7 app/policies/oxen/account_policy.rb
oxen_account-0.4.1 app/policies/oxen/account_policy.rb
oxen_account-0.3.4 app/policies/oxen/account_policy.rb
oxen_account-0.3.3 app/policies/oxen/account_policy.rb
oxen_account-0.3.2 app/policies/oxen/account_policy.rb
oxen_account-0.3.1 app/policies/oxen/account_policy.rb
oxen_account-0.3.0 app/policies/oxen/account_policy.rb
oxen_account-0.2.9 app/policies/oxen/account_policy.rb
oxen_account-0.2.8 app/policies/oxen/account_policy.rb
oxen_account-0.2.4 app/policies/oxen/account_policy.rb
oxen_account-0.2.2 app/policies/oxen/account_policy.rb
oxen_account-0.2.1 app/policies/oxen/account_policy.rb
oxen_account-0.2.0 app/policies/oxen/account_policy.rb