effective_memberships 0.8.4 → 0.8.6

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