effective_memberships 0.6.9 → 0.6.10
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ba47cb79fdfe1d53bfa440e0c6ecd4b454f7da034a9035d25e0306e0b57a1d9
|
4
|
+
data.tar.gz: 7b342075e2d9aa6e51d7cecd34011e491f1c95ae7123606d26a23b128915e34d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4033eb84334a81fe60aa6b67248f34feec629ca3a83bb6f0725ef2bb013dce6344b629eefd9f940f8a6f2b3a7dbdf35360b4027b925c5785d7e1ab7d359b0dcd
|
7
|
+
data.tar.gz: 59978379131bfb1a4e9988fdeda03e8e792ec37011c1c2a7338072c73c743dd1cd33999be0d1cbb41142e60ca43e1c15e8fe053b56a7ac9ffcc96e9e6ed6aa6d
|
@@ -68,7 +68,7 @@ module Effective
|
|
68
68
|
|
69
69
|
def assigns_for(resource)
|
70
70
|
if resource.class.respond_to?(:effective_memberships_applicant?)
|
71
|
-
return applicant_assigns(resource).merge(owner_assigns(resource.owner))
|
71
|
+
return applicant_assigns(resource).merge(owner_assigns(resource.owner)).merge(membership_assigns(resource.owner.membership))
|
72
72
|
end
|
73
73
|
|
74
74
|
if resource.kind_of?(Effective::ApplicantEndorsement)
|
@@ -87,6 +87,7 @@ module Effective
|
|
87
87
|
|
88
88
|
values = {
|
89
89
|
date: (applicant.submitted_at || Time.zone.now).strftime('%F'),
|
90
|
+
approved_at: (applicant.approved_at&.strftime('%F') || 'not approved'),
|
90
91
|
|
91
92
|
to_category: applicant.category.to_s,
|
92
93
|
from_category: applicant.from_category.to_s,
|
@@ -102,6 +103,19 @@ module Effective
|
|
102
103
|
{ applicant: values }
|
103
104
|
end
|
104
105
|
|
106
|
+
def membership_assigns(membership)
|
107
|
+
return {} if membership.blank?
|
108
|
+
raise('expected a membership') unless membership.kind_of?(Effective::Membership)
|
109
|
+
|
110
|
+
values = {
|
111
|
+
number: (membership.number || 'no membership number'),
|
112
|
+
joined_on: (membership.joined_on&.strftime('%F') || 'unknown'),
|
113
|
+
registration_on: (membership.registration_on.strftime('%F') || 'unknown')
|
114
|
+
}
|
115
|
+
|
116
|
+
{ membership: values }
|
117
|
+
end
|
118
|
+
|
105
119
|
def endorsement_assigns(applicant_endorsement)
|
106
120
|
raise('expected a endorsement') unless applicant_endorsement.kind_of?(Effective::ApplicantEndorsement)
|
107
121
|
|
@@ -87,6 +87,7 @@ module EffectiveMembershipsApplicant
|
|
87
87
|
# Admin Approve Step
|
88
88
|
attr_accessor :approved_membership_number
|
89
89
|
attr_accessor :approved_membership_date
|
90
|
+
attr_accessor :approved_email_action
|
90
91
|
|
91
92
|
# Application Namespace
|
92
93
|
belongs_to :user, polymorphic: true
|
@@ -763,6 +764,19 @@ module EffectiveMembershipsApplicant
|
|
763
764
|
reviewed!
|
764
765
|
end
|
765
766
|
|
767
|
+
def approve_email_templates
|
768
|
+
raise('expected EffectiveEmailTemplates') unless defined?(EffectiveEmailTemplates)
|
769
|
+
Effective::EmailTemplate.where('template_name ILIKE ?', 'applicant_approve%').order(:template_name)
|
770
|
+
end
|
771
|
+
|
772
|
+
def to_category
|
773
|
+
category
|
774
|
+
end
|
775
|
+
|
776
|
+
def to_status
|
777
|
+
nil
|
778
|
+
end
|
779
|
+
|
766
780
|
# Admin approves an applicant. Registers the owner. Sends an email.
|
767
781
|
def approve!
|
768
782
|
raise('already approved') if was_approved?
|
@@ -778,12 +792,13 @@ module EffectiveMembershipsApplicant
|
|
778
792
|
if apply_to_join?
|
779
793
|
EffectiveMemberships.Registrar.register!(
|
780
794
|
owner,
|
781
|
-
to:
|
795
|
+
to: to_category,
|
796
|
+
status: to_status,
|
782
797
|
date: approved_membership_date.presence, # Set by the Admin Process form, or nil
|
783
798
|
number: approved_membership_number.presence # Set by the Admin Process form, or nil
|
784
799
|
)
|
785
800
|
elsif reclassification?
|
786
|
-
EffectiveMemberships.Registrar.reclassify!(owner, to:
|
801
|
+
EffectiveMemberships.Registrar.reclassify!(owner, to: to_category, status: to_status)
|
787
802
|
elsif reinstatement?
|
788
803
|
EffectiveMemberships.Registrar.reinstate!(owner, from: from_status)
|
789
804
|
else
|
@@ -9,7 +9,11 @@
|
|
9
9
|
The member will keep their existing membership number: #{applicant.owner.membership.number}.
|
10
10
|
- else
|
11
11
|
- number = EffectiveMemberships.Registrar.next_membership_number(applicant.owner, to: applicant.category)
|
12
|
-
|
12
|
+
|
13
|
+
- if number.present?
|
14
|
+
= f.text_field :approved_membership_number, hint: "leave blank to assign the next number: #{number || 'none'}."
|
15
|
+
- else
|
16
|
+
No membership number will be assigned.
|
13
17
|
|
14
18
|
%h3 Fees
|
15
19
|
%p The following fee(s) will be created:
|
@@ -24,7 +28,27 @@
|
|
24
28
|
%li A #{month} discount fee from their old category
|
25
29
|
|
26
30
|
%h3 Email to send
|
27
|
-
|
28
|
-
|
31
|
+
- email_templates = applicant.approve_email_templates
|
32
|
+
|
33
|
+
- f.object.approved_email_action ||= email_templates.first&.id
|
34
|
+
= f.hidden_field :approved_email_action
|
35
|
+
|
36
|
+
- if email_templates.length == 0
|
37
|
+
%p The following email will be sent:
|
38
|
+
= email_form_fields(f, :applicant_approve)
|
39
|
+
|
40
|
+
- if email_templates.length == 1
|
41
|
+
- template = email_templates.first
|
42
|
+
%p The following #{link_to(template, effective_email_templates.edit_admin_email_template_path(template), target: '_blank')} email will be sent:
|
43
|
+
= email_form_fields(f, template)
|
44
|
+
|
45
|
+
- if email_templates.length > 1
|
46
|
+
- collection = email_templates.map { |et| [et.to_s.titleize.sub('Applicant ', '') + " (#{et})", et.id] }
|
47
|
+
= f.select :approved_email_action, collection
|
48
|
+
|
49
|
+
- email_templates.each do |template|
|
50
|
+
= f.show_if(:approved_email_action, template.id) do
|
51
|
+
%p The following #{link_to(template, effective_email_templates.edit_admin_email_template_path(template), target: '_blank')} email will be sent:
|
52
|
+
= email_form_fields(f, template)
|
29
53
|
|
30
54
|
= f.submit 'Approve Applicant', border: false, center: true, 'data-confirm': "Approve #{f.object.owner}?"
|
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.6.
|
4
|
+
version: 0.6.10
|
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-09-
|
11
|
+
date: 2022-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|