effective_resources 2.14.0 → 2.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/effective_acts_as_email_form_helper.rb +12 -13
- data/app/mailers/concerns/effective_mailer.rb +6 -20
- data/app/models/concerns/acts_as_email_form.rb +3 -7
- data/app/views/effective/acts_as_email_form/_fields.html.haml +17 -3
- data/lib/effective_resources/version.rb +1 -1
- data/lib/effective_resources.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd61b5df998f90f23f8564279a7dc20840cf169c5114b026ff7cadef9978f00f
|
4
|
+
data.tar.gz: 1106d08aabdc5053db5fb6e78db263be7157b477b78dc6162f7edc8feef10ede
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8815dfa572def42ccad3f5731af8fffe847992a997568a2fd867a4b1586ec51716bfd368d42df15f5578fa2a3759ada115e09243ee225314aa7b3d1f30e14412
|
7
|
+
data.tar.gz: 1abf591d59b8a0ec96bfe05f8a2d0e6776389b7016a47ae72bc0bf010a70f33c8f7719a4b4e0424c55b0869c6eb3afc9ce9f82984ce7769800b637c4c0c992cd
|
@@ -13,25 +13,15 @@ module EffectiveActsAsEmailFormHelper
|
|
13
13
|
action.kind_of?(Effective::EmailTemplate) ? action : Effective::EmailTemplate.where(template_name: action).first!
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
resource.email_form_subject ||= email_template.subject
|
19
|
-
resource.email_form_body ||= email_template.body
|
20
|
-
else
|
21
|
-
defaults = form.object.email_form_defaults(action)
|
22
|
-
|
23
|
-
resource.email_form_from ||= defaults[:from]
|
24
|
-
resource.email_form_subject ||= defaults[:subject]
|
25
|
-
resource.email_form_body ||= defaults[:body]
|
26
|
-
end
|
27
|
-
|
28
|
-
resource.email_form_from ||= EffectiveResources.mailer_froms.first
|
16
|
+
# These defaults are only used when there is no email_template
|
17
|
+
email_defaults = form.object.email_form_defaults(action) unless email_template.present?
|
29
18
|
|
30
19
|
locals = {
|
31
20
|
form: form,
|
32
21
|
email_to: to,
|
33
22
|
email_skip: skip,
|
34
23
|
email_action: (action || true),
|
24
|
+
email_defaults: email_defaults,
|
35
25
|
email_template: email_template,
|
36
26
|
email_variables: variables
|
37
27
|
}
|
@@ -39,4 +29,13 @@ module EffectiveActsAsEmailFormHelper
|
|
39
29
|
render(partial: (partial || 'effective/acts_as_email_form/fields'), locals: locals)
|
40
30
|
end
|
41
31
|
|
32
|
+
def mailer_froms_collection(froms: nil)
|
33
|
+
froms ||= EffectiveResources.mailer_froms
|
34
|
+
|
35
|
+
froms.map do |from|
|
36
|
+
html = content_tag(:span, escape_once(from))
|
37
|
+
[from, from, 'data-html': html]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
42
41
|
end
|
@@ -8,17 +8,9 @@ module EffectiveMailer
|
|
8
8
|
layout -> { mailer_settings.mailer_layout }
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
def mailer_admin
|
14
|
-
mailer_settings.mailer_admin
|
15
|
-
end
|
16
|
-
|
17
|
-
def subject_for(action, default, resource, opts = {})
|
11
|
+
def subject_for(action, subject, resource, opts = {})
|
18
12
|
mailer_subject = mailer_settings.mailer_subject
|
19
13
|
|
20
|
-
subject = opts[:subject] || opts['subject'] || default
|
21
|
-
|
22
14
|
if mailer_subject.respond_to?(:call)
|
23
15
|
subject = self.instance_exec(action, subject, resource, opts, &mailer_subject)
|
24
16
|
end
|
@@ -26,18 +18,12 @@ module EffectiveMailer
|
|
26
18
|
subject
|
27
19
|
end
|
28
20
|
|
29
|
-
def
|
30
|
-
|
31
|
-
|
32
|
-
if resource.respond_to?(:log_changes_datatable)
|
33
|
-
headers[:log] = resource
|
34
|
-
end
|
35
|
-
|
36
|
-
if (opts[:subject] || opts['subject']).present?
|
37
|
-
headers[:custom_subject] = true
|
38
|
-
end
|
21
|
+
def mailer_admin
|
22
|
+
mailer_settings.mailer_admin
|
23
|
+
end
|
39
24
|
|
40
|
-
|
25
|
+
def headers_for(resource, opts = {})
|
26
|
+
resource.respond_to?(:log_changes_datatable) ? opts.merge(log: resource) : opts
|
41
27
|
end
|
42
28
|
|
43
29
|
private
|
@@ -43,9 +43,9 @@ module ActsAsEmailForm
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
if defined?(EffectiveEmailTemplates)
|
47
|
-
validates :email_form_subject, liquid: true
|
48
|
-
validates :email_form_body, liquid: true
|
46
|
+
with_options(if: -> { defined?(EffectiveEmailTemplates) }) do
|
47
|
+
validates :email_form_subject, liquid: true
|
48
|
+
validates :email_form_body, liquid: true
|
49
49
|
end
|
50
50
|
|
51
51
|
def email_form_params
|
@@ -56,10 +56,6 @@ module ActsAsEmailForm
|
|
56
56
|
EffectiveResources.truthy?(email_form_skip)
|
57
57
|
end
|
58
58
|
|
59
|
-
def email_form_effective_email_templates?
|
60
|
-
!!defined?(EffectiveEmailTemplates)
|
61
|
-
end
|
62
|
-
|
63
59
|
# Only considered when not using an effective email template
|
64
60
|
def email_form_defaults(action)
|
65
61
|
{ from: nil, subject: nil, body: nil }
|
@@ -7,9 +7,23 @@
|
|
7
7
|
- if email_to.present?
|
8
8
|
= form.static_field :email_form_to, label: 'To', value: (email_to.try(:email) || email_to)
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
- if form.object.errors.present?
|
11
|
+
= form.select :email_form_from, mailer_froms_collection(), label: 'From'
|
12
|
+
= form.text_field :email_form_subject, label: 'Subject'
|
13
|
+
= form.text_area :email_form_body, label: 'Body', rows: 10
|
14
|
+
|
15
|
+
- elsif email_template.present?
|
16
|
+
-# email_template is an Effective::EmailTemplate
|
17
|
+
- from_value = email_template.from || EffectiveResources.mailer_froms.first
|
18
|
+
= form.select :email_form_from, mailer_froms_collection(), label: 'From', value: from_value
|
19
|
+
= form.text_field :email_form_subject, label: 'Subject', value: email_template.subject
|
20
|
+
= form.text_area :email_form_body, label: 'Body', value: email_template.body, rows: 10
|
21
|
+
|
22
|
+
- else
|
23
|
+
- from_value = email_defaults[:from] || EffectiveResources.mailer_froms.first
|
24
|
+
= form.select :email_form_from, mailer_froms_collection(), label: 'From', value: from_value
|
25
|
+
= form.text_field :email_form_subject, label: 'Subject', value: (email_defaults[:subject] || '')
|
26
|
+
= form.text_area :email_form_body, label: 'Body', rows: 10, value: (email_defaults[:body] || '')
|
13
27
|
|
14
28
|
- if email_variables.present?
|
15
29
|
%p The available variables are:
|
data/lib/effective_resources.rb
CHANGED
@@ -72,6 +72,11 @@ module EffectiveResources
|
|
72
72
|
config[:mailer_froms].presence || [mailer_sender]
|
73
73
|
end
|
74
74
|
|
75
|
+
# This is used by the effective_email_templates form
|
76
|
+
def self.mailer_subject_prefix_hint
|
77
|
+
instance_exec(:mailer_subject_blank_prefix, nil, nil, nil, &mailer_subject) if mailer_subject.respond_to?(:call)
|
78
|
+
end
|
79
|
+
|
75
80
|
# Utilities
|
76
81
|
|
77
82
|
# This looks up the best class give the name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.15.0
|
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-10-
|
11
|
+
date: 2023-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|