Sha256: ffeaf2f67d472e7fda59b64cbdce9bd7c721541923b074e9ae99c163cd2d9ed2

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module Spree
  module PermissionSets
    # Full permissions for order management.
    #
    # This permission set grants full control over all order and related resources,
    # including:
    #
    # - Orders
    # - Payments
    # - Shipments
    # - Adjustments
    # - Line items
    # - Return authorizations
    # - Customer returns
    # - Order cancellations
    # - Reimbursements
    # - Return items
    # - Refunds
    #
    # It also allows reading reimbursement types, but not modifying them.
    class OrderManagement < PermissionSets::Base
      class << self
        def privilege
          :management
        end

        def category
          :order
        end
      end

      def activate!
        can :read, Spree::ReimbursementType
        can :manage, Spree::Order
        can :manage, Spree::Payment
        can :manage, Spree::Shipment
        can :manage, Spree::Adjustment
        can :manage, Spree::LineItem
        can :manage, Spree::ReturnAuthorization
        can :manage, Spree::CustomerReturn
        can :manage, Spree::OrderCancellations
        can :manage, Spree::Reimbursement
        can :manage, Spree::ReturnItem
        can :manage, Spree::Refund
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solidus_core-4.4.2 lib/spree/permission_sets/order_management.rb
solidus_core-4.4.1 lib/spree/permission_sets/order_management.rb
solidus_core-4.4.0 lib/spree/permission_sets/order_management.rb