effective_memberships 0.7.3 → 0.7.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: e5630148361e363550dea41e32b75f80ce1534bd93a4c18873d724c7b0b9cd61
4
- data.tar.gz: 46e7aa62a886f604e4ebbf9b80e76f44f3fe5ee933f9e5f468513d412007fd62
3
+ metadata.gz: 4cdabd18c745a7596a4d7d39fb50436a4f6464e88399c8ca4e4b77d58abaddeb
4
+ data.tar.gz: 42df553cb0e753d4259f90a3358c4c3118ca847b5a8128d387de9a2b130a49a5
5
5
  SHA512:
6
- metadata.gz: 91fb28c6ba34f3ac0146219b14f613fb4d19b883963e268d1117bcd56d9f7fcdfb4c5bd807230c53d14d2aefc49eb525867cc23c370948562d881ad79a29029a
7
- data.tar.gz: eb61306191817a7bde172a548d2cf373f3210b235857c1a35d6923522a7ffddafbeeff6124ce5ef2e8d2bb9161c32d0de606465738ee88aeb74adc2e15efc92e
6
+ metadata.gz: 2daa5ad4a3d3f8287b611d3482c32ef07a974bc5488c5adc08884e3f1ca58a7e44fb195ca22d31c4a1c57b8830865036238a584260f3633047f0f382caefcfe9
7
+ data.tar.gz: c904772304719fc3a34b472cb1b4b917909bf94185bc320c60ec691c2ad742bf98a78cb073516011c9669885844072b10ba2ac97ccd4b37987d46342c751e61c
@@ -264,7 +264,7 @@ module EffectiveMembershipsOwner
264
264
 
265
265
  # Only continue if there is a late renewal fee for the same period
266
266
  renewal_fee = fees.find { |fee| fee.fee_type == 'Renewal' && fee.period == period && fee.category_id == category.id && fee.category_type == category.class.name }
267
- return unless fee.present? || renewal_fee&.late?
267
+ return if fee.blank? && (renewal_fee.blank? || renewal_fee.late? == false)
268
268
 
269
269
  # Build the late fee
270
270
  fee ||= fees.build()
@@ -292,7 +292,7 @@ module EffectiveMembershipsOwner
292
292
  # Assign in bad standing
293
293
  if membership.bad_standing_admin?
294
294
  # Nothing to do
295
- elsif bad_standing_fees.present?
295
+ elsif bad_standing_fees.present? && membership.categories.any?(&:create_bad_standing?)
296
296
  membership.bad_standing = true
297
297
  membership.bad_standing_reason = 'Unpaid Fees'
298
298
  else
@@ -385,5 +385,4 @@ module EffectiveMembershipsOwner
385
385
  end
386
386
  end
387
387
 
388
-
389
388
  end
@@ -401,7 +401,7 @@ module EffectiveMembershipsRegistrar
401
401
  GC.start
402
402
 
403
403
  # Update Membership Status - Assign In Bad Standing
404
- memberships.find_each { |membership| update_membership_status!(membership, period: period) }
404
+ memberships.find_each { |membership| create_bad_standing!(membership, period: period) }
405
405
  GC.start
406
406
 
407
407
  true
@@ -416,7 +416,7 @@ module EffectiveMembershipsRegistrar
416
416
  raise("expected build_renewal_fee to return a fee for period #{period}") unless fee.kind_of?(Effective::Fee)
417
417
  next if fee.purchased?
418
418
 
419
- puts("Created renewal fee for #{membership.owner}") if fee.new_record? && !Rails.env.test?
419
+ puts("Created renewal fee for #{membership.owner}") if fee.new_record? && debug?
420
420
 
421
421
  fee.save!
422
422
  end
@@ -426,10 +426,18 @@ module EffectiveMembershipsRegistrar
426
426
  membership.categories.select(&:create_late_fees?).map do |category|
427
427
  fee = membership.owner.build_late_fee(category: category, period: period)
428
428
  next if fee.blank? || fee.purchased?
429
+
430
+ puts("Created late fee for #{membership.owner}") if fee.new_record? && debug?
431
+
429
432
  fee.save!
430
433
  end
431
434
  end
432
435
 
436
+ def create_bad_standing!(membership, period:)
437
+ return unless membership.categories.any?(&:create_bad_standing?)
438
+ update_membership_status!(membership, period: period)
439
+ end
440
+
433
441
  def update_membership_status!(membership, period: nil)
434
442
  membership.owner.update_membership_status!
435
443
  end
@@ -442,6 +450,10 @@ module EffectiveMembershipsRegistrar
442
450
 
443
451
  protected
444
452
 
453
+ def debug?
454
+ false
455
+ end
456
+
445
457
  def add_member_role(owner)
446
458
  owner.add_role(:member)
447
459
 
@@ -4,16 +4,16 @@
4
4
  - outstanding_owners = current_user.memberships_owners.select { |owner| owner.outstanding_fee_payment_fees.present? }
5
5
 
6
6
  - if memberships.present?
7
- - if memberships.any? { |membership| membership.category.create_renewal_fees? }
7
+ - if memberships.any? { |membership| membership.categories.any?(&:create_renewal_fees?) }
8
8
  - date = EffectiveMemberships.Registrar.renewal_fee_date(date: Time.zone.now)
9
9
  %p Annual dues become available for purchase on #{date.strftime('%B %e')} of each year.
10
10
 
11
- - if memberships.any? { |membership| membership.category.create_late_fees? }
12
- - date = EffectiveMemberships.Registrar.late_fee_date(date: Time.zone.now)
11
+ - if memberships.any? { |membership| membership.categories.any?(&:create_late_fees?) }
12
+ - date = EffectiveMemberships.Registrar.late_fee_date(period: Time.zone.now)
13
13
  %p Late fees will be applied on #{date.strftime('%B %e')}.
14
14
 
15
- - if memberships.any? { |membership| membership.category.create_bad_standing? }
16
- - date = EffectiveMemberships.Registrar.bad_standing_date(date: Time.zone.now)
15
+ - if memberships.any? { |membership| membership.categories.any?(&:create_bad_standing?) }
16
+ - date = EffectiveMemberships.Registrar.bad_standing_date(period: Time.zone.now)
17
17
  %p Memberships with unpaid fees or dues will be marked in bad standing on #{date.strftime('%B %e')}.
18
18
 
19
19
  - if outstanding_owners.present?
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.7.3'
2
+ VERSION = '0.7.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_memberships
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect