effective_memberships 0.1.3 → 0.1.4

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: 541315ace60a5bc7727f069d36afa0a6c0c520b2be2744f7f9485d1e4a327b02
4
- data.tar.gz: 8f3fadb661ec2591b61df8ccb66e4df0291c16a07d3ab347a8fea44d329a87be
3
+ metadata.gz: be186a54404ee8564606cdbeb991f89eac977c24da038bcdd7e8d066a07135d5
4
+ data.tar.gz: b45bbf9c7f8c581c7497455fc9a6d50254f08526c9bb1372bb2c6bea46c99fb3
5
5
  SHA512:
6
- metadata.gz: a0d8040eca6bbe1e88eccd5a457ac735d61d151b891b6a94b21c3e4d3a2abfc29bc82af41fdd64e23435bbe5d4a12bbbf169d6d223855cd5c6eefd55e295ba18
7
- data.tar.gz: a429ccfe8d26cbaa94dbd0170fd4a442e04f140c138caf1edb5300b33f9367a96422eb68c5fcf17e66d0ca6ded772355e6acc136fc91c8ef674a01a99a4d5455
6
+ metadata.gz: 1b5abcc5857d2c2b445e7d89d98452f60b9654458242bfdb0f3a2a63e27997e41c586ab0ea526a260f345e1145a920b16e2e0527d154546afc129c02b3e8d136
7
+ data.tar.gz: 9efdc2ec2ef92d21aac19b70eaca29d1a3d0221f6d0fc593ed3982885984da2c409f519b98d9d2b60ae01ee00fc43e7c01d074efadb0b5234698b8bab7fde59c
@@ -0,0 +1,19 @@
1
+ module Admin
2
+ class FeePaymentsController < 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
+ resource_scope -> { EffectiveMemberships.FeePayment.deep.all }
9
+ datatable -> { Admin::EffectiveFeePaymentsDatatable.new }
10
+
11
+ private
12
+
13
+ def permitted_params
14
+ model = (params.key?(:effective_applicant) ? :effective_fee_payment : :fee_payment)
15
+ params.require(model).permit!
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,51 @@
1
+ module Admin
2
+ class EffectiveFeePaymentsDatatable < Effective::Datatable
3
+ filters do
4
+ scope :all
5
+ scope :in_progress, label: 'Open / Active'
6
+ scope :done, label: 'Done'
7
+ end
8
+
9
+ datatable do
10
+ order :id
11
+ col :id, visible: false
12
+
13
+ col :status
14
+
15
+ col :created_at, label: 'Created', as: :date, visible: false
16
+ col :updated_at, label: 'Updated', visible: false
17
+
18
+ col :period, visible: false
19
+ col :submitted_at, label: 'Submitted', visible: false, as: :date
20
+
21
+ col :owner
22
+
23
+ col :category, search: { collection: EffectiveMemberships.Category.all, polymorphic: false }
24
+
25
+ col :orders, visible: false
26
+
27
+ actions_col
28
+ end
29
+
30
+ collection do
31
+ fee_payments = EffectiveMemberships.FeePayment.deep.all
32
+
33
+ raise('expected an owner_id, not user_id') if attributes[:user_id].present?
34
+
35
+ if fee_payments == :in_progress && attributes[:owner_id].blank?
36
+ fee_payments = fee_payments.where.not(status: :draft)
37
+ end
38
+
39
+ if attributes[:owner_id].present?
40
+ fee_payments = fee_payments.where(owner_id: attributes[:owner_id])
41
+ end
42
+
43
+ if attributes[:except_id].present?
44
+ fee_payments = fee_payments.where.not(id: attributes[:except_id])
45
+ end
46
+
47
+ fee_payments
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,29 @@
1
+ # Dashboard Fee Payments
2
+ class EffectiveFeePaymentsDatatable < Effective::Datatable
3
+ datatable do
4
+ order :created_at
5
+
6
+ col :token, visible: false
7
+ col :created_at, visible: false
8
+
9
+ col :status
10
+ col :period, visible: false
11
+ col :submitted_at, label: 'Submitted', as: :date
12
+
13
+ col :orders
14
+
15
+ actions_col(show: false) do |fee_payment|
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
23
+ end
24
+
25
+ collection do
26
+ EffectiveMemberships.FeePayment.deep.where(owner: current_user.effective_memberships_owner)
27
+ end
28
+
29
+ end
@@ -50,10 +50,16 @@ module EffectiveMembershipsFeePayment
50
50
  attr_accessor :declare_code_of_ethics
51
51
  attr_accessor :declare_truth
52
52
 
53
+ # Throwaway
54
+ attr_accessor :upgrade
55
+
53
56
  # Application Namespace
54
57
  belongs_to :owner, polymorphic: true
55
58
  accepts_nested_attributes_for :owner
56
59
 
60
+ belongs_to :user, polymorphic: true, optional: true
61
+ accepts_nested_attributes_for :user
62
+
57
63
  # Like maybe optionally it makes sense.
58
64
  belongs_to :category, polymorphic: true, optional: true
59
65
 
@@ -22,17 +22,15 @@ module EffectiveMembershipsOwner
22
22
 
23
23
  included do
24
24
  # App scoped
25
- has_many :applicants, as: :owner
26
- has_many :fee_payments, as: :owner
25
+ has_many :applicants, -> { order(:id) }, inverse_of: :owner, as: :owner
26
+ has_many :fee_payments, -> { order(:id) }, inverse_of: :owner, as: :owner
27
27
 
28
28
  # Effective scoped
29
29
  has_many :fees, -> { order(:id) }, inverse_of: :owner, as: :owner, class_name: 'Effective::Fee', dependent: :nullify
30
30
  accepts_nested_attributes_for :fees, reject_if: :all_blank, allow_destroy: true
31
31
 
32
32
  has_many :orders, -> { order(:id) }, inverse_of: :user, as: :user, class_name: 'Effective::Order', dependent: :nullify
33
- # Do not accepts nested attributes
34
-
35
- #accepts_nested_attributes_for :orders, reject_if: :all_blank, allow_destroy: true
33
+ accepts_nested_attributes_for :orders, reject_if: :all_blank, allow_destroy: true
36
34
 
37
35
  has_one :membership, inverse_of: :owner, as: :owner, class_name: 'Effective::Membership'
38
36
  accepts_nested_attributes_for :membership
@@ -0,0 +1 @@
1
+ = render 'effective/fee_payments/fee_payment', fee_payment: fee_payment
@@ -0,0 +1,10 @@
1
+ - authorized = EffectiveResources.authorized?(self, :new, EffectiveMemberships.FeePayment)
2
+ - datatable = EffectiveResources.best('EffectiveFeePaymentsDatatable').new(self)
3
+ - in_progress = current_user.effective_memberships_owner.fee_payments.in_progress
4
+
5
+ %h2 Fee Payments
6
+
7
+ - if datatable.present?
8
+ = render_simple_datatable(datatable)
9
+ - else
10
+ %p You have no past fee payments. When you do, we'll show them here.
@@ -3,4 +3,4 @@
3
3
  - steps = fee_payment.required_steps - blacklist
4
4
 
5
5
  - steps.select { |step| fee_payment.has_completed_step?(step) }.each do |partial|
6
- = render "effective/fee_payments/#{partial}", fee_payment: fee_payment, step: partial
6
+ = render "effective/fee_payments/#{partial}", fee_payment: fee_payment, resource: fee_payment, step: partial
data/config/routes.rb CHANGED
@@ -26,6 +26,7 @@ EffectiveMemberships::Engine.routes.draw do
26
26
  resources :applicant_course_areas, except: [:show]
27
27
  resources :applicant_course_names, except: [:show]
28
28
 
29
+ resources :fee_payments, only: [:index, :show]
29
30
  resources :registrar_actions, only: [:create]
30
31
  end
31
32
 
@@ -353,6 +353,9 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
353
353
  t.integer :owner_id
354
354
  t.string :owner_type
355
355
 
356
+ t.integer :user_id
357
+ t.string :user_type
358
+
356
359
  t.integer :category_id
357
360
  t.string :category_type
358
361
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
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.1.3
4
+ version: 0.1.4
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-17 00:00:00.000000000 Z
11
+ date: 2021-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -214,6 +214,7 @@ files:
214
214
  - app/controllers/admin/applicant_course_names_controller.rb
215
215
  - app/controllers/admin/applicants_controller.rb
216
216
  - app/controllers/admin/categories_controller.rb
217
+ - app/controllers/admin/fee_payments_controller.rb
217
218
  - app/controllers/admin/fees_controller.rb
218
219
  - app/controllers/admin/registrar_actions_controller.rb
219
220
  - app/controllers/effective/applicant_references_controller.rb
@@ -223,6 +224,7 @@ files:
223
224
  - app/datatables/admin/effective_applicant_course_names_datatable.rb
224
225
  - app/datatables/admin/effective_applicants_datatable.rb
225
226
  - app/datatables/admin/effective_categories_datatable.rb
227
+ - app/datatables/admin/effective_fee_payments_datatable.rb
226
228
  - app/datatables/admin/effective_fees_datatable.rb
227
229
  - app/datatables/admin/effective_membership_histories_datatable.rb
228
230
  - app/datatables/effective_applicant_courses_datatable.rb
@@ -230,6 +232,7 @@ files:
230
232
  - app/datatables/effective_applicant_experiences_datatable.rb
231
233
  - app/datatables/effective_applicant_references_datatable.rb
232
234
  - app/datatables/effective_applicants_datatable.rb
235
+ - app/datatables/effective_fee_payments_datatable.rb
233
236
  - app/helpers/effective_memberships_helper.rb
234
237
  - app/mailers/effective/memberships_mailer.rb
235
238
  - app/models/concerns/effective_memberships_applicant.rb
@@ -274,6 +277,7 @@ files:
274
277
  - app/views/admin/categories/_form_fee_payment_content.html.haml
275
278
  - app/views/admin/categories/_form_fee_payment_steps.html.haml
276
279
  - app/views/admin/categories/_form_renewals.html.haml
280
+ - app/views/admin/fee_payments/_fee_payment.html.haml
277
281
  - app/views/admin/fees/_fee.html.haml
278
282
  - app/views/admin/fees/_form.html.haml
279
283
  - app/views/admin/memberships/_status.html.haml
@@ -318,6 +322,7 @@ files:
318
322
  - app/views/effective/applicants/submitted.html.haml
319
323
  - app/views/effective/applicants/summary.html.haml
320
324
  - app/views/effective/fee_payments/_content.html.haml
325
+ - app/views/effective/fee_payments/_dashboard.html.haml
321
326
  - app/views/effective/fee_payments/_declarations.html.haml
322
327
  - app/views/effective/fee_payments/_demographics.html.haml
323
328
  - app/views/effective/fee_payments/_demographics_fields.html.haml