spree_emails 4.3.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +5 -0
- data/LICENSE +26 -0
- data/Rakefile +15 -0
- data/app/assets/config/spree_emails_manifest.js +1 -0
- data/app/assets/images/logo/spree_50.png +0 -0
- data/app/assets/images/noimage/mini.png +0 -0
- data/app/assets/images/noimage/noimage/large.png +0 -0
- data/app/assets/images/noimage/noimage/mini.png +0 -0
- data/app/assets/images/noimage/noimage/product.png +0 -0
- data/app/assets/images/noimage/noimage/small.png +0 -0
- data/app/assets/images/noimage/small.png +0 -0
- data/app/helpers/spree/mail_helper.rb +34 -0
- data/app/mailers/spree/base_mailer.rb +46 -0
- data/app/mailers/spree/order_mailer.rb +26 -0
- data/app/mailers/spree/reimbursement_mailer.rb +12 -0
- data/app/mailers/spree/shipment_mailer.rb +12 -0
- data/app/mailers/spree/test_mailer.rb +8 -0
- data/app/models/spree/emails/order_decorator.rb +28 -0
- data/app/models/spree/emails/reimbursement_decorator.rb +11 -0
- data/app/models/spree/emails/shipment_handler_decorator.rb +13 -0
- data/app/views/layouts/spree/base_mailer.html.erb +46 -0
- data/app/views/spree/order_mailer/cancel_email.html.erb +24 -0
- data/app/views/spree/order_mailer/cancel_email.text.erb +12 -0
- data/app/views/spree/order_mailer/confirm_email.html.erb +23 -0
- data/app/views/spree/order_mailer/confirm_email.text.erb +12 -0
- data/app/views/spree/order_mailer/store_owner_notification_email.html.erb +23 -0
- data/app/views/spree/order_mailer/store_owner_notification_email.text.erb +12 -0
- data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +48 -0
- data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +24 -0
- data/app/views/spree/shared/_base_mailer_footer.html.erb +12 -0
- data/app/views/spree/shared/_base_mailer_header.html.erb +8 -0
- data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +456 -0
- data/app/views/spree/shared/_mailer_line_item.html.erb +12 -0
- data/app/views/spree/shared/_purchased_items_table.html.erb +64 -0
- data/app/views/spree/shared/purchased_items_table/_adjustment.html.erb +13 -0
- data/app/views/spree/shared/purchased_items_table/_line_item.html.erb +19 -0
- data/app/views/spree/shared/purchased_items_table/_subtotal.html.erb +13 -0
- data/app/views/spree/shared/purchased_items_table/_total.html.erb +13 -0
- data/app/views/spree/shipment_mailer/shipped_email.html.erb +36 -0
- data/app/views/spree/shipment_mailer/shipped_email.text.erb +17 -0
- data/app/views/spree/test_mailer/test_email.html.erb +40 -0
- data/app/views/spree/test_mailer/test_email.text.erb +4 -0
- data/config/initializers/assets.rb +1 -0
- data/lib/generators/spree/emails/install/install_generator.rb +27 -0
- data/lib/generators/spree/emails/install/templates/mailers/previews/order_preview.rb +13 -0
- data/lib/generators/spree/emails/install/templates/mailers/previews/reimbursement_preview.rb +5 -0
- data/lib/generators/spree/emails/install/templates/mailers/previews/shipment_preview.rb +5 -0
- data/lib/generators/spree/emails/install/templates/mailers/previews/user_preview.rb +11 -0
- data/lib/spree/emails.rb +12 -0
- data/lib/spree/emails/engine.rb +18 -0
- data/lib/spree_emails.rb +1 -0
- data/lib/tasks/email.rake +10 -0
- data/script/rails +9 -0
- data/spree_emails.gemspec +34 -0
- metadata +158 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="six sub-columns">
|
3
|
+
<strong>
|
4
|
+
<%= link_to raw(line_item.variant.product.name), spree_storefront_resource_url(line_item.variant.product) %>
|
5
|
+
</strong>
|
6
|
+
<%= raw(line_item.variant.options_text) -%>
|
7
|
+
(<%= line_item.variant.sku %>)
|
8
|
+
</td>
|
9
|
+
<td class="six sub-columns last right">
|
10
|
+
<%= line_item.quantity %> x <%= line_item.single_money %> = <%= line_item.display_amount %>
|
11
|
+
</td>
|
12
|
+
</tr>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<table class="purchase_content">
|
2
|
+
<%= render collection: line_items, partial: 'spree/shared/purchased_items_table/line_item', as: :line_item %>
|
3
|
+
<%= render 'spree/shared/purchased_items_table/subtotal', order: order %>
|
4
|
+
<% if order.line_item_adjustments.exists? %>
|
5
|
+
<% if order.all_adjustments.promotion.eligible.exists? %>
|
6
|
+
<% order.all_adjustments.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
7
|
+
<tr>
|
8
|
+
<td></td>
|
9
|
+
<td>
|
10
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
11
|
+
<%= Spree.t(:promotion) %>:
|
12
|
+
</p>
|
13
|
+
<p class="f-fallback purchase_total--name purchase_total--label">
|
14
|
+
<%= label %>
|
15
|
+
</p>
|
16
|
+
</td>
|
17
|
+
<td class="purchase_total-col">
|
18
|
+
<p class="f-fallback purchase_total">
|
19
|
+
<%= Spree::Money.new(adjustments.sum(&:amount), currency: order.currency) %>
|
20
|
+
</p>
|
21
|
+
</td>
|
22
|
+
</tr>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
26
|
+
<% order.shipments.group_by { |s| s.selected_shipping_rate&.name }.each do |name, shipments| %>
|
27
|
+
<tr>
|
28
|
+
<td></td>
|
29
|
+
<td>
|
30
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
31
|
+
<%= Spree.t(:shipping) %>:
|
32
|
+
</p>
|
33
|
+
<p class="f-fallback purchase_total--name purchase_total--label">
|
34
|
+
<%= name %>
|
35
|
+
</p>
|
36
|
+
</td>
|
37
|
+
<td class="purchase_total-col">
|
38
|
+
<p class="f-fallback purchase_total">
|
39
|
+
<%= Spree::Money.new(shipments.sum(&:discounted_cost), currency: order.currency) %>
|
40
|
+
</p>
|
41
|
+
</td>
|
42
|
+
</tr>
|
43
|
+
<% end %>
|
44
|
+
<% if order.additional_tax_total != 0 %>
|
45
|
+
<tr>
|
46
|
+
<td></td>
|
47
|
+
<td>
|
48
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
49
|
+
<%= Spree.t(:tax) %>:
|
50
|
+
</p>
|
51
|
+
</td>
|
52
|
+
<td class="purchase_total-col">
|
53
|
+
<p class="f-fallback purchase_total">
|
54
|
+
<%= order.display_additional_tax_total.to_html %>
|
55
|
+
</p>
|
56
|
+
</td>
|
57
|
+
</tr>
|
58
|
+
<% end %>
|
59
|
+
<% order.adjustments.eligible.each do |adjustment| %>
|
60
|
+
<% next if (adjustment.source_type == 'Spree::TaxRate') || (adjustment.amount == 0) %>
|
61
|
+
<%= render 'spree/shared/purchased_items_table/adjustment', adjustment: adjustment, order: order %>
|
62
|
+
<% end %>
|
63
|
+
<%= render 'spree/shared/purchased_items_table/total', order: order %>
|
64
|
+
</table>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td></td>
|
3
|
+
<td>
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<%= raw(adjustment.label) %>:
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td class="purchase_total-col">
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<%= Spree::Money.new(adjustment.amount, currency: order.currency) %>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="purchase_image">
|
3
|
+
<%= link_to(image_tag(variant_image_url(line_item.variant)), spree_storefront_resource_url(line_item.product)) %>
|
4
|
+
</td>
|
5
|
+
<td class="purchase_item">
|
6
|
+
<strong>
|
7
|
+
<span class="f-fallback">
|
8
|
+
<%= link_to raw(line_item.name), spree_storefront_resource_url(line_item.product) %>
|
9
|
+
</span>
|
10
|
+
</strong>
|
11
|
+
<p class="purchase_item--additional"><%= raw(line_item.variant.options_text) -%></p>
|
12
|
+
</td>
|
13
|
+
<td class="align-right" width="30%">
|
14
|
+
<span class="f-fallback purchase_item_price">
|
15
|
+
<%= line_item.quantity %> x <%= line_item.single_money %><br>
|
16
|
+
<%= line_item.display_amount %>
|
17
|
+
</span>
|
18
|
+
</td>
|
19
|
+
</tr>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td class="purchase_footer" valign="middle"></td>
|
3
|
+
<td class="purchase_footer" valign="middle">
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<%= Spree.t('order_mailer.subtotal') %>
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td class="purchase_footer" valign="middle">
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<%= order.display_item_total %>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<tr>
|
2
|
+
<td></td>
|
3
|
+
<td>
|
4
|
+
<p class="f-fallback purchase_total purchase_total--label">
|
5
|
+
<strong><%= Spree.t('order_mailer.total') %></strong>
|
6
|
+
</p>
|
7
|
+
</td>
|
8
|
+
<td>
|
9
|
+
<p class="f-fallback purchase_total">
|
10
|
+
<strong><%= order.display_total %></strong>
|
11
|
+
</p>
|
12
|
+
</td>
|
13
|
+
</tr>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<h1>
|
2
|
+
<%= Spree.t('shipment_mailer.shipped_email.dear_customer', name: name_for(@shipment.order)) %>
|
3
|
+
</h1>
|
4
|
+
<p>
|
5
|
+
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
6
|
+
</p>
|
7
|
+
<table class="purchase" role="presentation">
|
8
|
+
<tr>
|
9
|
+
<td>
|
10
|
+
<h3><%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %></h3>
|
11
|
+
</td>
|
12
|
+
</tr>
|
13
|
+
<tr>
|
14
|
+
<td colspan="2">
|
15
|
+
<%= render 'spree/shared/purchased_items_table', line_items: @shipment.manifest.map(&:line_item), order: @shipment.order %>
|
16
|
+
</td>
|
17
|
+
</tr>
|
18
|
+
</table>
|
19
|
+
<p>
|
20
|
+
<%= Spree.t('shipment_mailer.shipped_email.shipping_method', shipping_method: @shipment.shipping_method.name) %>
|
21
|
+
</p>
|
22
|
+
<% if @shipment.tracking %>
|
23
|
+
<p>
|
24
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) %>
|
25
|
+
</p>
|
26
|
+
<% end %>
|
27
|
+
<% if @shipment.tracking_url %>
|
28
|
+
<p>
|
29
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: link_to(@shipment.tracking_url, @shipment.tracking_url)).html_safe %>
|
30
|
+
</p>
|
31
|
+
<% end %>
|
32
|
+
<p>
|
33
|
+
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
34
|
+
<br />
|
35
|
+
<%= Spree.t('shipment_mailer.shipped_email.store_team', store_name: current_store.name) %>
|
36
|
+
</p>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= Spree.t('shipment_mailer.shipped_email.dear_customer', name: name_for(@shipment.order)) %>
|
2
|
+
|
3
|
+
<%= Spree.t('shipment_mailer.shipped_email.instructions', number: @shipment.order.number) %>
|
4
|
+
|
5
|
+
============================================================
|
6
|
+
<%= Spree.t('shipment_mailer.shipped_email.shipment_summary') %>
|
7
|
+
============================================================
|
8
|
+
<% @shipment.manifest.each do |item| %>
|
9
|
+
<%= item.variant.sku %> <%= item.variant.product.name %> <%= item.variant.options_text %>
|
10
|
+
<% end %>
|
11
|
+
============================================================
|
12
|
+
|
13
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_information', tracking: @shipment.tracking) if @shipment.tracking %>
|
14
|
+
<%= Spree.t('shipment_mailer.shipped_email.track_link', url: @shipment.tracking_url) if @shipment.tracking_url %>
|
15
|
+
|
16
|
+
<%= Spree.t('shipment_mailer.shipped_email.thanks') %>
|
17
|
+
<%= Spree.t('shipment_mailer.shipped_email.store_team', store_name: current_store.name) %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<table>
|
2
|
+
<tr>
|
3
|
+
<td>
|
4
|
+
|
5
|
+
<center>
|
6
|
+
<h1 class="center">
|
7
|
+
<%= Spree.t('test_mailer.test_email.greeting') %>
|
8
|
+
</h1>
|
9
|
+
</center>
|
10
|
+
|
11
|
+
</td>
|
12
|
+
<td class="expander"></td>
|
13
|
+
</tr>
|
14
|
+
</table>
|
15
|
+
|
16
|
+
<table>
|
17
|
+
<tr>
|
18
|
+
<td>
|
19
|
+
|
20
|
+
<p class="lede">
|
21
|
+
<%= Spree.t('test_mailer.test_email.message') %>
|
22
|
+
</p>
|
23
|
+
|
24
|
+
<p>
|
25
|
+
Please remember to configure all of the emails that Spree has provided to your needs.
|
26
|
+
Spree comes shipped with <a href="http://zurb.com/ink/" target="_blank"> Ink </a>
|
27
|
+
prepackaged, but you can use your own version. Ink is not placed in the asset pipeline.
|
28
|
+
</p>
|
29
|
+
|
30
|
+
<p>
|
31
|
+
Also take note that Gmail does not support <code><style></code> tags.
|
32
|
+
Therefore, you will need a gem that will be able to remove your <code><style></code>
|
33
|
+
tags and place them inline. Gmail only supports inline styles. We use
|
34
|
+
<a href="https://github.com/fphilipe/premailer-rails" target="_blank">Premailer for Rails</a> by default.
|
35
|
+
</p>
|
36
|
+
|
37
|
+
</td>
|
38
|
+
<td class="expander"></td>
|
39
|
+
</tr>
|
40
|
+
</table>
|
@@ -0,0 +1 @@
|
|
1
|
+
Rails.application.config.assets.precompile << 'spree_emails_manifest.js'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'spree/core'
|
3
|
+
|
4
|
+
module Spree
|
5
|
+
module Emails
|
6
|
+
module Generators
|
7
|
+
class InstallGenerator < Rails::Generators::Base
|
8
|
+
desc 'Installs mailers previews for Spree transactional emails'
|
9
|
+
|
10
|
+
def self.source_paths
|
11
|
+
[
|
12
|
+
File.expand_path('templates', __dir__)
|
13
|
+
]
|
14
|
+
end
|
15
|
+
|
16
|
+
def copy_mailers_previews
|
17
|
+
preview_path = Rails.application&.config&.action_mailer&.preview_path.presence || 'test/mailers/previews'
|
18
|
+
|
19
|
+
template 'mailers/previews/order_preview.rb', "#{preview_path}/order_preview.rb"
|
20
|
+
template 'mailers/previews/shipment_preview.rb', "#{preview_path}/shipment_preview.rb"
|
21
|
+
template 'mailers/previews/reimbursement_preview.rb', "#{preview_path}/reimbursement_preview.rb"
|
22
|
+
template 'mailers/previews/user_preview.rb', "#{preview_path}/user_preview.rb"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class OrderPreview < ActionMailer::Preview
|
2
|
+
def confirm_email
|
3
|
+
Spree::OrderMailer.confirm_email(Spree::Order.complete.first)
|
4
|
+
end
|
5
|
+
|
6
|
+
def cancel_email
|
7
|
+
Spree::OrderMailer.cancel_email(Spree::Order.complete.first)
|
8
|
+
end
|
9
|
+
|
10
|
+
def store_owner_notification_email
|
11
|
+
Spree::OrderMailer.store_owner_notification_email(Spree::Order.complete.first)
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class UserPreview < ActionMailer::Preview
|
2
|
+
def reset_password_instructions
|
3
|
+
Spree::UserMailer.reset_password_instructions(Spree.user_class.first, 'your_token', { current_store_id: Spree::Store.default.id })
|
4
|
+
end
|
5
|
+
|
6
|
+
if Spree::Auth::Config[:confirmable]
|
7
|
+
def confirmation_instructions
|
8
|
+
Spree::UserMailer.confirmation_instructions(Spree.user_class.first, 'your_token')
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/lib/spree/emails.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails/engine'
|
2
|
+
|
3
|
+
module Spree
|
4
|
+
module Emails
|
5
|
+
class Engine < Rails::Engine
|
6
|
+
isolate_namespace Spree
|
7
|
+
engine_name 'spree_emails'
|
8
|
+
|
9
|
+
def self.activate
|
10
|
+
Dir.glob(File.join(File.dirname(__FILE__), '../../../app/**/*_decorator*.rb')).sort.each do |c|
|
11
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
config.to_prepare &method(:activate).to_proc
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/spree_emails.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'spree/emails'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
namespace :email do
|
2
|
+
desc 'Sends test email to specified address - Example: EMAIL=spree@example.com bundle exec rake email:test'
|
3
|
+
task test: :environment do
|
4
|
+
unless ENV['EMAIL'].present?
|
5
|
+
raise ArgumentError, 'Must pass EMAIL environment variable. ' \
|
6
|
+
'Example: EMAIL=spree@example.com bundle exec rake email:test'
|
7
|
+
end
|
8
|
+
Spree::TestMailer.test_email(ENV['EMAIL']).deliver_now
|
9
|
+
end
|
10
|
+
end
|
data/script/rails
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
ENGINE_ROOT = File.expand_path('../..', __FILE__)
|
5
|
+
ENGINE_PATH = File.expand_path('../../lib/spree/emails/engine', __FILE__)
|
6
|
+
|
7
|
+
require 'rails/all'
|
8
|
+
require 'rails/engine/commands'
|
9
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require_relative '../core/lib/spree/core/version.rb'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.platform = Gem::Platform::RUBY
|
7
|
+
s.name = 'spree_emails'
|
8
|
+
s.version = Spree.version
|
9
|
+
s.authors = ['Sean Schofield', 'Spark Solutions']
|
10
|
+
s.email = 'hello@spreecommerce.org'
|
11
|
+
s.summary = 'Transactional emails for Spree eCommerce platform'
|
12
|
+
s.description = 'Optional transactional emails for Spree such as Order placed or Shipment notification emails'
|
13
|
+
s.homepage = 'https://spreecommerce.org'
|
14
|
+
s.license = 'BSD-3-Clause'
|
15
|
+
|
16
|
+
s.metadata = {
|
17
|
+
"bug_tracker_uri" => "https://github.com/spree/spree/issues",
|
18
|
+
"changelog_uri" => "https://github.com/spree/spree/releases/tag/v#{s.version}",
|
19
|
+
"documentation_uri" => "https://guides.spreecommerce.org/",
|
20
|
+
"source_code_uri" => "https://github.com/spree/spree/tree/v#{s.version}",
|
21
|
+
}
|
22
|
+
|
23
|
+
s.required_ruby_version = '>= 2.5.0'
|
24
|
+
s.required_rubygems_version = '>= 1.8.23'
|
25
|
+
|
26
|
+
s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
|
27
|
+
s.require_path = 'lib'
|
28
|
+
|
29
|
+
s.add_dependency 'spree_core', ">= #{s.version}"
|
30
|
+
s.add_dependency 'actionmailer'
|
31
|
+
s.add_dependency 'sprockets', '>= 4.0'
|
32
|
+
|
33
|
+
s.add_development_dependency 'email_spec', '~> 2.2'
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: spree_emails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 4.3.0.rc1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sean Schofield
|
8
|
+
- Spark Solutions
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2021-08-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: spree_core
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 4.3.0.rc1
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 4.3.0.rc1
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: actionmailer
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: sprockets
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '4.0'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '4.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: email_spec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '2.2'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.2'
|
70
|
+
description: Optional transactional emails for Spree such as Order placed or Shipment
|
71
|
+
notification emails
|
72
|
+
email: hello@spreecommerce.org
|
73
|
+
executables: []
|
74
|
+
extensions: []
|
75
|
+
extra_rdoc_files: []
|
76
|
+
files:
|
77
|
+
- Gemfile
|
78
|
+
- LICENSE
|
79
|
+
- Rakefile
|
80
|
+
- app/assets/config/spree_emails_manifest.js
|
81
|
+
- app/assets/images/logo/spree_50.png
|
82
|
+
- app/assets/images/noimage/mini.png
|
83
|
+
- app/assets/images/noimage/noimage/large.png
|
84
|
+
- app/assets/images/noimage/noimage/mini.png
|
85
|
+
- app/assets/images/noimage/noimage/product.png
|
86
|
+
- app/assets/images/noimage/noimage/small.png
|
87
|
+
- app/assets/images/noimage/small.png
|
88
|
+
- app/helpers/spree/mail_helper.rb
|
89
|
+
- app/mailers/spree/base_mailer.rb
|
90
|
+
- app/mailers/spree/order_mailer.rb
|
91
|
+
- app/mailers/spree/reimbursement_mailer.rb
|
92
|
+
- app/mailers/spree/shipment_mailer.rb
|
93
|
+
- app/mailers/spree/test_mailer.rb
|
94
|
+
- app/models/spree/emails/order_decorator.rb
|
95
|
+
- app/models/spree/emails/reimbursement_decorator.rb
|
96
|
+
- app/models/spree/emails/shipment_handler_decorator.rb
|
97
|
+
- app/views/layouts/spree/base_mailer.html.erb
|
98
|
+
- app/views/spree/order_mailer/cancel_email.html.erb
|
99
|
+
- app/views/spree/order_mailer/cancel_email.text.erb
|
100
|
+
- app/views/spree/order_mailer/confirm_email.html.erb
|
101
|
+
- app/views/spree/order_mailer/confirm_email.text.erb
|
102
|
+
- app/views/spree/order_mailer/store_owner_notification_email.html.erb
|
103
|
+
- app/views/spree/order_mailer/store_owner_notification_email.text.erb
|
104
|
+
- app/views/spree/reimbursement_mailer/reimbursement_email.html.erb
|
105
|
+
- app/views/spree/reimbursement_mailer/reimbursement_email.text.erb
|
106
|
+
- app/views/spree/shared/_base_mailer_footer.html.erb
|
107
|
+
- app/views/spree/shared/_base_mailer_header.html.erb
|
108
|
+
- app/views/spree/shared/_base_mailer_stylesheets.html.erb
|
109
|
+
- app/views/spree/shared/_mailer_line_item.html.erb
|
110
|
+
- app/views/spree/shared/_purchased_items_table.html.erb
|
111
|
+
- app/views/spree/shared/purchased_items_table/_adjustment.html.erb
|
112
|
+
- app/views/spree/shared/purchased_items_table/_line_item.html.erb
|
113
|
+
- app/views/spree/shared/purchased_items_table/_subtotal.html.erb
|
114
|
+
- app/views/spree/shared/purchased_items_table/_total.html.erb
|
115
|
+
- app/views/spree/shipment_mailer/shipped_email.html.erb
|
116
|
+
- app/views/spree/shipment_mailer/shipped_email.text.erb
|
117
|
+
- app/views/spree/test_mailer/test_email.html.erb
|
118
|
+
- app/views/spree/test_mailer/test_email.text.erb
|
119
|
+
- config/initializers/assets.rb
|
120
|
+
- lib/generators/spree/emails/install/install_generator.rb
|
121
|
+
- lib/generators/spree/emails/install/templates/mailers/previews/order_preview.rb
|
122
|
+
- lib/generators/spree/emails/install/templates/mailers/previews/reimbursement_preview.rb
|
123
|
+
- lib/generators/spree/emails/install/templates/mailers/previews/shipment_preview.rb
|
124
|
+
- lib/generators/spree/emails/install/templates/mailers/previews/user_preview.rb
|
125
|
+
- lib/spree/emails.rb
|
126
|
+
- lib/spree/emails/engine.rb
|
127
|
+
- lib/spree_emails.rb
|
128
|
+
- lib/tasks/email.rake
|
129
|
+
- script/rails
|
130
|
+
- spree_emails.gemspec
|
131
|
+
homepage: https://spreecommerce.org
|
132
|
+
licenses:
|
133
|
+
- BSD-3-Clause
|
134
|
+
metadata:
|
135
|
+
bug_tracker_uri: https://github.com/spree/spree/issues
|
136
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v4.3.0.rc1
|
137
|
+
documentation_uri: https://guides.spreecommerce.org/
|
138
|
+
source_code_uri: https://github.com/spree/spree/tree/v4.3.0.rc1
|
139
|
+
post_install_message:
|
140
|
+
rdoc_options: []
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 2.5.0
|
148
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 1.8.23
|
153
|
+
requirements: []
|
154
|
+
rubygems_version: 3.2.3
|
155
|
+
signing_key:
|
156
|
+
specification_version: 4
|
157
|
+
summary: Transactional emails for Spree eCommerce platform
|
158
|
+
test_files: []
|