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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '017428f74b7a9dd16e4d16a8a256ca2cbf510252266908134034cc56eb651c42'
4
- data.tar.gz: be01e2eb2f76608ae46b1cfbed55225c3e32f035345e32912db4fcba901da1c4
3
+ metadata.gz: 9ea458f58ff630eeb58b9dbcb54a1f0be52e8bb0ce6e6b5fc7077acad2603a9a
4
+ data.tar.gz: 839ca3fd8147a2cd0008f741a1ab273698c31ba9a51a13922852bc81fe80ee3e
5
5
  SHA512:
6
- metadata.gz: 84ccc24c2f09182b1288da31693dde5500478aa4eb9ba3fe58320a12fd85e113df9eaa7b7e954cf39fad473377ea72d855d2e959f89fdc7c5746f4314bdf9258
7
- data.tar.gz: 15e78208b04cc08f90f09056b7fb5a5df92b3b1b55255734751501ca9fe3a2572ddf5448bf5f09139ee0c6b08f133451ed19a2232d8d3cbe5954ddcfddc20102
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?(:effective_applicant) ? :effective_fee_payment : :fee_payment)
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,9 @@
1
+ module Admin
2
+ class MembershipsController < ApplicationController
3
+ before_action(:authenticate_user!) if defined?(Devise)
4
+ before_action { EffectiveResources.authorize!(self, :admin, :effective_memberships) }
5
+
6
+ include Effective::CrudController
7
+
8
+ end
9
+ end
@@ -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
 
@@ -26,7 +26,7 @@ module Effective
26
26
  timestamps
27
27
  end
28
28
 
29
- scope :deep, -> { includes(owner: [:fees, :membership]) }
29
+ scope :deep, -> { includes(:membership_categories) }
30
30
  scope :sorted, -> { order(:id) }
31
31
 
32
32
  scope :with_paid_fees_through, -> (period = nil) {
@@ -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 %d')}, to renew their dues.
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 %d')}, with outstanding renewal fees
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 %d')}, will automatically be marked in bad standing.
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 %d')}.
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
 
@@ -1,3 +1,3 @@
1
1
  .row
2
- .col-lg-3= render_wizard_sidebar(resource)
2
+ .col-lg-3.mb-3= render_wizard_sidebar(resource)
3
3
  .col-lg-9= yield
@@ -1,3 +1,3 @@
1
1
  .row
2
- .col-lg-3= render_wizard_sidebar(resource)
2
+ .col-lg-3.mb-3= render_wizard_sidebar(resource)
3
3
  .col-lg-9= yield
@@ -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-success.mb-4
8
- Fee successfully paid on
9
- = resource.submit_order.purchased_at.strftime('%F')
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 btn-block'
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 %d')} of each year.
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 %d')}.
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
@@ -27,6 +27,7 @@ EffectiveMemberships::Engine.routes.draw do
27
27
  resources :applicant_course_names, except: [:show]
28
28
 
29
29
  resources :fee_payments, only: [:index, :show]
30
+ resources :memberships, only: [:index]
30
31
  resources :registrar_actions, only: [:create]
31
32
  end
32
33
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.12'
3
3
  end
@@ -1,5 +1,4 @@
1
1
  require 'effective_resources'
2
- require 'effective_datatables'
3
2
  require 'effective_memberships/engine'
4
3
  require 'effective_memberships/version'
5
4
 
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.8
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: 2021-12-23 00:00:00.000000000 Z
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