Sha256: dd67575946ce0a32d4f8cd184ab4d9c6b36e204f98b35b918226a22b77bb5252

Contents?: true

Size: 792 Bytes

Versions: 5

Compression:

Stored size: 792 Bytes

Contents

# frozen_string_literal: true

module SolidusSubscriptions
  module PermissionSets
    class DefaultCustomer < ::Spree::PermissionSets::Base
      def activate!
        can [:show, :display, :update, :skip, :cancel, :pause, :resume], Subscription, ['user_id = ?', user.id] do |subscription, guest_token|
          (subscription.guest_token.present? && subscription.guest_token == guest_token) ||
            (subscription.user && subscription.user == user)
        end

        can [:show, :display, :update, :destroy], LineItem do |line_item, guest_token|
          (line_item.subscription&.guest_token.present? && line_item.subscription.guest_token == guest_token) ||
            (line_item.subscription&.user && line_item.subscription.user == user)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_subscriptions-2.0.2 lib/solidus_subscriptions/permission_sets/default_customer.rb
solidus_subscriptions-2.0.1 lib/solidus_subscriptions/permission_sets/default_customer.rb
solidus_subscriptions-2.0.0 lib/solidus_subscriptions/permission_sets/default_customer.rb
solidus_subscriptions-1.1.0 lib/solidus_subscriptions/permission_sets/default_customer.rb
solidus_subscriptions-1.0.1 lib/solidus_subscriptions/permission_sets/default_customer.rb