effective_memberships 0.3.14 → 0.4.2

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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/admin/membership_histories_controller.rb +24 -0
  3. data/app/controllers/admin/memberships_controller.rb +15 -0
  4. data/app/controllers/admin/organizations_controller.rb +19 -0
  5. data/app/controllers/admin/representatives_controller.rb +19 -0
  6. data/app/controllers/effective/applicants_controller.rb +2 -3
  7. data/app/controllers/effective/fee_payments_controller.rb +1 -2
  8. data/app/controllers/effective/organizations_controller.rb +16 -0
  9. data/app/controllers/effective/representatives_controller.rb +19 -0
  10. data/app/datatables/admin/effective_applicant_references_datatable.rb +22 -20
  11. data/app/datatables/admin/effective_applicants_datatable.rb +10 -5
  12. data/app/datatables/admin/effective_categories_datatable.rb +7 -0
  13. data/app/datatables/admin/effective_fee_payments_datatable.rb +11 -6
  14. data/app/datatables/admin/effective_fees_datatable.rb +2 -2
  15. data/app/datatables/admin/effective_membership_histories_datatable.rb +7 -3
  16. data/app/datatables/admin/effective_memberships_datatable.rb +2 -2
  17. data/app/datatables/admin/effective_organizations_datatable.rb +31 -0
  18. data/app/datatables/admin/effective_representatives_datatable.rb +28 -0
  19. data/app/datatables/effective_applicants_datatable.rb +1 -1
  20. data/app/datatables/effective_fee_payments_datatable.rb +5 -4
  21. data/app/datatables/effective_organizations_datatable.rb +18 -0
  22. data/app/datatables/effective_representatives_datatable.rb +40 -0
  23. data/app/helpers/effective_memberships_helper.rb +25 -0
  24. data/app/mailers/effective/memberships_mailer.rb +7 -7
  25. data/app/models/concerns/effective_memberships_applicant.rb +63 -30
  26. data/app/models/concerns/effective_memberships_category.rb +32 -5
  27. data/app/models/concerns/effective_memberships_fee_payment.rb +44 -45
  28. data/app/models/concerns/effective_memberships_organization.rb +94 -0
  29. data/app/models/concerns/effective_memberships_owner.rb +44 -55
  30. data/app/models/concerns/effective_memberships_registrar.rb +5 -3
  31. data/app/models/concerns/effective_memberships_user.rb +70 -0
  32. data/app/models/effective/fee.rb +1 -1
  33. data/app/models/effective/membership.rb +24 -2
  34. data/app/models/effective/membership_history.rb +15 -0
  35. data/app/models/effective/organization.rb +8 -0
  36. data/app/models/effective/registrar_action.rb +16 -1
  37. data/app/models/effective/representative.rb +56 -0
  38. data/app/views/admin/categories/_form_applicant_eligibility.html.haml +1 -1
  39. data/app/views/admin/categories/_form_applicant_steps.html.haml +29 -24
  40. data/app/views/admin/categories/_form_category.html.haml +3 -0
  41. data/app/views/admin/categories/_form_renewals.html.haml +0 -2
  42. data/app/views/admin/membership_histories/_form.html.haml +19 -0
  43. data/app/views/admin/membership_histories/_validation.html.haml +7 -0
  44. data/app/views/admin/memberships/_form.html.haml +17 -0
  45. data/app/views/admin/memberships/_form_membership.html.haml +22 -0
  46. data/app/views/admin/organizations/_fields.html.haml +6 -0
  47. data/app/views/admin/organizations/_form.html.haml +31 -0
  48. data/app/views/admin/organizations/_form_organization.html.haml +23 -0
  49. data/app/views/admin/registrar_actions/_form_fees_paid.html.haml +16 -0
  50. data/app/views/admin/representatives/_form.html.haml +38 -0
  51. data/app/views/{effective/applicants/_demographics_fields.html.haml → admin/representatives/_user_fields.html.haml} +2 -6
  52. data/app/views/effective/applicants/_dashboard.html.haml +24 -5
  53. data/app/views/effective/applicants/_demographics.html.haml +1 -1
  54. data/app/views/effective/applicants/_missing_info.html.haml +7 -3
  55. data/app/views/effective/applicants/_organization.html.haml +9 -0
  56. data/app/views/effective/applicants/_select_organization.html.haml +21 -0
  57. data/app/views/effective/applicants/_summary.html.haml +17 -9
  58. data/app/views/effective/applicants/billing.html.haml +2 -2
  59. data/app/views/effective/applicants/demographics.html.haml +7 -6
  60. data/app/views/effective/applicants/education.html.haml +2 -2
  61. data/app/views/effective/applicants/organization.html.haml +19 -0
  62. data/app/views/effective/applicants/references.html.haml +1 -1
  63. data/app/views/effective/applicants/select.html.haml +11 -1
  64. data/app/views/effective/applicants/stamp.html.haml +2 -2
  65. data/app/views/effective/applicants/start.html.haml +17 -11
  66. data/app/views/effective/applicants/submitted.html.haml +5 -5
  67. data/app/views/effective/applicants/summary.html.haml +1 -1
  68. data/app/views/effective/fee_payments/_demographics.html.haml +1 -1
  69. data/app/views/effective/fee_payments/_organization.html.haml +9 -0
  70. data/app/views/effective/fee_payments/_summary.html.haml +39 -1
  71. data/app/views/effective/fee_payments/billing.html.haml +2 -2
  72. data/app/views/effective/fee_payments/demographics.html.haml +2 -2
  73. data/app/views/effective/fee_payments/organization.html.haml +18 -0
  74. data/app/views/effective/fee_payments/start.html.haml +20 -17
  75. data/app/views/effective/fee_payments/submitted.html.haml +10 -3
  76. data/app/views/effective/fees/_dashboard.html.haml +20 -8
  77. data/app/views/effective/memberships/_dashboard.html.haml +16 -5
  78. data/app/views/effective/organizations/_dashboard.html.haml +10 -0
  79. data/app/views/effective/organizations/_form.html.haml +8 -0
  80. data/app/views/effective/organizations/_form_organization.html.haml +11 -0
  81. data/app/views/effective/representatives/_form.html.haml +33 -0
  82. data/app/views/effective/{fee_payments/_demographics_fields.html.haml → representatives/_user_fields.html.haml} +2 -6
  83. data/app/views/organizations/_demographics.html.haml +45 -0
  84. data/app/views/organizations/_fields_demographics.html.haml +29 -0
  85. data/app/views/users/_demographics.html.haml +50 -0
  86. data/app/views/users/_fields_demographics.html.haml +29 -0
  87. data/config/effective_memberships.rb +3 -0
  88. data/config/routes.rb +11 -1
  89. data/db/migrate/01_create_effective_memberships.rb.erb +57 -10
  90. data/db/seeds.rb +18 -0
  91. data/lib/effective_memberships/engine.rb +3 -0
  92. data/lib/effective_memberships/version.rb +1 -1
  93. data/lib/effective_memberships.rb +6 -2
  94. metadata +38 -20
  95. data/app/views/effective/applicants/_demographics_owner.html.haml +0 -20
  96. data/app/views/effective/fee_payments/_demographics_owner.html.haml +0 -20
@@ -0,0 +1,29 @@
1
+ -# This is a placeholder file that should be overriden by the main application
2
+
3
+ - if f.object.respond_to?(:title)
4
+ = f.text_field :title
5
+
6
+ - if f.object.respond_to?(:name)
7
+ = f.text_field :name
8
+
9
+ - if f.object.respond_to?(:email)
10
+ = f.email_field :email
11
+
12
+ - if f.object.respond_to?(:website)
13
+ = f.url_field :website
14
+
15
+ - if f.object.respond_to?(:phone)
16
+ = f.tel_field :phone
17
+
18
+ - if f.object.respond_to?(:company_phone)
19
+ = f.tel_field :company_phone
20
+
21
+ - if f.object.respond_to?(:cell_phone)
22
+ = f.tel_field :cell_phone
23
+
24
+ - if f.object.respond_to?(:fax)
25
+ = f.tel_field :fax
26
+
27
+ - if f.object.respond_to?(:billing_address)
28
+ %h2 Billing Address
29
+ = effective_address_fields(f, :billing_address)
@@ -0,0 +1,50 @@
1
+ -# This is a placeholder file that should be overriden by the main application
2
+
3
+ %table.table.table-sm
4
+ %tbody
5
+ %tr
6
+ %th Name
7
+ %td= user.to_s
8
+
9
+ %tr
10
+ %th Email
11
+ %td= mail_to user.email
12
+
13
+ - if user.respond_to?(:job_title)
14
+ %tr
15
+ %th Job Title:
16
+ %td= user.job_title.presence || '-'
17
+
18
+ - if user.respond_to?(:date_of_birth)
19
+ %tr
20
+ %th Date of Birth
21
+ %td= user.date_of_birth&.strftime('%F').presence || '-'
22
+
23
+ - if user.respond_to?(:phone)
24
+ %tr
25
+ %th Phone:
26
+ %td= user.phone.presence || '-'
27
+
28
+ - if user.respond_to?(:home_phone)
29
+ %tr
30
+ %th Home Phone:
31
+ %td= user.home_phone.presence || '-'
32
+
33
+ - if user.respond_to?(:cell_phone)
34
+ %tr
35
+ %th Cell Phone:
36
+ %td= user.cell_phone.presence || '-'
37
+
38
+ - if user.respond_to?(:fax)
39
+ %tr
40
+ %th Fax:
41
+ %td= user.fax.presence || '-'
42
+
43
+ - if user.respond_to?(:billing_address)
44
+ %tr
45
+ %th Billing Address:
46
+ %td
47
+ - if user.billing_address.present?
48
+ = user.billing_address.to_html
49
+ - else
50
+ = '-'
@@ -0,0 +1,29 @@
1
+ -# This is a placeholder file that should be overriden by the main application
2
+
3
+ - if f.object.respond_to?(:first_name)
4
+ = f.text_field :first_name
5
+
6
+ - if f.object.respond_to?(:last_name)
7
+ = f.text_field :last_name
8
+
9
+ - if f.object.respond_to?(:job_title)
10
+ = f.text_field :job_title
11
+
12
+ - if f.object.respond_to?(:date_of_birth)
13
+ = f.date_field :date_of_birth
14
+
15
+ - if f.object.respond_to?(:phone)
16
+ = f.tel_field :phone
17
+
18
+ - if f.object.respond_to?(:home_phone)
19
+ = f.tel_field :home_phone
20
+
21
+ - if f.object.respond_to?(:cell_phone)
22
+ = f.tel_field :cell_phone
23
+
24
+ - if f.object.respond_to?(:fax)
25
+ = f.tel_field :fax
26
+
27
+ - if f.object.respond_to?(:billing_address)
28
+ %h2 Billing Address
29
+ = effective_address_fields(f, :billing_address)
@@ -3,6 +3,8 @@ EffectiveMemberships.setup do |config|
3
3
  config.applicants_table_name = :applicants
4
4
  config.applicant_reviews_table_name = :applicant_reviews
5
5
  config.fee_payments_table_name = :fee_payments
6
+ config.organizations_table_name = :organizations
7
+ config.representatives_table_name = :representatives
6
8
 
7
9
  # Layout Settings
8
10
  # Configure the Layout per controller, or all at once
@@ -16,6 +18,7 @@ EffectiveMemberships.setup do |config|
16
18
  # config.applicant_class_name = 'Effective::Applicant'
17
19
  # config.applicant_review_class_name = 'Effective::ApplicantReview'
18
20
  # config.registrar_class_name = 'Effective::Registrar'
21
+ # config.organization_class_name = 'Effective::Organization'
19
22
 
20
23
  # Fee Categories
21
24
  # The defaults include: Applicant, Prorated, Renewal, Late, Admin
data/config/routes.rb CHANGED
@@ -25,6 +25,8 @@ EffectiveMemberships::Engine.routes.draw do
25
25
  get :membership_card, on: :member, to: 'membership_cards#show'
26
26
  end
27
27
 
28
+ resources :organizations, except: [:show, :destroy]
29
+ resources :representatives, except: [:show]
28
30
  end
29
31
 
30
32
  namespace :admin do
@@ -41,8 +43,16 @@ EffectiveMemberships::Engine.routes.draw do
41
43
  resources :applicant_course_names, except: [:show]
42
44
 
43
45
  resources :fee_payments, only: [:index, :show]
44
- resources :memberships, only: [:index]
46
+ resources :memberships, only: [:index, :update]
47
+ resources :membership_histories, except: [:show]
45
48
  resources :registrar_actions, only: [:create]
49
+
50
+ resources :organizations, except: [:show] do
51
+ post :archive, on: :member
52
+ post :unarchive, on: :member
53
+ end
54
+
55
+ resources :representatives, except: [:show]
46
56
  end
47
57
 
48
58
  end
@@ -3,8 +3,10 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
3
3
 
4
4
  # Categories
5
5
  create_table :categories do |t|
6
+ t.string :category_type # Individual or Organization
7
+
6
8
  t.string :title
7
- t.string :category
9
+ t.string :category # Freeform
8
10
 
9
11
  t.integer :position
10
12
 
@@ -119,12 +121,57 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
119
121
  add_index :membership_histories, [:owner_id, :owner_type]
120
122
  add_index :membership_histories, :start_on
121
123
 
124
+ # Organizations
125
+ create_table :organizations do |t|
126
+ t.string :email
127
+
128
+ t.string :title
129
+
130
+ t.string :phone
131
+ t.string :fax
132
+ t.string :website
133
+
134
+ t.string :category
135
+ t.text :notes
136
+
137
+ t.integer :roles_mask
138
+ t.boolean :archived, default: false
139
+
140
+ t.integer :representatives_count, default: 0
141
+
142
+ t.datetime :updated_at
143
+ t.datetime :created_at
144
+ end
145
+
146
+ add_index :organizations, :title
147
+
148
+ # Representatives
149
+ create_table :representatives do |t|
150
+ t.integer :organization_id
151
+ t.string :organization_type
152
+
153
+ t.integer :user_id
154
+ t.string :user_type
155
+
156
+ t.integer :roles_mask
157
+
158
+ t.datetime :updated_at
159
+ t.datetime :created_at
160
+ end
161
+
162
+ add_index :representatives, [:organization_id, :organization_type]
163
+ add_index :representatives, [:user_id, :user_type]
164
+
122
165
  # Applicants
123
166
  create_table :applicants do |t|
167
+ t.string :applicant_type
124
168
  t.string :token
125
169
 
126
- t.integer :owner_id
127
- t.string :owner_type
170
+ t.integer :user_id
171
+ t.string :user_type
172
+
173
+ t.integer :organization_id
174
+ t.string :organization_type
128
175
 
129
176
  t.integer :category_id
130
177
  t.string :category_type
@@ -132,8 +179,6 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
132
179
  t.integer :from_category_id
133
180
  t.string :from_category_type
134
181
 
135
- t.string :applicant_type
136
-
137
182
  # Acts as Statused
138
183
  t.string :status
139
184
  t.text :status_steps
@@ -169,7 +214,8 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
169
214
  t.datetime :created_at
170
215
  end
171
216
 
172
- add_index :applicants, [:owner_id, :owner_type]
217
+ add_index :applicants, [:user_id, :user_type]
218
+ add_index :applicants, [:organization_id, :organization_type]
173
219
  add_index :applicants, :status
174
220
  add_index :applicants, :token
175
221
 
@@ -361,12 +407,12 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
361
407
  create_table :fee_payments do |t|
362
408
  t.string :token
363
409
 
364
- t.integer :owner_id
365
- t.string :owner_type
366
-
367
410
  t.integer :user_id
368
411
  t.string :user_type
369
412
 
413
+ t.integer :organization_id
414
+ t.string :organization_type
415
+
370
416
  t.integer :category_id
371
417
  t.string :category_type
372
418
 
@@ -386,7 +432,8 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
386
432
  t.datetime :created_at
387
433
  end
388
434
 
389
- add_index :fee_payments, [:owner_id, :owner_type]
435
+ add_index :fee_payments, [:user_id, :user_type]
436
+ add_index :fee_payments, [:organization_id, :organization_type]
390
437
  add_index :fee_payments, :status
391
438
  add_index :fee_payments, :token
392
439
 
data/db/seeds.rb CHANGED
@@ -56,6 +56,24 @@ retired = Effective::Category.create!(
56
56
  tax_exempt: false
57
57
  )
58
58
 
59
+ member = Effective::Category.create!(
60
+ category_type: 'Organization',
61
+ title: "Corporate",
62
+ can_apply_new: true,
63
+ can_apply_existing: true,
64
+ create_renewal_fees: true,
65
+ create_late_fees: true,
66
+ min_applicant_references: 2,
67
+ min_applicant_reviews: 2,
68
+ applicant_fee: 100_00,
69
+ renewal_fee: 250_00,
70
+ late_fee: 50_00,
71
+ prorated_jan: 120_00, prorated_feb: 110_00, prorated_mar: 100_00, prorated_apr: 90_00, prorated_may: 80_00, prorated_jun: 70_00,
72
+ prorated_jul: 60_00, prorated_aug: 50_00, prorated_sep: 40_00, prorated_oct: 30_00, prorated_nov: 20_00, prorated_dec: 10_00,
73
+ qb_item_name: 'Corporate Member Quickbooks Name',
74
+ tax_exempt: false
75
+ )
76
+
59
77
  area = Effective::ApplicantCourseArea.create!(title: 'Science')
60
78
  area.applicant_course_names.create!(title: 'Science 100')
61
79
  area.applicant_course_names.create!(title: 'Science 200')
@@ -13,6 +13,9 @@ module EffectiveMemberships
13
13
  ActiveRecord::Base.extend(EffectiveMembershipsOwner::Base)
14
14
  ActiveRecord::Base.extend(EffectiveMembershipsCategory::Base)
15
15
 
16
+ ActiveRecord::Base.extend(EffectiveMembershipsUser::Base)
17
+ ActiveRecord::Base.extend(EffectiveMembershipsOrganization::Base)
18
+
16
19
  ActiveRecord::Base.extend(EffectiveMembershipsApplicant::Base)
17
20
  ActiveRecord::Base.extend(EffectiveMembershipsApplicantReview::Base)
18
21
  ActiveRecord::Base.extend(EffectiveMembershipsFeePayment::Base)
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.3.14'
2
+ VERSION = '0.4.2'
3
3
  end
@@ -6,8 +6,8 @@ module EffectiveMemberships
6
6
 
7
7
  def self.config_keys
8
8
  [
9
- :categories_table_name, :applicants_table_name, :applicant_reviews_table_name, :fee_payments_table_name,
10
- :category_class_name, :applicant_class_name, :applicant_review_class_name, :fee_payment_class_name, :registrar_class_name, :membership_card_class_name,
9
+ :categories_table_name, :applicants_table_name, :applicant_reviews_table_name, :fee_payments_table_name, :organizations_table_name, :representatives_table_name,
10
+ :category_class_name, :organization_class_name, :applicant_class_name, :applicant_review_class_name, :fee_payment_class_name, :registrar_class_name, :membership_card_class_name,
11
11
  :additional_fee_types, :applicant_reviews,
12
12
  :layout,
13
13
  :mailer, :parent_mailer, :deliver_method, :mailer_layout, :mailer_sender, :mailer_admin, :mailer_subject, :use_effective_email_templates
@@ -20,6 +20,10 @@ module EffectiveMemberships
20
20
  category_class_name&.constantize || Effective::Category
21
21
  end
22
22
 
23
+ def self.Organization
24
+ organization_class_name&.constantize || Effective::Organization
25
+ end
26
+
23
27
  def self.Applicant
24
28
  applicant_class_name&.constantize || Effective::Applicant
25
29
  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.3.14
4
+ version: 0.4.2
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-03-04 00:00:00.000000000 Z
11
+ date: 2022-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -192,20 +192,6 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: effective_organizations
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: effective_developer
211
197
  requirement: !ruby/object:Gem::Requirement
@@ -261,13 +247,18 @@ files:
261
247
  - app/controllers/admin/categories_controller.rb
262
248
  - app/controllers/admin/fee_payments_controller.rb
263
249
  - app/controllers/admin/fees_controller.rb
250
+ - app/controllers/admin/membership_histories_controller.rb
264
251
  - app/controllers/admin/memberships_controller.rb
252
+ - app/controllers/admin/organizations_controller.rb
265
253
  - app/controllers/admin/registrar_actions_controller.rb
254
+ - app/controllers/admin/representatives_controller.rb
266
255
  - app/controllers/effective/applicant_references_controller.rb
267
256
  - app/controllers/effective/applicants_controller.rb
268
257
  - app/controllers/effective/fee_payments_controller.rb
269
258
  - app/controllers/effective/membership_cards_controller.rb
270
259
  - app/controllers/effective/memberships_directory_controller.rb
260
+ - app/controllers/effective/organizations_controller.rb
261
+ - app/controllers/effective/representatives_controller.rb
271
262
  - app/datatables/admin/effective_applicant_course_areas_datatable.rb
272
263
  - app/datatables/admin/effective_applicant_course_names_datatable.rb
273
264
  - app/datatables/admin/effective_applicant_references_datatable.rb
@@ -277,6 +268,8 @@ files:
277
268
  - app/datatables/admin/effective_fees_datatable.rb
278
269
  - app/datatables/admin/effective_membership_histories_datatable.rb
279
270
  - app/datatables/admin/effective_memberships_datatable.rb
271
+ - app/datatables/admin/effective_organizations_datatable.rb
272
+ - app/datatables/admin/effective_representatives_datatable.rb
280
273
  - app/datatables/effective_applicant_courses_datatable.rb
281
274
  - app/datatables/effective_applicant_educations_datatable.rb
282
275
  - app/datatables/effective_applicant_experiences_datatable.rb
@@ -284,6 +277,8 @@ files:
284
277
  - app/datatables/effective_applicants_datatable.rb
285
278
  - app/datatables/effective_fee_payments_datatable.rb
286
279
  - app/datatables/effective_memberships_directory_datatable.rb
280
+ - app/datatables/effective_organizations_datatable.rb
281
+ - app/datatables/effective_representatives_datatable.rb
287
282
  - app/helpers/effective_memberships_helper.rb
288
283
  - app/mailers/effective/memberships_mailer.rb
289
284
  - app/models/concerns/effective_memberships_applicant.rb
@@ -291,8 +286,10 @@ files:
291
286
  - app/models/concerns/effective_memberships_card.rb
292
287
  - app/models/concerns/effective_memberships_category.rb
293
288
  - app/models/concerns/effective_memberships_fee_payment.rb
289
+ - app/models/concerns/effective_memberships_organization.rb
294
290
  - app/models/concerns/effective_memberships_owner.rb
295
291
  - app/models/concerns/effective_memberships_registrar.rb
292
+ - app/models/concerns/effective_memberships_user.rb
296
293
  - app/models/effective/applicant.rb
297
294
  - app/models/effective/applicant_course.rb
298
295
  - app/models/effective/applicant_course_area.rb
@@ -308,8 +305,10 @@ files:
308
305
  - app/models/effective/membership_card.rb
309
306
  - app/models/effective/membership_category.rb
310
307
  - app/models/effective/membership_history.rb
308
+ - app/models/effective/organization.rb
311
309
  - app/models/effective/registrar.rb
312
310
  - app/models/effective/registrar_action.rb
311
+ - app/models/effective/representative.rb
313
312
  - app/views/admin/applicant_course_areas/_form.html.haml
314
313
  - app/views/admin/applicant_course_areas/_form_applicant_course_area.html.haml
315
314
  - app/views/admin/applicant_course_areas/index.html.haml
@@ -336,7 +335,14 @@ files:
336
335
  - app/views/admin/fee_payments/_fee_payment.html.haml
337
336
  - app/views/admin/fees/_fee.html.haml
338
337
  - app/views/admin/fees/_form.html.haml
338
+ - app/views/admin/membership_histories/_form.html.haml
339
+ - app/views/admin/membership_histories/_validation.html.haml
340
+ - app/views/admin/memberships/_form.html.haml
341
+ - app/views/admin/memberships/_form_membership.html.haml
339
342
  - app/views/admin/memberships/_status.html.haml
343
+ - app/views/admin/organizations/_fields.html.haml
344
+ - app/views/admin/organizations/_form.html.haml
345
+ - app/views/admin/organizations/_form_organization.html.haml
340
346
  - app/views/admin/registrar_actions/_form.html.haml
341
347
  - app/views/admin/registrar_actions/_form_assign.html.haml
342
348
  - app/views/admin/registrar_actions/_form_bad_standing.html.haml
@@ -344,6 +350,8 @@ files:
344
350
  - app/views/admin/registrar_actions/_form_reclassify.html.haml
345
351
  - app/views/admin/registrar_actions/_form_register.html.haml
346
352
  - app/views/admin/registrar_actions/_form_remove.html.haml
353
+ - app/views/admin/representatives/_form.html.haml
354
+ - app/views/admin/representatives/_user_fields.html.haml
347
355
  - app/views/effective/applicant_references/_applicant_reference.html.haml
348
356
  - app/views/effective/applicant_references/_datatable_actions.html.haml
349
357
  - app/views/effective/applicant_references/_form.html.haml
@@ -356,16 +364,16 @@ files:
356
364
  - app/views/effective/applicants/_dashboard.html.haml
357
365
  - app/views/effective/applicants/_declarations.html.haml
358
366
  - app/views/effective/applicants/_demographics.html.haml
359
- - app/views/effective/applicants/_demographics_fields.html.haml
360
- - app/views/effective/applicants/_demographics_owner.html.haml
361
367
  - app/views/effective/applicants/_education.html.haml
362
368
  - app/views/effective/applicants/_experience.html.haml
363
369
  - app/views/effective/applicants/_files.html.haml
364
370
  - app/views/effective/applicants/_layout.html.haml
365
371
  - app/views/effective/applicants/_missing_info.html.haml
366
372
  - app/views/effective/applicants/_orders.html.haml
373
+ - app/views/effective/applicants/_organization.html.haml
367
374
  - app/views/effective/applicants/_references.html.haml
368
375
  - app/views/effective/applicants/_select.html.haml
376
+ - app/views/effective/applicants/_select_organization.html.haml
369
377
  - app/views/effective/applicants/_stamp.html.haml
370
378
  - app/views/effective/applicants/_summary.html.haml
371
379
  - app/views/effective/applicants/billing.html.haml
@@ -376,6 +384,7 @@ files:
376
384
  - app/views/effective/applicants/education.html.haml
377
385
  - app/views/effective/applicants/experience.html.haml
378
386
  - app/views/effective/applicants/files.html.haml
387
+ - app/views/effective/applicants/organization.html.haml
379
388
  - app/views/effective/applicants/references.html.haml
380
389
  - app/views/effective/applicants/select.html.haml
381
390
  - app/views/effective/applicants/stamp.html.haml
@@ -386,16 +395,16 @@ files:
386
395
  - app/views/effective/fee_payments/_dashboard.html.haml
387
396
  - app/views/effective/fee_payments/_declarations.html.haml
388
397
  - app/views/effective/fee_payments/_demographics.html.haml
389
- - app/views/effective/fee_payments/_demographics_fields.html.haml
390
- - app/views/effective/fee_payments/_demographics_owner.html.haml
391
398
  - app/views/effective/fee_payments/_fee_payment.html.haml
392
399
  - app/views/effective/fee_payments/_layout.html.haml
393
400
  - app/views/effective/fee_payments/_orders.html.haml
401
+ - app/views/effective/fee_payments/_organization.html.haml
394
402
  - app/views/effective/fee_payments/_summary.html.haml
395
403
  - app/views/effective/fee_payments/billing.html.haml
396
404
  - app/views/effective/fee_payments/checkout.html.haml
397
405
  - app/views/effective/fee_payments/declarations.html.haml
398
406
  - app/views/effective/fee_payments/demographics.html.haml
407
+ - app/views/effective/fee_payments/organization.html.haml
399
408
  - app/views/effective/fee_payments/start.html.haml
400
409
  - app/views/effective/fee_payments/submitted.html.haml
401
410
  - app/views/effective/fee_payments/summary.html.haml
@@ -410,6 +419,15 @@ files:
410
419
  - app/views/effective/memberships_mailer/applicant_declined.liquid
411
420
  - app/views/effective/memberships_mailer/applicant_missing_info.liquid
412
421
  - app/views/effective/memberships_mailer/applicant_reference_notification.liquid
422
+ - app/views/effective/organizations/_dashboard.html.haml
423
+ - app/views/effective/organizations/_form.html.haml
424
+ - app/views/effective/organizations/_form_organization.html.haml
425
+ - app/views/effective/representatives/_form.html.haml
426
+ - app/views/effective/representatives/_user_fields.html.haml
427
+ - app/views/organizations/_demographics.html.haml
428
+ - app/views/organizations/_fields_demographics.html.haml
429
+ - app/views/users/_demographics.html.haml
430
+ - app/views/users/_fields_demographics.html.haml
413
431
  - config/effective_memberships.rb
414
432
  - config/routes.rb
415
433
  - db/migrate/01_create_effective_memberships.rb.erb
@@ -1,20 +0,0 @@
1
- %table.table.table-sm
2
- %tbody
3
- %tr
4
- %th Name
5
- %td= owner.to_s
6
-
7
- - if owner.respond_to?(:email) && owner.email.present?
8
- %tr
9
- %th Email
10
- %td= mail_to owner.email
11
-
12
- - if owner.respond_to?(:date_of_birth) && owner.date_of_birth.present?
13
- %tr
14
- %th Date of Birth
15
- %td= owner.date_of_birth.strftime('%F')
16
-
17
- - if owner.respond_to?(:phone) && owner.phone.present?
18
- %tr
19
- %th Phone:
20
- %td= owner.phone
@@ -1,20 +0,0 @@
1
- %table.table.table-sm
2
- %tbody
3
- %tr
4
- %th Name
5
- %td= owner.to_s
6
-
7
- - if owner.respond_to?(:email) && owner.email.present?
8
- %tr
9
- %th Email
10
- %td= mail_to owner.email
11
-
12
- - if owner.respond_to?(:date_of_birth) && owner.date_of_birth.present?
13
- %tr
14
- %th Date of Birth
15
- %td= owner.date_of_birth.strftime('%F')
16
-
17
- - if owner.respond_to?(:phone) && owner.phone.present?
18
- %tr
19
- %th Phone:
20
- %td= owner.phone