effective_memberships 0.1.4 → 0.1.5

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: 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