effective_memberships 0.12.3 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7b99c254dcb327566bd4de3e1893a6b94874e055f92b03f79a6f5ee156e48c6
4
- data.tar.gz: 732a011869b5756269d5869b2465aec166b1cdaa8cafeb6f359114d8b544d382
3
+ metadata.gz: d060a4560ac81c9ca5ff85d01017de52a187f9c488999cc8d070e487ce06e919
4
+ data.tar.gz: 61ff798a1d3dcb6bb1bc6b524fb1572d009f36faa4ef75dbe8df99c47d607fab
5
5
  SHA512:
6
- metadata.gz: 0f1ebd7606208e5603b2039368623427b87ca92888f635f7593efb1b822d40e2821c6a4894df4d935a4cdc5ac9269ce80269e17fc99e772dd00bf1123ef04648
7
- data.tar.gz: 299039b2e0ec8fce83317e9033e62cb6cc6688156ee78fbd6b296c15ccfb0e6ea75a36de48a32d782b539eb06188fb5d2929e547de44bc827deb026839fde6c8
6
+ metadata.gz: e5d47c15f035b8fc63ed6ddcb99d18b3247093a01843b931c16f32822c278a637d3251c73091171c55e6f4bf43e11b0b012549f51b3ed4be9a6fb8fa6a37c851
7
+ data.tar.gz: 3a8cec75a97f6acb2188189c259cca502e6ae34c436246dcd3c4ea4cf11448b0fd44dea340656f016afa6a4525aeee9e75f0535b6e75583faeb4dc389d5e25c2
@@ -23,6 +23,9 @@ module EffectiveMembershipsDirectory
23
23
  attr_accessor :first_name
24
24
  attr_accessor :last_name
25
25
 
26
+ # Memberships
27
+ attr_accessor :number
28
+
26
29
  # Organizations
27
30
  attr_accessor :title
28
31
 
@@ -47,7 +50,7 @@ module EffectiveMembershipsDirectory
47
50
  # Search Users and Organizations for only these fields. Passed into search_any. Return nil for all.
48
51
  # Should this include email?
49
52
  def search_any_columns
50
- [:title, :name, :first_name, :middle_name, :last_name]
53
+ [:title, :name, :first_name, :middle_name, :last_name, :number]
51
54
  end
52
55
 
53
56
  def per_page
@@ -116,6 +119,11 @@ module EffectiveMembershipsDirectory
116
119
  memberships = memberships.with_category(EffectiveMemberships.Category.where(id: category))
117
120
  end
118
121
 
122
+ # Filter by number
123
+ if number.present?
124
+ memberships = memberships.where('number ILIKE ?', "%#{number}%")
125
+ end
126
+
119
127
  # Return an ActiveRecord::Relation of Effective::Memberships
120
128
  memberships
121
129
  end
@@ -208,6 +208,7 @@ module EffectiveMembershipsOwner
208
208
  fee.assign_attributes(
209
209
  fee_type: 'Discount',
210
210
  category: category,
211
+ from_category: from,
211
212
  period: period,
212
213
  price: price,
213
214
  tax_exempt: category.tax_exempt,
@@ -13,6 +13,9 @@ module Effective
13
13
  # The membership category for this fee, if there's only 1 membership.categories
14
14
  belongs_to :category, polymorphic: true, optional: true
15
15
 
16
+ # Only set on the Discount fee right now
17
+ belongs_to :from_category, polymorphic: true, optional: true
18
+
16
19
  # The membership status for this fee, if there's only 1 membership.statuses
17
20
  belongs_to :with_status, polymorphic: true, optional: true
18
21
 
@@ -149,7 +152,7 @@ module Effective
149
152
  [
150
153
  period.strftime('%Y'),
151
154
  category,
152
- EffectiveResources.et("effective_memberships.fees.#{fee_type.downcase}")
155
+ EffectiveResources.et("effective_memberships.fees.#{fee_type.parameterize.underscore}")
153
156
  ].join(' ')
154
157
  end
155
158
 
@@ -0,0 +1,17 @@
1
+ %h3 Fees
2
+ %p The following fees will be created:
3
+ - month = Time.zone.now.strftime('%B')
4
+
5
+ %ul
6
+ - if applicant.apply_to_join?
7
+ %li A #{month} prorated fee
8
+
9
+ - if applicant.reclassification?
10
+ - if applicant.owner.outstanding_renewal_fees.present?
11
+ %li A renewal fee in their new category
12
+ - else
13
+ %li A #{month} prorated fee to the new category
14
+ %li A #{month} discount fee from their old category
15
+
16
+ - if applicant.reinstatement?
17
+ %li A #{month} prorated fee to their reinstatement category
@@ -22,23 +22,7 @@
22
22
  - if applicant.reinstatement? && reinstatement.present?
23
23
  %p The member will be reinstated with their previous status: #{badges(reinstatement.membership_statuses) || 'None'}.
24
24
 
25
- %h3 Fees
26
- %p The following fees will be created:
27
- - month = Time.zone.now.strftime('%B')
28
-
29
- %ul
30
- - if applicant.apply_to_join?
31
- %li A #{month} prorated fee
32
-
33
- - if applicant.reclassification?
34
- - if applicant.owner.outstanding_renewal_fees.present?
35
- %li A renewal fee in their new category
36
- - else
37
- %li A #{month} prorated fee to the new category
38
- %li A #{month} discount fee from their old category
39
-
40
- - if applicant.reinstatement?
41
- %li A #{month} prorated fee to their reinstatement category
25
+ = render('admin/applicants/fees_approve', f: f, applicant: applicant)
42
26
 
43
27
  %p The following unpurchased fees will be deleted:
44
28
  - outstanding_fee_payment_fees = applicant.owner.outstanding_fee_payment_fees
@@ -9,6 +9,7 @@
9
9
  /= f.search_field :title
10
10
 
11
11
  = f.select :category, membership_directory.categories
12
+ = f.search_field :number
12
13
 
13
14
  = f.save('Search', class: 'btn btn-primary btn-search mr-3', name: nil)
14
15
  = link_to 'Reset filters', request.path
@@ -2,6 +2,7 @@
2
2
  %h6= membership.owner
3
3
  %p= membership.categories.map(&:membership_directory_title).to_sentence
4
4
  %p= membership.statuses.map(&:membership_directory_title).to_sentence
5
+ %p= membership.number
5
6
 
6
7
  - if membership.owner.try(:email).present?
7
8
  %p= reveal_mail_to(membership.owner.email)
@@ -4,6 +4,7 @@
4
4
  %h6= @membership.owner
5
5
  %p= @membership.categories.map(&:membership_directory_title).to_sentence
6
6
  %p= @membership.statuses.map(&:membership_directory_title).to_sentence
7
+ %p= @membership.number
7
8
 
8
9
  - if @membership.owner.respond_to?(:rich_text_body)
9
10
  .mb-4= @membership.owner.rich_text_body.to_s
@@ -457,6 +457,9 @@ class CreateEffectiveMemberships < ActiveRecord::Migration[6.0]
457
457
  t.integer :category_id
458
458
  t.string :category_type
459
459
 
460
+ t.integer :from_category_id
461
+ t.string :from_category_type
462
+
460
463
  t.integer :with_status_id
461
464
  t.string :with_status_type
462
465
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.12.3'
2
+ VERSION = '0.13.1'
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.12.3
4
+ version: 0.13.1
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: 2023-03-15 00:00:00.000000000 Z
11
+ date: 2023-03-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -354,6 +354,7 @@ files:
354
354
  - app/views/admin/applicant_endorsements/_applicant_endorsement.html.haml
355
355
  - app/views/admin/applicant_references/_applicant_reference.html.haml
356
356
  - app/views/admin/applicant_reviews/_applicant_review.html.haml
357
+ - app/views/admin/applicants/_fees_approve.html.haml
357
358
  - app/views/admin/applicants/_form.html.haml
358
359
  - app/views/admin/applicants/_form_applicant.html.haml
359
360
  - app/views/admin/applicants/_form_approve.html.haml