Sha256: 201c8a5b0d2412dd240707d7fab6f904f4bd97b0b1ef2cda3aad9887ec58fc52

Contents?: true

Size: 756 Bytes

Versions: 5

Compression:

Stored size: 756 Bytes

Contents

# frozen_string_literal: true

module Spree
  module PermissionSets
    class UserManagement < PermissionSets::Base
      def activate!
        can [:admin, :display, :create, :update, :save_in_address_book, :remove_from_address_book, :addresses, :orders, :items], Spree.user_class

        # Note: This does not work with accessible_by.
        # See https://github.com/solidusio/solidus/pull/1263
        can :update_email, Spree.user_class do |user|
          user.spree_roles.none?
        end
        can :update_password, Spree.user_class do |user|
          user.spree_roles.none?
        end

        cannot [:delete, :destroy], Spree.user_class
        can :manage, Spree::StoreCredit
        can :display, Spree::Role
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_core-2.10.5 lib/spree/permission_sets/user_management.rb
solidus_core-2.10.3 lib/spree/permission_sets/user_management.rb
solidus_core-2.10.2 lib/spree/permission_sets/user_management.rb
solidus_core-2.10.1 lib/spree/permission_sets/user_management.rb
solidus_core-2.10.0 lib/spree/permission_sets/user_management.rb