Sha256: 515ca7b2f5e69c2dcd9e91a26776bef3b5b387f465598d8330db7b5f78c50451

Contents?: true

Size: 728 Bytes

Versions: 30

Compression:

Stored size: 728 Bytes

Contents

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

        # due to how cancancan filters by associations,
        # we have to define this twice, once for `accessible_by`
        can :update_email, Spree.user_class, spree_roles: { id: nil }
        # and once for `can?`
        can :update_email, 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

30 entries across 30 versions & 1 rubygems

Version Path
solidus_core-2.0.3 lib/spree/permission_sets/user_management.rb
solidus_core-1.4.2 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.2 lib/spree/permission_sets/user_management.rb
solidus_core-1.2.3 lib/spree/permission_sets/user_management.rb
solidus_core-1.1.4 lib/spree/permission_sets/user_management.rb
solidus_core-2.0.2 lib/spree/permission_sets/user_management.rb
solidus_core-1.4.1 lib/spree/permission_sets/user_management.rb
solidus_core-2.0.1 lib/spree/permission_sets/user_management.rb
solidus_core-2.0.0 lib/spree/permission_sets/user_management.rb
solidus_core-1.4.0 lib/spree/permission_sets/user_management.rb
solidus_core-2.0.0.rc1 lib/spree/permission_sets/user_management.rb
solidus_core-1.4.0.rc1 lib/spree/permission_sets/user_management.rb
solidus_core-2.0.0.beta1 lib/spree/permission_sets/user_management.rb
solidus_core-1.4.0.beta1 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.1 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.0 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.0.rc2 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.0.rc1 lib/spree/permission_sets/user_management.rb
solidus_core-1.3.0.beta1 lib/spree/permission_sets/user_management.rb
solidus_core-1.2.2 lib/spree/permission_sets/user_management.rb