effective_resources 2.20.2 → 2.20.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 56b1a55c520efbd90c56d4e17d66fbdb328f4732e89e500279dcac8bd1a0490e
4
- data.tar.gz: 9154c49ed7c9dcf18a98f5e6051f8bb516cf53f95cc0d9f4cbf777c8b93b3e25
3
+ metadata.gz: 00f36eb36567fbb4037e4f7858d4815f9c0cd75631757a9822ffdbbb3b7697dd
4
+ data.tar.gz: 106768d6e545106f1a3e697005d4851aa64bd1ba5625fb8efb469ea50301fd3a
5
5
  SHA512:
6
- metadata.gz: a673a48025bda899630dd5edb0672dd12feff7e8f0b04d5ece1312bbc5bd50c318802ca5eb49980472afd0273586b658c1b1cb4b9b477314f69c6e87d13831c1
7
- data.tar.gz: 8d7046ee355a352ef07c289dfa6deab682cf7233ef998fe85249dff4c602f5e3f570f476da593e5bc4214318a689fdf39c2b5fbc5e9be588d8726812b5562051
6
+ metadata.gz: 8b5715e8e8650b69ec84b1de66b5d5f2f4422ee69c1cdbf25fff7395d001e4a7032bdfc6887c9c6a30a166b850d938ca485fd5bd272f7bf66c321363a3612296
7
+ data.tar.gz: b81cbf492c0bec23828f1e6778c2c62203fb3cd918fd16259dc6cf17deacf8bb16da427c2d872e1509b206a9c9367963feeb520336d6286bfdc0df48ce2ff04d
@@ -47,10 +47,27 @@ module ActsAsPurchasableWizard
47
47
  submit_fees
48
48
  end
49
49
 
50
+ def build_effective_order
51
+ if EffectiveOrders.organization_enabled? && respond_to?(:organization) # New style
52
+ orders.build(organization: organization)
53
+ else
54
+ orders.build(user: owner) # This is polymorphic user, might be an organization. Old style.
55
+ end
56
+ end
57
+
50
58
  def find_or_build_submit_order
51
- order = submit_order || orders.build(user: owner) # This is polymorphic user, might be an organization
52
- order = orders.build(user: owner) if order.declined? # Make a new order, if the previous one was declined
59
+ order = submit_order || build_effective_order()
60
+ order = build_effective_order() if order.declined? # Make a new order, if the previous one was declined
53
61
 
62
+ # Update the order with the current owner
63
+ if EffectiveOrders.organization_enabled? && respond_to?(:organization)
64
+ order.organization = organization
65
+ else
66
+ # A membership could go from individual to organization
67
+ order.user = owner
68
+ end
69
+
70
+ # Consider fees
54
71
  fees = submit_fees().reject { |fee| fee.marked_for_destruction? }
55
72
 
56
73
  # Make sure all Fees are valid
@@ -58,14 +75,12 @@ module ActsAsPurchasableWizard
58
75
  raise("expected a valid fee but #{fee.id} had errors #{fee.errors.inspect}") unless fee.valid?
59
76
  end
60
77
 
61
- # A membership could go from individual to organization
62
- order.user = owner
63
-
64
78
  # Adds fees, but does not overwrite any existing price.
65
79
  fees.each do |fee|
66
80
  order.add(fee) unless order.purchasables.include?(fee)
67
81
  end
68
82
 
83
+ # Remove any order items that no longer have fees for them
69
84
  order.order_items.each do |order_item|
70
85
  fee = fees.find { |fee| fee == order_item.purchasable }
71
86
  order.remove(order_item) unless fee.present?
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.20.2'.freeze
2
+ VERSION = '2.20.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.20.2
4
+ version: 2.20.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-22 00:00:00.000000000 Z
11
+ date: 2024-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails