effective_postmark 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/admin/postmark_reports_controller.rb +2 -0
- data/app/helpers/effective_postmark_helper.rb +3 -3
- data/app/mailers/concerns/effective_postmark_mailer.rb +20 -2
- data/app/views/admin/postmark_reports/index.html.haml +4 -0
- data/config/effective_postmark.rb +2 -2
- data/config/locales/effective_postmark.en.yml +8 -0
- data/lib/effective_postmark/version.rb +1 -1
- metadata +4 -3
- data/app/datatables/effective_postmark_datatable.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fe7f11d545296d6955abe9f0c934d791f64ebfae9fa6c648715b8e9b27e836b
|
4
|
+
data.tar.gz: a33fd5b23fbcb58730245be5201a8c1d965219f0e7c75116e79b0bdde57398a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a25ef0fe93ca7217e03370437f062254212db1f1eec2837b295e758ba045e4bc2c92429671646900d426d066c6c65e12d4ec029d7ef3433e8c3be21d7fa9259
|
7
|
+
data.tar.gz: '0768ffeb2fb7b3f6f41d981418ce3206c6dcc63e827ab2f5f4e825c784427f9ec5adac8fa6528aaa7bad2066cbb3e688a4f204244c80a54096d235dc234d0975'
|
@@ -3,6 +3,8 @@ module Admin
|
|
3
3
|
before_action(:authenticate_user!) if defined?(Devise)
|
4
4
|
before_action { EffectiveResources.authorize!(self, :admin, :effective_postmark) }
|
5
5
|
|
6
|
+
include Effective::CrudController
|
7
|
+
|
6
8
|
def inactive_recipients
|
7
9
|
@datatable = Admin::ReportInactiveRecipientsDatatable.new
|
8
10
|
@page_title = @datatable.datatable_name
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module EffectivePostmarkHelper
|
2
2
|
|
3
3
|
# For use on the regular user alerts and forgot password pages
|
4
|
-
def effective_postmark_alert(user, from: nil, html_class: 'alert alert-danger')
|
4
|
+
def effective_postmark_alert(user, from: nil, html_class: 'alert alert-danger mb-4')
|
5
5
|
raise('expected an effective_postmark_user') unless user.class.try(:effective_postmark_user?)
|
6
6
|
return unless user.postmark_invalid?
|
7
7
|
|
@@ -19,7 +19,7 @@ module EffectivePostmarkHelper
|
|
19
19
|
end
|
20
20
|
|
21
21
|
# For use on the admin/users#edit page
|
22
|
-
def effective_postmark_admin_alert(user, from: nil, html_class: 'alert alert-danger')
|
22
|
+
def effective_postmark_admin_alert(user, from: nil, html_class: 'alert alert-danger mb-4')
|
23
23
|
raise('expected an effective_postmark_user') unless user.class.try(:effective_postmark_user?)
|
24
24
|
return unless user.postmark_invalid?
|
25
25
|
|
@@ -29,7 +29,7 @@ module EffectivePostmarkHelper
|
|
29
29
|
"They will not receive any emails",
|
30
30
|
("from #{from}" if from),
|
31
31
|
"while inactive.",
|
32
|
-
"Please update their email address, or" +
|
32
|
+
"Please update their email address, or " +
|
33
33
|
link_to('reactivate their email', effective_postmark.postmark_reactivate_admin_postmark_path(user), 'data-method': :post),
|
34
34
|
"and automatically attempt an email delivery."
|
35
35
|
].compact.join(' ').html_safe
|
@@ -9,8 +9,23 @@ module EffectivePostmarkMailer
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
rescue_from
|
13
|
-
rescue_from
|
12
|
+
rescue_from(::StandardError, with: :effective_postmark_error) unless Rails.env.test? || Rails.env.development?
|
13
|
+
rescue_from(::Postmark::InactiveRecipientError, with: :effective_postmark_inactive_recipient_error)
|
14
|
+
end
|
15
|
+
|
16
|
+
module ClassMethods
|
17
|
+
def postmark_settings
|
18
|
+
tenant = if defined?(Tenant)
|
19
|
+
Tenant.current || raise("Missing tenant in effective_postmark postmark_settings")
|
20
|
+
end
|
21
|
+
|
22
|
+
api_token = EffectivePostmark.api_token.presence || begin
|
23
|
+
raise("Missing effective_postmark api_token for tenant :#{tenant}. Please see config/initializers/effective_postmark.rb") if tenant.present?
|
24
|
+
raise("Missing effective_postmark api_token. Please see config/initializers/effective_postmark.rb")
|
25
|
+
end
|
26
|
+
|
27
|
+
{ api_token: api_token }
|
28
|
+
end
|
14
29
|
end
|
15
30
|
|
16
31
|
def effective_postmark_inactive_recipient_error(exception)
|
@@ -41,6 +56,9 @@ module EffectivePostmarkMailer
|
|
41
56
|
end
|
42
57
|
|
43
58
|
def effective_postmark_error(exception)
|
59
|
+
Rails.logger.info "\e[31m\e[1mEMAIL FAILED\e[0m\e[22m" # bold red
|
60
|
+
Rails.logger.info "#{exception.inspect}"
|
61
|
+
|
44
62
|
true
|
45
63
|
end
|
46
64
|
|
@@ -4,13 +4,13 @@ EffectivePostmark.setup do |config|
|
|
4
4
|
# config.layout = { application: 'application', admin: 'admin' }
|
5
5
|
|
6
6
|
# API Key
|
7
|
-
config.api_token = ENV.fetch('POSTMARK_API_TOKEN')
|
7
|
+
# config.api_token = ENV.fetch('POSTMARK_API_TOKEN')
|
8
8
|
|
9
9
|
# Mailer Settings
|
10
10
|
# Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
|
11
11
|
#
|
12
12
|
# Configure the class responsible to send e-mails.
|
13
|
-
# config.mailer = 'Effective::
|
13
|
+
# config.mailer = 'Effective::PostmarkMailer'
|
14
14
|
#
|
15
15
|
# Override effective_resource mailer defaults
|
16
16
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_postmark
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.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: 2024-09-
|
11
|
+
date: 2024-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -219,14 +219,15 @@ files:
|
|
219
219
|
- app/controllers/admin/postmark_controller.rb
|
220
220
|
- app/controllers/admin/postmark_reports_controller.rb
|
221
221
|
- app/datatables/admin/report_inactive_recipients_datatable.rb
|
222
|
-
- app/datatables/effective_postmark_datatable.rb
|
223
222
|
- app/helpers/effective_postmark_helper.rb
|
224
223
|
- app/mailers/concerns/effective_postmark_mailer.rb
|
225
224
|
- app/mailers/effective/postmark_mailer.rb
|
226
225
|
- app/models/concerns/effective_postmark_user.rb
|
227
226
|
- app/models/effective/postmark_api.rb
|
227
|
+
- app/views/admin/postmark_reports/index.html.haml
|
228
228
|
- app/views/effective/postmark_mailer/reactivated.html.haml
|
229
229
|
- config/effective_postmark.rb
|
230
|
+
- config/locales/effective_postmark.en.yml
|
230
231
|
- config/routes.rb
|
231
232
|
- db/migrate/101_create_effective_postmark.rb
|
232
233
|
- db/seeds.rb
|
@@ -1,29 +0,0 @@
|
|
1
|
-
class EffectivePostmarkDatatable < Effective::Datatable
|
2
|
-
datatable do
|
3
|
-
order :subject, :asc
|
4
|
-
length :all
|
5
|
-
|
6
|
-
col :updated_at, visible: false
|
7
|
-
col :created_at, visible: false
|
8
|
-
col :id, visible: false
|
9
|
-
|
10
|
-
col :template_name, label: 'Name'
|
11
|
-
|
12
|
-
col :from, search: EffectivePostmark.mailer_froms do |email_template|
|
13
|
-
ERB::Util.html_escape_once(email_template.from)
|
14
|
-
end
|
15
|
-
|
16
|
-
col :cc
|
17
|
-
col :bcc
|
18
|
-
col :subject
|
19
|
-
col :body
|
20
|
-
|
21
|
-
col :content_type, visible: false
|
22
|
-
|
23
|
-
actions_col
|
24
|
-
end
|
25
|
-
|
26
|
-
collection do
|
27
|
-
Effective::EmailTemplate.all
|
28
|
-
end
|
29
|
-
end
|