Sha256: 79fa0261aac25f38703f764ba21809510f182cadc4ca2a77aa2aa4ecbfdda1ab

Contents?: true

Size: 1.26 KB

Versions: 38

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Spree
  module PermissionSets
    class DefaultCustomer < PermissionSets::Base
      def activate!
        can :read, Country
        can :read, OptionType
        can :read, OptionValue
        can :create, Order
        can [:show, :update], Order, Order.where(user: user) do |order, token|
          order.user == user || (order.guest_token.present? && token == order.guest_token)
        end
        cannot :update, Order do |order|
          order.completed?
        end
        can :create, ReturnAuthorization do |return_authorization|
          return_authorization.order.user == user
        end
        can [:read, :update], CreditCard, user_id: user.id
        can :read, Product
        can :read, ProductProperty
        can :read, Property
        can :create, Spree.user_class
        can [:show, :update, :update_email], Spree.user_class, id: user.id
        can :read, State
        can :read, StockItem, stock_location: { active: true }
        can :read, StockLocation, active: true
        can :read, Taxon
        can :read, Taxonomy
        can [:save_in_address_book, :remove_from_address_book], Spree.user_class, id: user.id
        can [:read, :view_out_of_stock], Variant
        can :read, Zone
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
solidus_core-3.1.9 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.8 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.8 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.7 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.17 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.7 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.16 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.6 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.6 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.15 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.14 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.5 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.5 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.13 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.4 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.4 lib/spree/permission_sets/default_customer.rb
solidus_core-2.11.12 lib/spree/permission_sets/default_customer.rb
solidus_core-3.0.3 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.3 lib/spree/permission_sets/default_customer.rb
solidus_core-3.1.2 lib/spree/permission_sets/default_customer.rb