effective_memberships 0.8.4 → 0.8.6

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: 9f9d47f303cc8f5ebcf269093828d5369969b288673007f98fa7589bd92f3c78
4
- data.tar.gz: 2b2c1d4f6b31e31cc3e45dfe05a6a6666935a542623b85c2a6072460f7969f96
3
+ metadata.gz: a1dfaa3991cff1f364a78cf6ebc761797942473f4f7c743cbc5269cddf1d3761
4
+ data.tar.gz: 636a525c3ceaa90e4de0ca185abfee8ac9002ddab428cd5c2e26391426e201dc
5
5
  SHA512:
6
- metadata.gz: b7e4b227ffb1bf4798e8d87f7651a14c9d40ba0107c3a58501249380f66475e0ba883d46036958528b077d325722602c69bee535d2a7e90fd0e8714c31f94c07
7
- data.tar.gz: 64007536a52a3ac533f5b69c122889b3fc804a908da5d7633e1a47bbae6c754cecdb36ea6568abfdefc174a55706134c0aa714c92910bf82154a901aea2730be
6
+ metadata.gz: 9b37e54dde35b655fa57a70b3e36a7c1d2751f6e6c6c191660a7ad749adfcd1f8fdaa383e8568102d93efe44de744b7e3169ee00e117546dad097c612a6ff9a1
7
+ data.tar.gz: 793da30a1927080c85d33efc01e8ec17da98325a9ffaadbc1cc531dfcaf956189531f99d8b3ba7770b601e031fd782a5b972f9590868bc98f641866189ba3d53
@@ -22,7 +22,7 @@ module Admin
22
22
  col :number_as_integer, visible: false
23
23
 
24
24
  col :joined_on
25
- col :registration_on
25
+ col :registration_on, label: 'Last changed'
26
26
 
27
27
  col :fees_paid_period, visible: false, label: 'Fees Paid'
28
28
  col :fees_paid_through_period, label: 'Fees Paid Through'
@@ -440,7 +440,16 @@ module EffectiveMembershipsApplicant
440
440
 
441
441
  def applicant_fee_price
442
442
  return category.applicant_reinstatement_fee if reinstatement?
443
- category.applicant_fee
443
+ applicant_fee_category.applicant_fee
444
+ end
445
+
446
+ def applicant_fee_tax_exempt
447
+ applicant_fee_category.applicant_fee_tax_exempt
448
+ end
449
+
450
+ def applicant_fee_qb_item_name(fee = nil)
451
+ raise('expected an Effective::Fee') if fee && !fee.kind_of?(Effective::Fee)
452
+ applicant_fee_category.applicant_fee_qb_item_name
444
453
  end
445
454
 
446
455
  # All Fees and Orders
@@ -459,8 +468,8 @@ module EffectiveMembershipsApplicant
459
468
  fee_type: applicant_fee_type,
460
469
  category: applicant_fee_category,
461
470
  price: applicant_fee_price,
462
- tax_exempt: applicant_fee_category.applicant_fee_tax_exempt,
463
- qb_item_name: applicant_fee_category.applicant_fee_qb_item_name
471
+ tax_exempt: applicant_fee_tax_exempt,
472
+ qb_item_name: applicant_fee_qb_item_name
464
473
  )
465
474
  end
466
475
 
@@ -157,6 +157,10 @@ module EffectiveMembershipsCategory
157
157
  title.presence || 'New Membership Category'
158
158
  end
159
159
 
160
+ def membership_directory_title
161
+ to_s
162
+ end
163
+
160
164
  def can_apply?
161
165
  can_apply_new? || can_apply_existing? || can_apply_restricted?
162
166
  end
@@ -129,6 +129,10 @@ module EffectiveMembershipsOwner
129
129
  EffectiveMemberships.Status.sorted.all.where.not(id: EffectiveMemberships.Registrar.not_in_good_standing_status)
130
130
  end
131
131
 
132
+ def after_build_fee(fee)
133
+ # Nothing to do. Hook to adjust fee.
134
+ end
135
+
132
136
  # Instance Methods
133
137
  def build_prorated_fee(date: nil)
134
138
  raise('must have an existing membership') unless membership.present?
@@ -150,6 +154,8 @@ module EffectiveMembershipsOwner
150
154
  qb_item_name: category.qb_item_name
151
155
  )
152
156
 
157
+ after_build_fee(fee)
158
+
153
159
  fee
154
160
  end
155
161
 
@@ -174,6 +180,8 @@ module EffectiveMembershipsOwner
174
180
  qb_item_name: category.qb_item_name
175
181
  )
176
182
 
183
+ after_build_fee(fee)
184
+
177
185
  fee
178
186
  end
179
187
 
@@ -199,6 +207,8 @@ module EffectiveMembershipsOwner
199
207
  qb_item_name: qb_item_name
200
208
  )
201
209
 
210
+ after_build_fee(fee)
211
+
202
212
  fee
203
213
  end
204
214
 
@@ -237,6 +247,8 @@ module EffectiveMembershipsOwner
237
247
  not_in_good_standing_on: not_in_good_standing_on,
238
248
  )
239
249
 
250
+ after_build_fee(fee)
251
+
240
252
  fee
241
253
  end
242
254
 
@@ -263,6 +275,8 @@ module EffectiveMembershipsOwner
263
275
  qb_item_name: category.qb_item_name
264
276
  )
265
277
 
278
+ after_build_fee(fee)
279
+
266
280
  fee
267
281
  end
268
282
 
@@ -342,7 +356,7 @@ module EffectiveMembershipsOwner
342
356
 
343
357
  # Check that there is a membership history row if the registered date is unique
344
358
  if membership.joined_on != membership.registration_on && membership_histories.none? { |mh| mh.start_on == membership.registration_on }
345
- errors << "The registered date #{membership.registration_on.strftime('%F')} is missing a history with this date. Please create a history with a start date of #{membership.registration_on.strftime('%F')} or update the registered date above."
359
+ errors << "The last changed date #{membership.registration_on.strftime('%F')} is missing a history with this date. Please create a history with a start date of #{membership.registration_on.strftime('%F')} or update the last changed date above."
346
360
  end
347
361
 
348
362
  # Check numbers
@@ -60,6 +60,10 @@ module EffectiveMembershipsStatus
60
60
  title.presence || 'New Membership Status'
61
61
  end
62
62
 
63
+ def membership_directory_title
64
+ to_s
65
+ end
66
+
63
67
  def individual?
64
68
  status_type == 'Individual'
65
69
  end
@@ -116,7 +116,7 @@ module Effective
116
116
  'member',
117
117
  ("##{number_was}" if number_was.present?),
118
118
  "who joined #{joined_on&.strftime('%F') || '-'}",
119
- ("and last registered #{registration_on.strftime('%F')}" if registration_on > joined_on)
119
+ ("and last changed on #{registration_on.strftime('%F')}" if registration_on > joined_on)
120
120
  ].compact.join(' ')
121
121
 
122
122
  (summary + '.').html_safe
@@ -14,7 +14,7 @@
14
14
 
15
15
  = f.show_if :current_action, true do
16
16
  = f.date_field :joined_on, label: 'Joined', hint: 'When the member first received any membership category'
17
- = f.date_field :registration_on, label: 'Registered', hint: 'When the membership category last changed'
17
+ = f.date_field :registration_on, label: 'Last changed', hint: 'When the membership category or status last changed'
18
18
  = f.text_field :number, hint: 'The membership number. Must be unique.'
19
19
 
20
20
  - registrar = EffectiveMemberships.Registrar
@@ -1,4 +1,7 @@
1
1
  = card do
2
2
  %h6= owner
3
- %p= membership.categories.to_sentence
4
- %p= membership.statuses.to_sentence
3
+ %p= membership.categories.map(&:membership_directory_title).to_sentence
4
+ %p= membership.statuses.map(&:membership_directory_title).to_sentence
5
+
6
+ - if owner.try(:email).present?
7
+ %p= reveal_mail_to(owner.email)
@@ -28,7 +28,7 @@
28
28
  %p You joined on #{membership.joined_on.strftime('%F')} and have not been assigned a membership number.
29
29
 
30
30
  - if membership.registration_on > membership.joined_on
31
- %p You last changed categories on #{membership.registration_on.strftime('%F')}.
31
+ %p Your last category or status change was on #{membership.registration_on.strftime('%F')}.
32
32
 
33
33
  - if membership.not_in_good_standing?
34
34
  %p Your membership is Not In Good Standing because of unpurchased fees or dues. Please purchase these dues or contact us.
@@ -5,7 +5,7 @@
5
5
  %td= membership.joined_on.strftime('%F')
6
6
 
7
7
  %tr
8
- %th Registered
8
+ %th Last Changed
9
9
  %td= membership.registration_on.strftime('%F')
10
10
 
11
11
  - if membership.categories.length == 0
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.8.4'
2
+ VERSION = '0.8.6'
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.8.4
4
+ version: 0.8.6
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: 2022-11-03 00:00:00.000000000 Z
11
+ date: 2022-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails