effective_memberships 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be186a54404ee8564606cdbeb991f89eac977c24da038bcdd7e8d066a07135d5
4
- data.tar.gz: b45bbf9c7f8c581c7497455fc9a6d50254f08526c9bb1372bb2c6bea46c99fb3
3
+ metadata.gz: 99f08d66833ddda5de88911b43a3bdbeec7a3c8471a8018612dad529c577d8bd
4
+ data.tar.gz: 0de87e5740113cde0a6dc6447eae0d53341637b6eeac1787ec233dceeab5b50c
5
5
  SHA512:
6
- metadata.gz: 1b5abcc5857d2c2b445e7d89d98452f60b9654458242bfdb0f3a2a63e27997e41c586ab0ea526a260f345e1145a920b16e2e0527d154546afc129c02b3e8d136
7
- data.tar.gz: 9efdc2ec2ef92d21aac19b70eaca29d1a3d0221f6d0fc593ed3982885984da2c409f519b98d9d2b60ae01ee00fc43e7c01d074efadb0b5234698b8bab7fde59c
6
+ metadata.gz: 4e7dbbdfccb1c6dc0f0c30f15c58fa04a82a556cf00d9ad00e252fcfd99c29c5b74a973a694c9447f19cf1b114d15a59decc1ac52049fc3019425c252938f7b7
7
+ data.tar.gz: '0683eee612f3d51e1024c118813cce613a3f5715c2959ac09b7cbea1cb000e9c17e3acfced1deaf28c717a6398b0d1a26622394018a2ff3f4f3225de7fb58c90'
@@ -51,7 +51,7 @@ module EffectiveMembershipsFeePayment
51
51
  attr_accessor :declare_truth
52
52
 
53
53
  # Throwaway
54
- attr_accessor :upgrade
54
+ attr_accessor :upgrade, :downgrade
55
55
 
56
56
  # Application Namespace
57
57
  belongs_to :owner, polymorphic: true
@@ -159,6 +159,41 @@ module EffectiveMembershipsFeePayment
159
159
  owner&.outstanding_fee_payment_fees
160
160
  end
161
161
 
162
+ def select!
163
+ reset!
164
+ end
165
+
166
+ def reset!
167
+ assign_attributes(wizard_steps: wizard_steps.slice(:start))
168
+ save!
169
+ end
170
+
171
+ # Work with effective_organizations
172
+ def organization!
173
+ if upgrade_individual_to_organization?
174
+ save!
175
+ update!(owner: owner.representatives.first.organization)
176
+ elsif downgrade_organization_to_individual?
177
+ save!
178
+ update!(owner: current_user)
179
+ else
180
+ save!
181
+ end
182
+ end
183
+
184
+ def upgrade_individual_to_organization?
185
+ return false unless EffectiveResources.truthy?(upgrade)
186
+ return false unless owner.class.respond_to?(:effective_organizations_user?)
187
+ owner.representatives.any?(&:new_record?)
188
+ end
189
+
190
+ def downgrade_organization_to_individual?
191
+ return false unless EffectiveResources.truthy?(downgrade)
192
+ return false unless owner.class.respond_to?(:effective_organizations_organization?)
193
+ return false if current_user.blank?
194
+ owner.representatives.any?(&:marked_for_destruction?)
195
+ end
196
+
162
197
  # All Fees and Orders
163
198
  def submit_fees
164
199
  fees
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_memberships
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
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: 2021-12-20 00:00:00.000000000 Z
11
+ date: 2021-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails