effective_memberships 0.1.4 → 0.1.8
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/registrar_actions_controller.rb +4 -0
- data/app/controllers/effective/applicant_references_controller.rb +2 -1
- data/app/controllers/effective/applicants_controller.rb +1 -1
- data/app/controllers/effective/fee_payments_controller.rb +6 -3
- data/app/datatables/admin/effective_membership_histories_datatable.rb +9 -1
- data/app/datatables/effective_applicants_datatable.rb +1 -1
- data/app/datatables/effective_fee_payments_datatable.rb +7 -12
- data/app/models/concerns/effective_memberships_applicant.rb +6 -1
- data/app/models/concerns/effective_memberships_fee_payment.rb +43 -4
- data/app/models/concerns/effective_memberships_owner.rb +23 -1
- data/app/models/effective/registrar_action.rb +24 -10
- data/app/views/admin/registrar_actions/_form_assign.html.haml +34 -0
- data/app/views/admin/registrar_actions/_form_bad_standing.html.haml +6 -5
- data/app/views/admin/registrar_actions/_form_reclassify.html.haml +2 -3
- data/app/views/admin/registrar_actions/_form_register.html.haml +1 -1
- data/app/views/effective/fee_payments/_dashboard.html.haml +1 -3
- data/app/views/effective/fee_payments/start.html.haml +19 -5
- data/lib/effective_memberships/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '017428f74b7a9dd16e4d16a8a256ca2cbf510252266908134034cc56eb651c42'
|
4
|
+
data.tar.gz: be01e2eb2f76608ae46b1cfbed55225c3e32f035345e32912db4fcba901da1c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84ccc24c2f09182b1288da31693dde5500478aa4eb9ba3fe58320a12fd85e113df9eaa7b7e954cf39fad473377ea72d855d2e959f89fdc7c5746f4314bdf9258
|
7
|
+
data.tar.gz: 15e78208b04cc08f90f09056b7fb5a5df92b3b1b55255734751501ca9fe3a2572ddf5448bf5f09139ee0c6b08f133451ed19a2232d8d3cbe5954ddcfddc20102
|
@@ -14,6 +14,10 @@ module Admin
|
|
14
14
|
success: -> { "#{resource.owner} has been reclassified to #{resource.owner.membership.category}" },
|
15
15
|
redirect: -> { admin_owners_path(resource) }
|
16
16
|
|
17
|
+
submit :assign, 'Assign',
|
18
|
+
success: -> { "#{resource.owner} has been assigned to #{resource.owner.membership.categories.to_sentence}" },
|
19
|
+
redirect: -> { admin_owners_path(resource) }
|
20
|
+
|
17
21
|
submit :remove, 'Remove',
|
18
22
|
success: -> { "#{resource.owner} has been removed" },
|
19
23
|
redirect: -> { admin_owners_path(resource) }
|
@@ -24,8 +24,9 @@ module Effective
|
|
24
24
|
|
25
25
|
def permitted_params
|
26
26
|
permitted = params.require(:effective_applicant_reference).permit!.except(:token, :last_notified_at, :status, :status_steps)
|
27
|
+
authorized = current_user.effective_memberships_owners.include?(resource.applicant.owner) == false
|
27
28
|
|
28
|
-
if resource.submitted? && resource.applicant.was_submitted? &&
|
29
|
+
if resource.submitted? && resource.applicant.was_submitted? && authorized
|
29
30
|
permitted
|
30
31
|
else
|
31
32
|
permitted.except(:reservations, :reservations_reason, :work_history, :accept_declaration)
|
@@ -4,7 +4,7 @@ module Effective
|
|
4
4
|
|
5
5
|
include Effective::WizardController
|
6
6
|
|
7
|
-
resource_scope -> { EffectiveMemberships.Applicant.deep.where(owner: current_user.
|
7
|
+
resource_scope -> { EffectiveMemberships.Applicant.deep.where(owner: current_user.effective_memberships_owners) }
|
8
8
|
|
9
9
|
# Allow only 1 in-progress application at a time
|
10
10
|
before_action(only: [:new, :show], unless: -> { resource&.done? }) do
|
@@ -4,7 +4,7 @@ module Effective
|
|
4
4
|
|
5
5
|
include Effective::WizardController
|
6
6
|
|
7
|
-
resource_scope -> { EffectiveMemberships.FeePayment.deep.where(owner: current_user.
|
7
|
+
resource_scope -> { EffectiveMemberships.FeePayment.deep.where(owner: current_user.effective_memberships_owners) }
|
8
8
|
|
9
9
|
# Allow only 1 in-progress fee payment at a time
|
10
10
|
before_action(only: [:new, :show], unless: -> { resource&.done? }) do
|
@@ -16,12 +16,15 @@ module Effective
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
after_save do
|
20
|
+
flash.now[:success] = ''
|
21
|
+
end
|
22
|
+
|
19
23
|
private
|
20
24
|
|
21
25
|
def permitted_params
|
22
26
|
params.require(:fee_payment).permit!.except(
|
23
|
-
:
|
24
|
-
:submitted_at
|
27
|
+
:status, :status_steps, :wizard_steps, :submitted_at
|
25
28
|
)
|
26
29
|
end
|
27
30
|
|
@@ -14,7 +14,15 @@ module Admin
|
|
14
14
|
|
15
15
|
col :number
|
16
16
|
|
17
|
-
col :categories, label: 'Category'
|
17
|
+
col :categories, label: 'Category' do |history|
|
18
|
+
history.categories.map.with_index do |category, index|
|
19
|
+
category_id = history.category_ids[index]
|
20
|
+
link = link_to(category, effective_memberships.edit_admin_category_path(category_id))
|
21
|
+
|
22
|
+
content_tag(:div, link, class: 'col-resource_item')
|
23
|
+
end.join.html_safe
|
24
|
+
end
|
25
|
+
|
18
26
|
col :category_ids, visible: false
|
19
27
|
|
20
28
|
col :bad_standing
|
@@ -28,7 +28,7 @@ class EffectiveApplicantsDatatable < Effective::Datatable
|
|
28
28
|
end
|
29
29
|
|
30
30
|
collection do
|
31
|
-
EffectiveMemberships.Applicant.deep.where(owner: current_user.
|
31
|
+
EffectiveMemberships.Applicant.deep.where(owner: current_user.effective_memberships_owners)
|
32
32
|
end
|
33
33
|
|
34
34
|
end
|
@@ -6,24 +6,19 @@ class EffectiveFeePaymentsDatatable < Effective::Datatable
|
|
6
6
|
col :token, visible: false
|
7
7
|
col :created_at, visible: false
|
8
8
|
|
9
|
-
col :
|
10
|
-
col :
|
9
|
+
col :owner
|
10
|
+
col :status, visible: false
|
11
11
|
col :submitted_at, label: 'Submitted', as: :date
|
12
|
+
col :period, visible: false
|
12
13
|
|
13
|
-
col :orders
|
14
|
+
col :orders, action: :show
|
14
15
|
|
15
|
-
actions_col(
|
16
|
-
if fee_payment.draft?
|
17
|
-
dropdown_link_to('Continue', effective_memberships.fee_payment_build_path(fee_payment, fee_payment.next_step), 'data-turbolinks' => false)
|
18
|
-
dropdown_link_to('Delete', effective_memberships.fee_payment_path(fee_payment), 'data-confirm': "Really delete #{fee_payment}?", 'data-method': :delete)
|
19
|
-
else
|
20
|
-
dropdown_link_to('Show', effective_memberships.fee_payment_path(fee_payment))
|
21
|
-
end
|
22
|
-
end
|
16
|
+
actions_col(new: false)
|
23
17
|
end
|
24
18
|
|
25
19
|
collection do
|
26
|
-
EffectiveMemberships.FeePayment.deep.
|
20
|
+
EffectiveMemberships.FeePayment.deep.done
|
21
|
+
.where(owner: current_user.effective_memberships_owners)
|
27
22
|
end
|
28
23
|
|
29
24
|
end
|
@@ -453,12 +453,17 @@ module EffectiveMembershipsApplicant
|
|
453
453
|
|
454
454
|
def find_or_build_submit_order
|
455
455
|
order = submit_order || orders.build(user: owner)
|
456
|
+
fees = submit_fees()
|
456
457
|
|
457
458
|
# Adds fees, but does not overwrite any existing price.
|
458
|
-
|
459
|
+
fees.each do |fee|
|
459
460
|
order.add(fee) unless order.purchasables.include?(fee)
|
460
461
|
end
|
461
462
|
|
463
|
+
order.purchasables.each do |purchasable|
|
464
|
+
order.remove(purchasable) unless fees.include?(purchasable)
|
465
|
+
end
|
466
|
+
|
462
467
|
# From Billing Step
|
463
468
|
order.billing_address = owner.billing_address if owner.billing_address.present?
|
464
469
|
|
@@ -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
|
@@ -170,17 +205,22 @@ module EffectiveMembershipsFeePayment
|
|
170
205
|
|
171
206
|
# We take over the owner's outstanding fees.
|
172
207
|
def find_or_build_submit_fees
|
173
|
-
Array(outstanding_fees).each { |fee| fees << fee }
|
208
|
+
Array(outstanding_fees).each { |fee| fees << fee unless fees.include?(fee) }
|
174
209
|
submit_fees
|
175
210
|
end
|
176
211
|
|
177
212
|
def find_or_build_submit_order
|
178
213
|
order = submit_order || orders.build(user: owner)
|
214
|
+
fees = submit_fees()
|
179
215
|
|
180
|
-
|
216
|
+
fees.each do |fee|
|
181
217
|
order.add(fee) unless order.purchasables.include?(fee)
|
182
218
|
end
|
183
219
|
|
220
|
+
order.purchasables.each do |purchasable|
|
221
|
+
order.remove(purchasable) unless fees.include?(purchasable)
|
222
|
+
end
|
223
|
+
|
184
224
|
order.billing_address = owner.billing_address if owner.billing_address.present?
|
185
225
|
|
186
226
|
order
|
@@ -209,7 +249,6 @@ module EffectiveMembershipsFeePayment
|
|
209
249
|
save!
|
210
250
|
end
|
211
251
|
|
212
|
-
|
213
252
|
# Called automatically via after_purchase hook above
|
214
253
|
def submit_purchased!
|
215
254
|
return false if was_submitted?
|
@@ -46,7 +46,23 @@ module EffectiveMembershipsOwner
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def effective_memberships_owner
|
49
|
-
|
49
|
+
raise('expected singular usage but there are more than one owner') if effective_memberships_owners.length > 1
|
50
|
+
effective_memberships_owners.first
|
51
|
+
end
|
52
|
+
|
53
|
+
def effective_memberships_owners
|
54
|
+
owners = users if respond_to?(:users) && users.any? { |user| user.class.respond_to?(:effective_memberships_owner?) }
|
55
|
+
owners = organizations if respond_to?(:organizations) && organizations.any? { |organization| organization.class.respond_to?(:effective_memberships_owner?) }
|
56
|
+
|
57
|
+
owners || [self]
|
58
|
+
end
|
59
|
+
|
60
|
+
def outstanding_fee_payment_owners
|
61
|
+
effective_memberships_owners.select { |owner| !owner.membership_fees_paid? }
|
62
|
+
end
|
63
|
+
|
64
|
+
def current_fee_payment_owner
|
65
|
+
outstanding_fee_payment_owners.first || self
|
50
66
|
end
|
51
67
|
|
52
68
|
def owner_label
|
@@ -87,6 +103,10 @@ module EffectiveMembershipsOwner
|
|
87
103
|
membership_histories.find { |history| history.removed? }.start_on
|
88
104
|
end
|
89
105
|
|
106
|
+
def registrar_action_categories(action)
|
107
|
+
EffectiveMemberships.Category.sorted.all
|
108
|
+
end
|
109
|
+
|
90
110
|
# Instance Methods
|
91
111
|
def additional_fee_attributes(fee)
|
92
112
|
raise('expected an Effective::Fee') unless fee.kind_of?(Effective::Fee)
|
@@ -161,6 +181,8 @@ module EffectiveMembershipsOwner
|
|
161
181
|
late_on: nil,
|
162
182
|
bad_standing_on: nil
|
163
183
|
)
|
184
|
+
|
185
|
+
fee
|
164
186
|
end
|
165
187
|
|
166
188
|
def build_renewal_fee(category:, period:, late_on:, bad_standing_on:)
|
@@ -17,6 +17,9 @@ module Effective
|
|
17
17
|
attr_accessor :membership_number
|
18
18
|
attr_accessor :skip_fees
|
19
19
|
|
20
|
+
# Assign
|
21
|
+
attr_accessor :category_ids
|
22
|
+
|
20
23
|
# All Action Validations
|
21
24
|
validates :current_action, presence: true
|
22
25
|
validates :current_user, presence: true
|
@@ -29,10 +32,27 @@ module Effective
|
|
29
32
|
validates :category_id, presence: true,
|
30
33
|
if: -> { current_action == :reclassify || current_action == :register }
|
31
34
|
|
35
|
+
validates :category_ids, presence: true, if: -> { current_action == :assign }
|
36
|
+
|
32
37
|
def to_s
|
33
38
|
'action'
|
34
39
|
end
|
35
40
|
|
41
|
+
def register!
|
42
|
+
update!(current_action: :register)
|
43
|
+
EffectiveMemberships.Registrar.register!(owner, to: category, number: membership_number.presence, skip_fees: skip_fees?)
|
44
|
+
end
|
45
|
+
|
46
|
+
def reclassify!
|
47
|
+
update!(current_action: :reclassify)
|
48
|
+
EffectiveMemberships.Registrar.reclassify!(owner, to: category, skip_fees: skip_fees?)
|
49
|
+
end
|
50
|
+
|
51
|
+
def assign!
|
52
|
+
update!(current_action: :assign)
|
53
|
+
EffectiveMemberships.Registrar.assign!(owner, categories: categories, number: membership_number.presence)
|
54
|
+
end
|
55
|
+
|
36
56
|
def good_standing!
|
37
57
|
update!(current_action: :good_standing)
|
38
58
|
EffectiveMemberships.Registrar.good_standing!(owner)
|
@@ -43,11 +63,6 @@ module Effective
|
|
43
63
|
EffectiveMemberships.Registrar.bad_standing!(owner, reason: bad_standing_reason)
|
44
64
|
end
|
45
65
|
|
46
|
-
def reclassify!
|
47
|
-
update!(current_action: :reclassify)
|
48
|
-
EffectiveMemberships.Registrar.reclassify!(owner, to: category, skip_fees: skip_fees?)
|
49
|
-
end
|
50
|
-
|
51
66
|
def fees_paid!
|
52
67
|
update!(current_action: :fees_paid)
|
53
68
|
EffectiveMemberships.Registrar.fees_paid!(owner)
|
@@ -58,11 +73,6 @@ module Effective
|
|
58
73
|
EffectiveMemberships.Registrar.remove!(owner)
|
59
74
|
end
|
60
75
|
|
61
|
-
def register!
|
62
|
-
update!(current_action: :register)
|
63
|
-
EffectiveMemberships.Registrar.register!(owner, to: category, number: membership_number.presence, skip_fees: skip_fees?)
|
64
|
-
end
|
65
|
-
|
66
76
|
def update!(atts)
|
67
77
|
assign_attributes(atts); save!
|
68
78
|
end
|
@@ -89,6 +99,10 @@ module Effective
|
|
89
99
|
EffectiveMemberships.Category.find(@category_id) if @category_id
|
90
100
|
end
|
91
101
|
|
102
|
+
def categories
|
103
|
+
EffectiveMemberships.Category.where(id: @category_ids) if @category_ids
|
104
|
+
end
|
105
|
+
|
92
106
|
def skip_fees?
|
93
107
|
EffectiveResources.truthy?(@skip_fees)
|
94
108
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
.card
|
2
|
+
.card-body
|
3
|
+
%h5.card-title Assign
|
4
|
+
|
5
|
+
= effective_form_with(model: [:admin, registrar_action], url: effective_memberships.admin_registrar_actions_path) do |f|
|
6
|
+
= f.hidden_field :owner_id
|
7
|
+
= f.hidden_field :owner_type
|
8
|
+
|
9
|
+
- membership = f.object.owner.membership
|
10
|
+
|
11
|
+
%p.text-muted
|
12
|
+
Assign to one or more categories.
|
13
|
+
|
14
|
+
= f.static_field :current_action, label: 'Current Categories' do
|
15
|
+
- Array(membership&.categories).each do |category|
|
16
|
+
%div= link_to(category, effective_memberships.edit_admin_category_path(category))
|
17
|
+
|
18
|
+
- if membership.blank?
|
19
|
+
None
|
20
|
+
|
21
|
+
= f.check_box :current_action, label: 'Yes, assign this member to categories'
|
22
|
+
|
23
|
+
= f.show_if :current_action, true do
|
24
|
+
- categories = f.object.owner.registrar_action_categories(:assign)
|
25
|
+
= f.select :category_ids, categories, label: 'Assign to', required: true, multiple: true
|
26
|
+
|
27
|
+
- if membership.present?
|
28
|
+
%p The member will keep their existing membership number: #{membership.number}.
|
29
|
+
- else
|
30
|
+
= f.text_field :membership_number, hint: "leave blank to assign the next number"
|
31
|
+
|
32
|
+
%p No fees will be created
|
33
|
+
|
34
|
+
= f.submit 'Assign', border: false, center: true, 'data-confirm': "Really assign #{f.object.owner}?"
|
@@ -9,13 +9,14 @@
|
|
9
9
|
- membership = f.object.owner.membership
|
10
10
|
|
11
11
|
- period = EffectiveMemberships.Registrar.current_period
|
12
|
-
- date = EffectiveMemberships.Registrar.bad_standing_date(period: period)
|
12
|
+
- date = (EffectiveMemberships.Registrar.bad_standing_date(period: period) rescue false)
|
13
13
|
|
14
14
|
%p.text-muted
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
- if date.present?
|
16
|
+
Members with outstanding renewal fees are automatically marked
|
17
|
+
not in good standing on #{date.strftime('%B %d')}.
|
18
|
+
The status is cleared when they pay their fees.
|
19
|
+
You can also mark a member as always in bad standing.
|
19
20
|
|
20
21
|
= f.static_field :current_action, label: 'Current Status' do
|
21
22
|
|
@@ -7,9 +7,7 @@
|
|
7
7
|
= f.hidden_field :owner_type
|
8
8
|
|
9
9
|
- membership = f.object.owner.membership
|
10
|
-
|
11
10
|
- period = EffectiveMemberships.Registrar.current_period
|
12
|
-
- date = EffectiveMemberships.Registrar.bad_standing_date(period: period)
|
13
11
|
|
14
12
|
%p.text-muted
|
15
13
|
Change a member's existing category and optionally create fees.
|
@@ -22,7 +20,8 @@
|
|
22
20
|
= f.show_if :current_action, true do
|
23
21
|
%p The member will keep their existing membership number: #{membership.number}.
|
24
22
|
|
25
|
-
- categories =
|
23
|
+
- categories = f.object.owner.registrar_action_categories(:reclassify) - membership.categories
|
24
|
+
|
26
25
|
= f.select :category_id, categories, label: 'Reclassify to', required: true
|
27
26
|
|
28
27
|
= f.check_box :skip_fees, label: 'Yes, skip creating fees and just set the category'
|
@@ -17,7 +17,7 @@
|
|
17
17
|
= f.check_box :current_action, label: 'Yes, register to a membership'
|
18
18
|
|
19
19
|
= f.show_if :current_action, true do
|
20
|
-
- categories =
|
20
|
+
- categories = f.object.owner.registrar_action_categories(:register)
|
21
21
|
= f.select :category_id, categories, label: 'Register to'
|
22
22
|
|
23
23
|
= f.text_field :membership_number, hint: "leave blank to assign the next number"
|
@@ -1,6 +1,4 @@
|
|
1
|
-
-
|
2
|
-
- datatable = EffectiveResources.best('EffectiveFeePaymentsDatatable').new(self)
|
3
|
-
- in_progress = current_user.effective_memberships_owner.fee_payments.in_progress
|
1
|
+
- datatable = EffectiveResources.best('EffectiveFeePaymentsDatatable').new(self, namespace: :effective)
|
4
2
|
|
5
3
|
%h2 Fee Payments
|
6
4
|
|
@@ -2,19 +2,33 @@
|
|
2
2
|
|
3
3
|
.card
|
4
4
|
.card-body
|
5
|
-
|
5
|
+
- current_owner = current_user.current_fee_payment_owner
|
6
|
+
|
7
|
+
%p Welcome #{current_owner}!
|
6
8
|
|
7
9
|
= render 'effective/fee_payments/content', resource: resource
|
8
10
|
|
9
|
-
- if
|
11
|
+
- if current_owner.membership_fees_paid?
|
10
12
|
%p You have no fees due at this time.
|
11
13
|
= link_to 'Home', root_path, class: 'btn btn-primary'
|
12
14
|
|
13
|
-
-
|
14
|
-
|
15
|
+
- else
|
16
|
+
- if resource.outstanding_fees.present?
|
17
|
+
%p You have the following fees due at this time:
|
18
|
+
= render_purchasables(resource.outstanding_fees)
|
19
|
+
- else
|
20
|
+
%p You have fees due. Please continue.
|
15
21
|
|
16
|
-
|
22
|
+
- resource.user = current_user
|
23
|
+
- resource.owner = current_owner
|
17
24
|
|
18
25
|
= effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
|
19
26
|
= f.hidden_field :id
|
27
|
+
|
28
|
+
= f.hidden_field :owner_type
|
29
|
+
= f.hidden_field :owner_id
|
30
|
+
|
31
|
+
= f.hidden_field :user_type
|
32
|
+
= f.hidden_field :user_id
|
33
|
+
|
20
34
|
= f.save 'Save and Continue'
|
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.8
|
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-
|
11
|
+
date: 2021-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -282,6 +282,7 @@ files:
|
|
282
282
|
- app/views/admin/fees/_form.html.haml
|
283
283
|
- app/views/admin/memberships/_status.html.haml
|
284
284
|
- app/views/admin/registrar_actions/_form.html.haml
|
285
|
+
- app/views/admin/registrar_actions/_form_assign.html.haml
|
285
286
|
- app/views/admin/registrar_actions/_form_bad_standing.html.haml
|
286
287
|
- app/views/admin/registrar_actions/_form_fees_paid.html.haml
|
287
288
|
- app/views/admin/registrar_actions/_form_reclassify.html.haml
|