effective_memberships 0.1.8 → 0.1.12
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 +4 -4
- data/app/controllers/admin/fee_payments_controller.rb +1 -1
- data/app/controllers/admin/memberships_controller.rb +9 -0
- data/app/datatables/admin/effective_memberships_datatable.rb +40 -0
- data/app/models/concerns/effective_memberships_applicant.rb +8 -0
- data/app/models/concerns/effective_memberships_fee_payment.rb +8 -0
- data/app/models/effective/membership.rb +1 -1
- data/app/views/admin/categories/_form_renewals.html.haml +3 -3
- data/app/views/admin/registrar_actions/_form_bad_standing.html.haml +1 -1
- data/app/views/effective/applicants/_layout.html.haml +1 -1
- data/app/views/effective/fee_payments/_layout.html.haml +1 -1
- data/app/views/effective/fee_payments/submitted.html.haml +5 -4
- data/app/views/effective/fees/_dashboard.html.haml +2 -2
- data/config/routes.rb +1 -0
- data/lib/effective_memberships/version.rb +1 -1
- data/lib/effective_memberships.rb +0 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ea458f58ff630eeb58b9dbcb54a1f0be52e8bb0ce6e6b5fc7077acad2603a9a
|
4
|
+
data.tar.gz: 839ca3fd8147a2cd0008f741a1ab273698c31ba9a51a13922852bc81fe80ee3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7510adce20ca23cbb8cb926f2f97f078535fb53fb5c5b7ac0f98daf475548ee7197cffdb3b1109ad59b60e0f0905567a8f161c01d16b74a342d715c79ee86a6e
|
7
|
+
data.tar.gz: 0f7e83c51b5065c69855b58b04dd69109352e5ca4b29655b156ef10cf580dd79e817544a3637f73647d6b0eb1fa3c2e37ed1654a77ebd271bb8bdf695acf7dd2
|
@@ -11,7 +11,7 @@ module Admin
|
|
11
11
|
private
|
12
12
|
|
13
13
|
def permitted_params
|
14
|
-
model = (params.key?(:
|
14
|
+
model = (params.key?(:effective_fee_payment) ? :effective_fee_payment : :fee_payment)
|
15
15
|
params.require(model).permit!
|
16
16
|
end
|
17
17
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Admin
|
2
|
+
class EffectiveMembershipsDatatable < Effective::Datatable
|
3
|
+
|
4
|
+
datatable do
|
5
|
+
order :id
|
6
|
+
col :id, visible: false
|
7
|
+
|
8
|
+
col :owner
|
9
|
+
col :categories
|
10
|
+
|
11
|
+
col :number
|
12
|
+
col :number_as_integer, visible: false
|
13
|
+
|
14
|
+
col :joined_on
|
15
|
+
col :registration_on
|
16
|
+
|
17
|
+
col :fees_paid_period, visible: false, label: 'Fees Paid'
|
18
|
+
col :fees_paid_through_period, label: 'Fees Paid Through'
|
19
|
+
|
20
|
+
col :bad_standing
|
21
|
+
col :bad_standing_admin, visible: false
|
22
|
+
col :bad_standing_reason, visible: false
|
23
|
+
|
24
|
+
actions_col
|
25
|
+
end
|
26
|
+
|
27
|
+
collection do
|
28
|
+
memberships = Effective::Membership.deep.all
|
29
|
+
|
30
|
+
raise('expected an owner_id, not user_id') if attributes[:user_id].present?
|
31
|
+
|
32
|
+
if attributes[:owner_id].present?
|
33
|
+
memberships = memberships.where(owner_id: attributes[:owner_id])
|
34
|
+
end
|
35
|
+
|
36
|
+
memberships
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -247,6 +247,12 @@ module EffectiveMembershipsApplicant
|
|
247
247
|
validates :declare_truth, acceptance: true
|
248
248
|
end
|
249
249
|
|
250
|
+
# Billing Step
|
251
|
+
validate(if: -> { current_step == :billing && owner.present? }) do
|
252
|
+
self.errors.add(:base, "must have a billing address") unless owner.billing_address.present?
|
253
|
+
self.errors.add(:base, "must have an email") unless owner.email.present?
|
254
|
+
end
|
255
|
+
|
250
256
|
# Admin Approve
|
251
257
|
validate(if: -> { approved_membership_date.present? }) do
|
252
258
|
if approved_membership_date.to_date > Time.zone.now.to_date
|
@@ -467,6 +473,8 @@ module EffectiveMembershipsApplicant
|
|
467
473
|
# From Billing Step
|
468
474
|
order.billing_address = owner.billing_address if owner.billing_address.present?
|
469
475
|
|
476
|
+
order.save
|
477
|
+
|
470
478
|
order
|
471
479
|
end
|
472
480
|
|
@@ -110,6 +110,12 @@ module EffectiveMembershipsFeePayment
|
|
110
110
|
validates :declare_truth, acceptance: true
|
111
111
|
end
|
112
112
|
|
113
|
+
# Billing Step
|
114
|
+
validate(if: -> { current_step == :billing && owner.present? }) do
|
115
|
+
self.errors.add(:base, "must have a billing address") unless owner.billing_address.present?
|
116
|
+
self.errors.add(:base, "must have an email") unless owner.email.present?
|
117
|
+
end
|
118
|
+
|
113
119
|
# Clear required steps memoization
|
114
120
|
after_save { @_required_steps = nil }
|
115
121
|
|
@@ -223,6 +229,8 @@ module EffectiveMembershipsFeePayment
|
|
223
229
|
|
224
230
|
order.billing_address = owner.billing_address if owner.billing_address.present?
|
225
231
|
|
232
|
+
order.save
|
233
|
+
|
226
234
|
order
|
227
235
|
end
|
228
236
|
|
@@ -7,7 +7,7 @@
|
|
7
7
|
= f.show_if(:create_renewal_fees, true) do
|
8
8
|
- date = EffectiveMemberships.Registrar.renewal_fee_date(date: Time.zone.now)
|
9
9
|
|
10
|
-
%p Charged to members, every #{date.strftime('%B %
|
10
|
+
%p Charged to members, every #{date.strftime('%B %e')}, to renew their dues.
|
11
11
|
= f.price_field :renewal_fee
|
12
12
|
|
13
13
|
%h3 Late Fees
|
@@ -17,7 +17,7 @@
|
|
17
17
|
- period = EffectiveMemberships.Registrar.current_period
|
18
18
|
- date = EffectiveMemberships.Registrar.late_fee_date(period: period)
|
19
19
|
|
20
|
-
%p Charged to members, on #{date.strftime('%B %
|
20
|
+
%p Charged to members, on #{date.strftime('%B %e')}, with outstanding renewal fees
|
21
21
|
= f.price_field :late_fee
|
22
22
|
|
23
23
|
%h3 Bad Standing
|
@@ -27,6 +27,6 @@
|
|
27
27
|
- period = EffectiveMemberships.Registrar.current_period
|
28
28
|
- date = EffectiveMemberships.Registrar.bad_standing_date(period: period)
|
29
29
|
|
30
|
-
%p Members with outstanding fees, on #{date.strftime('%B %
|
30
|
+
%p Members with outstanding fees, on #{date.strftime('%B %e')}, will automatically be marked in bad standing.
|
31
31
|
|
32
32
|
= effective_submit(f)
|
@@ -14,7 +14,7 @@
|
|
14
14
|
%p.text-muted
|
15
15
|
- if date.present?
|
16
16
|
Members with outstanding renewal fees are automatically marked
|
17
|
-
not in good standing on #{date.strftime('%B %
|
17
|
+
not in good standing on #{date.strftime('%B %e')}.
|
18
18
|
The status is cleared when they pay their fees.
|
19
19
|
You can also mark a member as always in bad standing.
|
20
20
|
|
@@ -4,11 +4,12 @@
|
|
4
4
|
- raise('expected a submitted fee_payment') unless resource.was_submitted?
|
5
5
|
- raise('expected a purchased fee_payment submit_order') unless resource.submit_order&.purchased?
|
6
6
|
|
7
|
-
.alert.alert-
|
8
|
-
|
9
|
-
|
7
|
+
.alert.alert-warning.mb-4
|
8
|
+
Successfully paid on #{resource.submit_order.purchased_at.strftime('%F')}.
|
9
|
+
|
10
|
+
= link_to "Return to Dashboard", root_path, class: 'btn btn-lg btn-primary mb-4'
|
10
11
|
|
11
12
|
= render 'effective/fee_payments/fee_payment', fee_payment: resource
|
12
13
|
= render 'effective/fee_payments/orders', fee_payment: resource
|
13
14
|
|
14
|
-
= link_to "Return to Dashboard", root_path, class: 'btn btn-lg btn-primary
|
15
|
+
= link_to "Return to Dashboard", root_path, class: 'btn btn-lg btn-primary'
|
@@ -7,11 +7,11 @@
|
|
7
7
|
- if membership.present?
|
8
8
|
- if membership.category.create_renewal_fees?
|
9
9
|
- date = EffectiveMemberships.Registrar.renewal_fee_date(date: Time.zone.now)
|
10
|
-
%p Annual fees become available for purchase on #{date.strftime('%B %
|
10
|
+
%p Annual fees become available for purchase on #{date.strftime('%B %e')} of each year.
|
11
11
|
|
12
12
|
- if membership.category.create_late_fees?
|
13
13
|
- date = EffectiveMemberships.Registrar.late_fee_date(date: Time.zone.now)
|
14
|
-
%p Late fees will be applied on #{date.strftime('%B %
|
14
|
+
%p Late fees will be applied on #{date.strftime('%B %e')}.
|
15
15
|
|
16
16
|
- if fees.present?
|
17
17
|
.alert.alert-warning.mb-3 You have #{pluralize(fees.length , 'outstanding fee')}.
|
data/config/routes.rb
CHANGED
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
|
+
version: 0.1.12
|
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:
|
11
|
+
date: 2022-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -216,6 +216,7 @@ files:
|
|
216
216
|
- app/controllers/admin/categories_controller.rb
|
217
217
|
- app/controllers/admin/fee_payments_controller.rb
|
218
218
|
- app/controllers/admin/fees_controller.rb
|
219
|
+
- app/controllers/admin/memberships_controller.rb
|
219
220
|
- app/controllers/admin/registrar_actions_controller.rb
|
220
221
|
- app/controllers/effective/applicant_references_controller.rb
|
221
222
|
- app/controllers/effective/applicants_controller.rb
|
@@ -227,6 +228,7 @@ files:
|
|
227
228
|
- app/datatables/admin/effective_fee_payments_datatable.rb
|
228
229
|
- app/datatables/admin/effective_fees_datatable.rb
|
229
230
|
- app/datatables/admin/effective_membership_histories_datatable.rb
|
231
|
+
- app/datatables/admin/effective_memberships_datatable.rb
|
230
232
|
- app/datatables/effective_applicant_courses_datatable.rb
|
231
233
|
- app/datatables/effective_applicant_educations_datatable.rb
|
232
234
|
- app/datatables/effective_applicant_experiences_datatable.rb
|