spree_bronto 3.pre.0.pre.stable → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3b281282ef7df4d0775cc2f3976816056a08299
4
- data.tar.gz: c79c53d0d2365adb45ccaa4bdeb28f1303e1af75
3
+ metadata.gz: ce7cfe85f900f8971fd940dbdcdd21a5dd17af58
4
+ data.tar.gz: e42050af673cd1204155fc2d6676c1304a615e08
5
5
  SHA512:
6
- metadata.gz: 3a7f38114418ee73de73409ab38df5912de2a61c1f0138be74801d4c0ce7abe92de5c6985dc66c66539d1189865f8e641f2563087185f16ff493bd113d84f772
7
- data.tar.gz: 88c9f9674a8036d3bfc5ef1625cef6227ce3713d870ad7948a38f08bc1912e62e105b737bf5f98c375d74d07ac8174bcea9f4488ff9c2df84c8fb1b98e0373df
6
+ metadata.gz: 20f510e2cfdecae46fe16b178c0e26833c4c63d56299a06076e5c4da68b5e5fbf2b5806f287e8052a0de3042dea9a9a7c20817708367ab26620b6a42f1525367
7
+ data.tar.gz: 34151b42e4aa94ed3d5dfa93b4348ac3b90a5df2666c53dbbcca9c7d339d610ae77da9ef749ad7d9dcad5bf055c5b7f61c6ba84f6452cd3b9b21372b3f63db17
@@ -1,6 +1,4 @@
1
1
  Spree::CheckoutController.class_eval do
2
- include Spree::Lists
3
- before_action :check_newsletter
4
2
 
5
3
  def load_order_with_lock
6
4
  @order = current_order(lock: true)
@@ -8,16 +6,4 @@ Spree::CheckoutController.class_eval do
8
6
  redirect_to spree.cart_path and return unless @order
9
7
  end
10
8
 
11
- private
12
- def check_newsletter
13
- if params['bronto_list']
14
- params['bronto_list'].each do |k,v|
15
- list=Spree::BrontoList.find(k)
16
- if k && v && @order.email
17
- subscribe_to_list(@order.email, list)
18
- end
19
- end
20
- end
21
- end
22
-
23
9
  end
@@ -1,27 +1,10 @@
1
1
  Spree::UsersController.class_eval do
2
- include Spree::Lists
3
2
 
4
- before_action :load_bronto_lists
5
- before_action :check_newsletter
3
+ before_action :load_bronto_lists
6
4
 
7
5
  private
8
6
  def load_bronto_lists
9
7
  @bronto_lists=current_store.bronto_lists
10
8
  end
11
9
 
12
- def check_newsletter
13
- if params['user'] && params['user']['bronto_list_attributes']
14
- params['user']['bronto_list_attributes'].each do|k,v|
15
- list=Spree::BrontoList.find(k)
16
- if k && @user && v=="true"
17
- subscribe_to_list(@user, list)
18
- end
19
-
20
- if k && @user && v=="false"
21
- unsubscribe_from_list(@user, list)
22
- end
23
-
24
- end
25
- end
26
- end
27
10
  end
@@ -2,13 +2,13 @@
2
2
 
3
3
  <p>
4
4
  <strong>Your tracking details:</strong><br />
5
- Package ID: <%= order.shipments.first.number %><br />
6
- Sent date: <%= order.shipments.first.updated_at.strftime("%B %d %Y at %I:%M %p") %><br />
7
- Shipped via: <%= order.shipments.first.shipping_method.name %><br /><br />
8
- <%unless order.shipments.first.shipping_method.blank? || order.shipments.first.tracking.blank? %>
9
- <%= order.shipments.first.shipping_method.name%> Tracking Number: <%= order.shipments.first.tracking %><br />
5
+ Package ID: <%= order.shipment.number %><br />
6
+ Sent date: <%= order.shipment.updated_at.strftime("%B %d %Y at %I:%M %p") %><br />
7
+ Shipped via: <%= order.shipment.shipping_method.name %><br /><br />
8
+ <%unless order.shipment.shipping_method.blank? || order.shipment.tracking.blank? %>
9
+ <%= order.shipment.shipping_method.name%> Tracking Number: <%= order.shipment.tracking %><br />
10
10
  To track your package, go to:<br />
11
- <a href="<%= order.shipments.first.shipping_method_trackurl+order.shipments.first.tracking %>"><%=order.shipments.first.shipping_method.name %> Tracking</a>
11
+ <a href="<%= order.shipment.shipping_method_trackurl+order.shipment.tracking %>"><%=order.shipment.shipping_method.name %> Tracking</a>
12
12
  <% end %>
13
13
  </p>
14
14
 
@@ -1,15 +1,15 @@
1
1
  This email is to inform you that your order has been shipped on <%= Time.now.strftime("%B %d %Y at %I:%M %p") %>.
2
2
 
3
3
  Your tracking details:
4
- Package ID: <%= order.shipments.first.number %>
5
- Sent date: <%= order.shipments.first.updated_at.strftime("%B %d %Y at %I:%M %p") %>
6
- Shipped via: <%= order.shipments.first.shipping_method.name %>
4
+ Package ID: <%= order.shipment.number %>
5
+ Sent date: <%= order.shipment.updated_at.strftime("%B %d %Y at %I:%M %p") %>
6
+ Shipped via: <%= order.shipment.shipping_method.name %>
7
7
 
8
- <%unless order.shipments.first.shipping_method.blank? || order.shipments.first.tracking.blank? %>
9
- <%= order.shipments.first.shipping_method.name%> Tracking Number: <%= order.shipments.first.tracking %>
8
+ <%unless order.shipment.shipping_method.blank? || order.shipment.tracking.blank? %>
9
+ <%= order.shipment.shipping_method.name%> Tracking Number: <%= order.shipment.tracking %>
10
10
 
11
11
  To track your package, go to:
12
- <%= order.shipments.first.shipping_method.trackurl+order.shipments.first.tracking%>
12
+ <%= order.shipment.shipping_method.trackurl+order.shipment.tracking%>
13
13
  <% end %>
14
14
 
15
15
  Here are the details of the order we received on <%= order.completed_at.strftime("%B %d %Y at %I:%M %p") %>.
@@ -1,4 +1,5 @@
1
- Spree::Order.class_eval do
1
+ module Spree
2
+ Order.class_eval do
2
3
 
3
4
  def deliver_order_confirmation_email
4
5
  #OrderMailer.confirm_email(id).deliver_later # we replace OrderMailer with DelayedSend
@@ -26,5 +27,5 @@ Spree::Order.class_eval do
26
27
  "order_mailer/order_cancel_plain",
27
28
  "order_mailer/order_cancel_html").perform
28
29
  end
29
-
30
+ end
30
31
  end
@@ -5,47 +5,5 @@ module Spree
5
5
 
6
6
  accepts_nested_attributes_for :bronto_lists
7
7
 
8
- def deliver_password_reset_instructions!(current_store)
9
-
10
- #@edit_password_reset_url = edit_spree_user_password_url(:reset_password_token => token, :host => current_store.url)
11
-
12
- #mail to: user.email, from: from_address, subject: Spree::Store.current.name + ' ' + I18n.t(:subject, :scope => [:devise, :mailer, :reset_password_instructions])
13
-
14
- #Bronto sending
15
- #trigger the email directly here.
16
- store_code= current_store.code
17
- token= Spree::BrontoConfiguration.account[store_code]['token']
18
- from_email= current_store.mail_from_address
19
- from_name= Spree::BrontoConfiguration.account[store_code]['from_name']
20
- reply_email= current_store.mail_from_address
21
- email_options={:fromEmail =>from_email,:fromName => from_name, :replyEmail => reply_email}
22
-
23
- user_order=orders.select{|o| o.state='complete'}.last
24
-
25
- message_name= Spree::BrontoConfiguration.account[current_store.code]['password_reset']
26
-
27
- attributes = {:First_Name => user_order.ship_address.firstname} unless !user_order
28
- attributes = {:First_Name => user_order.ship_address.lastname} unless !user_order
29
-
30
- attributes[:SENDTIME__CONTENT1] = reset_password_token
31
- attributes[:SENDTIME__CONTENT2] = reset_password_token
32
-
33
- begin
34
- communication = BrontoIntegration::Communication.new(token)
35
- communication.trigger_delivery_by_id(message_name,email,'transactional','html',attributes,email_options)
36
-
37
- rescue => exception
38
- begin #handle the transactional contact in case the message is not approved for transactional.
39
- contact = BrontoIntegration::Contact.new(token)
40
- contact.update_status(email,'active')
41
- communication.trigger_delivery_by_id(message_name,email,'triggered','html',attributes,email_options)
42
- rescue => exception
43
- raise exception
44
- end
45
- end
46
-
47
-
48
- end
49
-
50
8
  end
51
9
  end
@@ -1,6 +1,6 @@
1
1
  Deface::Override.new(
2
2
  :virtual_path => "spree/users/show",
3
3
  :name => "bronto_lists_edit_form",
4
- :insert_before => "[data-hook='account_my_orders']",
4
+ :insert_after => "[data-hook='account_my_orders']",
5
5
  :partial => "spree/bronto_lists/edit",
6
6
  :disabled => false)
@@ -1,6 +1,6 @@
1
1
  Deface::Override.new(
2
2
  :virtual_path => "spree/checkout/_address",
3
3
  :name => "bronto_list_subscribe",
4
- :insert_before => "[data-hook='billing_fieldset_wrapper']",
4
+ :insert_after => "[data-hook='billing_fieldset_wrapper']",
5
5
  :partial => "spree/bronto_lists/signup",
6
6
  :disabled => false)
@@ -1,10 +1,11 @@
1
- <div class="">
2
-
3
- <h3><%= t("bronto.my_newsletters") %></h3>
1
+ <div class="address_box">
4
2
 
5
3
  <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @user } %>
6
4
 
7
- <%= form_for(@user, :url => user_path(@user), :html => { :method => :put, :class => "account-summary well" }) do |f| %>
5
+ <%= form_for(@user, :url => user_path(@user), :html => { :method => :put }) do |f| %>
6
+
7
+ <h2><%= t("bronto.my_newsletters") %></h2>
8
+ <br/>
8
9
  <table style="text-align: left">
9
10
  <tr>
10
11
  <th width="250px"><%= t('name') %></th>
@@ -13,9 +14,7 @@
13
14
  <%= render :partial => "spree/bronto_lists/form", @collection => @bronto_lists, :locals => { :f => f } %>
14
15
  </table>
15
16
  <br/>
16
- <%= button_tag :class => 'btn btn-submit' do %>
17
- <%= t("bronto.update_subscriptions") %>
17
+ <%=button_tag t("bronto.update_subscriptions")%>
18
18
  <% end %>
19
- <% end %>
20
-
19
+ <br/>
21
20
  </div>
@@ -1,13 +1,11 @@
1
1
  <% unless @bronto_lists.blank? %>
2
2
  <%- @subscribe = @order.user.nil? ? true : !@order.user.bronto_lists.include?(@bronto_lists.first.id) -%>
3
- <p class="address_box" id="snewsletters" >
4
- <%= label_tag "Opt-in to our newsletter:" %>
3
+ <p id="snewsletters" class="field">
4
+ <label>Opt-in to our newsletter:</label>
5
5
  <%= radio_button_tag("bronto_list[#{@bronto_lists.first.id}]", true, @subscribe, :style => "width:20px;") %>
6
6
  <span><%= t("yes") %>&nbsp;</span>
7
7
 
8
8
  <%= radio_button_tag("bronto_list[#{@bronto_lists.first.id}]", false, !@subscribe, :style => "width:20px;") %>
9
9
  <span><%= t("no") %></span>
10
- <span class="note">(sent twice a month, includes unadvertised discounts)</span>
11
10
  </p>
12
-
13
11
  <% end %>
@@ -1,4 +1,4 @@
1
- <% tagkey= Spree::BrontoConfiguration.account[current_store.code]['tagkey'] unless !@order %>
1
+ <% tagkey= Spree::BrontoConfiguration.account[@order.store.code]['tagkey'] unless !@order %>
2
2
 
3
3
  <script type="text/javascript">
4
4
  var _bsw = _bsw || [];
@@ -19,7 +19,7 @@
19
19
  cartItems += ', "sku": "' + item.variant.sku
20
20
  cartItems += '", "category": "'
21
21
  cartItems += '", "description": "'
22
- cartItems += '", "productUrl": "' + 'http://www.' + current_store.name.downcase + '/products/' + item.product.slug
22
+ cartItems += '", "productUrl": "' + 'http://www.' + @order.store.name.downcase + '/products/' + item.product.slug
23
23
  cartItems += '", "name": "' + ERB::Util.html_escape(item.product.name)
24
24
  cartItems += '", "quantity": ' + item.quantity.to_s
25
25
  cartItems += ', "salePrice": 0'
@@ -37,7 +37,7 @@
37
37
  "grandTotal": <%= @order.total.to_s %>,
38
38
  "subtotal": <%= @order.item_total.to_s %>,
39
39
  "discountAmount": <%= (100*@order.line_item_adjustments.promotion.eligible.map{|t| t.amount}.sum).to_i/100.00 %>,
40
- "url": "http://www.<%= current_store.name.downcase %>/cart",
40
+ "url": "http://www.<%= @order.store.name.downcase %>/orders/new",
41
41
  "currency": "USD",
42
42
  "taxAmount": <%= (100*@order.line_item_adjustments.tax.eligible.map{|t| t.amount}.sum).to_i/100.00 %>,
43
43
  "lineItems": <%= cartItems.html_safe %>
@@ -3,8 +3,6 @@
3
3
 
4
4
  en:
5
5
  spree:
6
- subscription_sent: Signed up
7
- subscription_notsent: Singup failed
8
6
  bronto:
9
7
  lists_admin: Bronto Lists
10
8
  manage_settings: Manage Bronto mailing lists made available to Spree users
@@ -23,5 +21,4 @@ en:
23
21
  update_subscriptions: Update Subscriptions
24
22
  subscribed: Subscribed?
25
23
  subscribe_question: Would you like to subscribe to any of our newsletters?
26
- store_id: Web Store
27
- no_such_list: This newsletter does not exist
24
+ store_id: Web Store
data/config/routes.rb CHANGED
@@ -6,14 +6,4 @@ Spree::Core::Engine.routes.append do
6
6
  end
7
7
  end
8
8
  end
9
-
10
- resources :orders, :except => [:index, :new, :create, :destroy] do
11
- patch :subscribe, :on => :member
12
- end
13
-
14
- post "/subscribenewsletter", :to => 'home#subscribenewsletter'
15
- post "/subscribecampaign", :to => 'home#subscribecampaign'
16
- post "/subscribecampaign_with_ops", :to => 'home#subscribecampaign_with_ops'
17
-
18
- end
19
-
9
+ end
data/lib/delayed_send.rb CHANGED
@@ -1,4 +1,4 @@
1
- DelayedSend = Struct.new(:store_code, :email, :message_name, :order_id, :plain_view, :html_view) do
1
+ class DelayedSend < Struct.new(:store_code, :email, :message_name, :order_id, :plain_view, :html_view)
2
2
  def perform
3
3
  return if email.blank?
4
4
  #store_code ||= 'default'
@@ -1,4 +1,5 @@
1
- DelayedSubscriberAdd = Struct.new(:store_code, :user, :list, :ops) do
1
+
2
+ class DelayedSubscriberAdd < Struct.new(:store_code, :user, :list, :ops)
2
3
  def perform
3
4
 
4
5
  if list.nil? || !user
@@ -25,14 +26,13 @@ DelayedSubscriberAdd = Struct.new(:store_code, :user, :list, :ops) do
25
26
  end
26
27
  end
27
28
 
28
- #unless user.is_a? String
29
- # begin
30
- # user.bronto_lists << list
31
- # user.save!
32
- # rescue
33
- # end
34
- #end
35
-
29
+ unless user.is_a? String
30
+ begin
31
+ user.bronto_lists << list
32
+ user.save!
33
+ rescue
34
+ end
35
+ end
36
36
 
37
37
  end
38
38
  end
@@ -1,4 +1,4 @@
1
- DelayedSubscriberDelete = Struct.new(:store_code, :user, :list) do
1
+ class DelayedSubscriberDelete < Struct.new(:store_code, :user, :list)
2
2
  def perform
3
3
  if list.nil? || !user
4
4
  subscriber_id = -1
@@ -19,17 +19,17 @@ DelayedSubscriberDelete = Struct.new(:store_code, :user, :list) do
19
19
  end
20
20
  end
21
21
 
22
- #unless user.is_a? String # update exact_target_lists
23
- # begin
24
- # list_del=user.bronto_lists.select{|l| l.id== list.id}
25
- # if list_del.length>0
26
- # user.bronto_lists.delete(list_del)
27
- # end
28
- # user.save!
29
- # rescue
30
- # #raise exception
31
- # end
32
- #end
22
+ unless user.is_a? String # update exact_target_lists
23
+ begin
24
+ list_del=user.bronto_lists.select{|l| l.id== list.id}
25
+ if list_del.length>0
26
+ user.bronto_lists.delete(list_del)
27
+ end
28
+ user.save!
29
+ rescue
30
+ #raise exception
31
+ end
32
+ end
33
33
 
34
34
  end
35
35
  end
@@ -1,4 +1,4 @@
1
- DelayedSubscriberUpdate = Struct.new(:token, :order_id) do
1
+ class DelayedSubscriberUpdate < Struct.new(:token, :order_id)
2
2
 
3
3
  def perform
4
4
  order = Spree::Order.find(order_id)
@@ -1,4 +1,4 @@
1
- DelayedTrigger = Struct.new(:store_code, :email, :message_name, :attributes, :mail_type) do
1
+ class DelayedTrigger < Struct.new(:store_code, :email, :message_name, :attributes, :mail_type)
2
2
  def perform
3
3
  return if email.blank?
4
4
  begin
@@ -16,12 +16,8 @@ module SpreeBronto
16
16
  Dir.glob(File.join(File.dirname(__FILE__), '../../lib/bronto_integration/bronto_integration.rb')) do |c|
17
17
  Rails.configuration.cache_classes ? require(c) : load(c)
18
18
  end
19
- #Dir.glob(File.join(File.dirname(__FILE__), '../../lib/spree/controller_helpers/list.rb')) do |c|
20
- # Rails.configuration.cache_classes ? require(c) : load(c)
21
- #end
22
- Dir.glob(File.join(File.dirname(__FILE__), '../../lib/delayed_*.rb')) do |c|
23
- require(c)
24
- #Rails.configuration.cache_classes ? require(c) : load(c)
19
+ Dir.glob(File.join(File.dirname(__FILE__), '../../lib/delayed*.rb')) do |c|
20
+ Rails.configuration.cache_classes ? require(c) : load(c)
25
21
  end
26
22
  end
27
23
 
data/spree_bronto.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
  Gem::Specification.new do |s|
3
3
  s.platform = Gem::Platform::RUBY
4
4
  s.name = 'spree_bronto'
5
- s.version = '3-0-stable'
5
+ s.version = '3.0.0'
6
6
  s.summary = 'Integrate Bronto email server and cart recovery into Spree Ecommerce platform'
7
7
  s.description = 'Integrate Bronto email server and cart recovery into Spree Ecommerce platform'
8
8
  s.required_ruby_version = '>= 2.0.0'
@@ -16,8 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.require_path = 'lib'
17
17
  s.requirements << 'none'
18
18
 
19
- version = '~> 3-0-stable'
20
- #s.add_dependency 'spree_core'
19
+ s.add_dependency 'spree_core', '~> 3.0.0'
21
20
 
22
21
  s.add_development_dependency 'capybara', '~> 2.4'
23
22
  s.add_development_dependency 'coffee-rails'
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_bronto
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.pre.0.pre.stable
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Albert Liu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-21 00:00:00.000000000 Z
11
+ date: 2015-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: spree_core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: capybara
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -170,9 +184,6 @@ files:
170
184
  - app/assets/stylesheets/spree/frontend/spree_bronto.css
171
185
  - app/controllers/spree/admin/bronto_lists_controller.rb
172
186
  - app/controllers/spree/checkout_controller_decorator.rb
173
- - app/controllers/spree/home_controller_decorator.rb
174
- - app/controllers/spree/lists.rb
175
- - app/controllers/spree/orders_controller_decorator.rb
176
187
  - app/controllers/spree/users_controller_decorator.rb
177
188
  - app/mailers/spree/order_mailer/_order_cancel_html.html.erb
178
189
  - app/mailers/spree/order_mailer/_order_cancel_plain.erb
@@ -182,13 +193,10 @@ files:
182
193
  - app/mailers/spree/order_mailer/_order_details_plain.erb
183
194
  - app/mailers/spree/order_mailer/_order_shipped_html.html.erb
184
195
  - app/mailers/spree/order_mailer/_order_shipped_plain.erb
185
- - app/mailers/spree/user_mailer/_password_reset_instructions.html.erb
186
- - app/mailers/spree/user_mailer_decorator.rb
187
196
  - app/models/spree/bronto_configuration.rb
188
197
  - app/models/spree/bronto_list.rb
189
198
  - app/models/spree/order_decorator.rb
190
199
  - app/models/spree/shipment_decorator.rb
191
- - app/models/spree/shipment_handler_decorator.rb
192
200
  - app/models/spree/store_decorator.rb
193
201
  - app/models/spree/user_decorator.rb
194
202
  - app/overrides/decorate_account_my_orders.rb
@@ -219,7 +227,6 @@ files:
219
227
  - lib/bronto_integration/bronto_integration/contact.rb
220
228
  - lib/bronto_integration/bronto_integration/order.rb
221
229
  - lib/delayed_send.rb
222
- - lib/delayed_simple_send.rb
223
230
  - lib/delayed_subscriber_add.rb
224
231
  - lib/delayed_subscriber_delete.rb
225
232
  - lib/delayed_subscriber_update.rb
@@ -244,9 +251,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
244
251
  version: 2.0.0
245
252
  required_rubygems_version: !ruby/object:Gem::Requirement
246
253
  requirements:
247
- - - ">"
254
+ - - ">="
248
255
  - !ruby/object:Gem::Version
249
- version: 1.3.1
256
+ version: '0'
250
257
  requirements:
251
258
  - none
252
259
  rubyforge_project:
@@ -1,120 +0,0 @@
1
- Spree::HomeController.class_eval do
2
-
3
- def subscribenewsletter
4
- name=params[:name] || ''
5
- email=params[:email]
6
- receipt=params[:receipt] || ''
7
- subject=params[:subject] || 'Customer Record'
8
- if receipt.length>0
9
- external_key = Spree::BrontoConfiguration.account[current_store.code]["ET_simple_send"]
10
- params.delete('action')
11
- params.delete('receipt')
12
- params.delete('authenticity_token')
13
- params.delete('controller')
14
- params.delete('subject')
15
- params.delete('cc_receipt')
16
- the_content=''
17
- ks=[]
18
- vs=[]
19
- params.each do |k,v|
20
- ks << k
21
- vs << v
22
- end
23
- the_content = ks.join(',') + '<br/>' + vs.join(',')
24
- et_a={:SENDTIME__CONTENT2 => the_content, :SENDTIME__CONTENT1 => subject}
25
- #et_a={:SENDTIME__CONTENT2 => 'Name: ' + name +'<br/>Email: ' + email + '<br/>Address: ' + params[:address] + '<br/>City: ' + params[:city] + '<br/>State: ' + params[:state] +'<br/>Zip: ' + params[:zip] +'<br/>Phone: ' + params[:phone] +'<br/>Credentials: ' + params[:credentials]}
26
- Delayed::Job.enqueue DelayedSimpleSend.new(current_store.code, receipt, external_key, et_a,'html')
27
- cc_receipt= params[:cc_receipt] || ''
28
- if cc_receipt.length>0
29
- Delayed::Job.enqueue DelayedSimpleSend.new(current_store.code, cc_receipt, external_key, et_a,'html')
30
- end
31
- end
32
- if email.length>0
33
- if current_store.code == 'pwb'
34
- title='Pets & Products Newsletter'
35
- elsif current_store.code == 'he'
36
- title='HairEssentials Products Newsletter'
37
- else
38
- title='Natural Products Newsletter'
39
- end
40
- campaign= Spree::BrontoList.find_by_title(title)
41
- if !!campaign
42
- Delayed::Job.enqueue DelayedSubscriberAdd.new(current_store.code, email, campaign, {:First_Name => name})
43
- end
44
- render :json => ({
45
- :success => true,
46
- :message => t( :subscription_sent )
47
- }).to_json
48
- else
49
- render :json => ({
50
- :success => false,
51
- :message => t( :subscription_notsent )
52
- }).to_json
53
- end
54
- #redirect_to "/meetexperts"
55
- #render :js =>'alert("Our server temperarily busy, please try again later.")'
56
-
57
- end
58
-
59
- # sign up compaign flexible form, like the one for newsletter.
60
- def subscribecampaign
61
- name=params[:name] || ''
62
- email=params[:email]
63
- campaign_id=params[:campaign_id] || ''
64
- if email.length>0
65
- campaign=Spree::BrontoList.find_by_list_id(campaign_id)
66
- if !!campaign
67
- options=cookies[:campaign_options] || '{}'
68
- options=Hash[JSON.parse(options).map{|(k,v)| [k.to_sym,v]}]
69
- Rails.logger.info "find campaign_options cookie: #{cookies.inspect}"
70
- Delayed::Job.enqueue DelayedSubscriberAdd.new(current_store.code, email, campaign, {:First_Name => name})
71
- end
72
-
73
- drop_email_key=params[:drop_email_key] || ''
74
- unless drop_email_key.blank?
75
- Delayed::Job.enqueue DelayedSimpleSend.new(current_store.code, email, drop_email_key, {},'html')
76
- end
77
- render :json => ({
78
- :success => true,
79
- :message => t( :subscription_sent )
80
- }).to_json
81
- else
82
- render :json => ({
83
- :success => false,
84
- :message => t( :subscription_notsent )
85
- }).to_json
86
- end
87
-
88
- end
89
-
90
-
91
- # sign up compaign flexible form, like the one for newsletter.
92
- def subscribecampaign_with_ops
93
- email=params[:email]
94
- campaign_id=params[:campaign_id] || ''
95
- ops=params[:ops]
96
- if email.length>0
97
- campaign=Spree::BrontoList.find_by_list_id(campaign_id)
98
- if !!campaign
99
- Delayed::Job.enqueue DelayedSubscriberAdd.new(current_store.code, email, campaign,ops)
100
- end
101
-
102
- drop_email_key=params[:drop_email_key] || ''
103
- unless drop_email_key.blank?
104
- Delayed::Job.enqueue DelayedSimpleSend.new(current_store.code, email, drop_email_key, {},'html')
105
- end
106
-
107
- render :json => ({
108
- :success => true,
109
- :message => t( :subscription_sent )
110
- }).to_json
111
- else
112
- render :json => ({
113
- :success => false,
114
- :message => t( :subscription_notsent )
115
- }).to_json
116
- end
117
-
118
- end
119
-
120
- end
@@ -1,152 +0,0 @@
1
- module Spree
2
- module Lists
3
- extend ActiveSupport::Concern
4
-
5
- def autosubscribe_list(store)
6
- Spree::BrontoList.where(:store_id =>store.id,:subscribe_all_new_users =>true)
7
- end
8
-
9
- def create_subscriber(user)
10
- if user.is_a? String
11
- order = Spree::Order.find_by_email(user, :order => "updated_at desc")
12
- store= current_order.store
13
- list = autosubscribe_list(store) if checkout
14
- else
15
- store=current_store
16
- list = autosubscribe_list(store)
17
- end
18
-
19
- subscribe_to_list(user, list) unless !list
20
-
21
- # synchronize the subscription list from bronto this customer subscribed before registration
22
- unless user.is_a? String
23
- begin
24
- user.reload
25
- bronto=Bronto.new(Spree::BrontoConfiguration.account[store.code]['bronto_token'])
26
- contact=bronto.read_contacts(user.email,true)
27
- list_ids=contact[:list_ids]
28
- if list_ids
29
- unless list_ids.class == Array
30
- list_ids=[list_ids]
31
- end
32
- list_ids.each do |l|
33
- list=Spree::BrontoList.find_by_list_id(l)
34
- if !!list && (!user.bronto_lists.map(&:list_id).include? l )
35
- user.exact_target_subscriber_id = contact[:id] #seems we do not need this
36
- user.bronto_lists << list
37
- user.save!
38
- end
39
- end
40
- end
41
-
42
- rescue
43
- # do nothing here at this moment
44
- end
45
- end
46
-
47
- end
48
-
49
- def subscribe_to_list(user, list)
50
-
51
- order=current_order
52
-
53
- pwb_cat=''
54
- pwbCat = lambda{|order|
55
- iscat=false
56
- order.line_items.each do |item|
57
- if item.variant.product.taxons.map{|t| t.id}.include?(3002)
58
- iscat=true
59
- end
60
- end
61
- if iscat
62
- 'cat'
63
- else
64
- 'dog'
65
- end
66
- }
67
- if order
68
- #logger.debug 'call subscribe_to_list there is a order'
69
- store=order.store
70
- store_code=store.code
71
- pwb_cat= (store_code=="pwb" ? pwbCat.call(order) : '')
72
- else
73
- store_code=current_store.code
74
- pwb_cat=''
75
- end
76
- #logger.debug '-- found the pwb_cat: ' + pwb_cat
77
- Delayed::Job.enqueue( DelayedSubscriberAdd.new(store_code, user, list, {:C_or_D => pwb_cat}), -20 )
78
-
79
- unless user.is_a? String
80
- user.bronto_lists << list
81
- user.save!
82
- end
83
-
84
- end
85
-
86
- def unsubscribe_from_list(user, list)
87
-
88
- store = current_store
89
- Delayed::Job.enqueue( DelayedSubscriberDelete.new(store.code, user, list), -20 )
90
-
91
- unless user.is_a? String # update exact_target_lists
92
- begin
93
- list_del=user.bronto_lists.select{|l| l.id== list.id}
94
- if list_del.length>0
95
- user.bronto_lists.delete(list_del)
96
- end
97
- user.save!
98
- rescue
99
- #raise exception
100
- end
101
- end
102
-
103
- end
104
-
105
- #private
106
- #CONTROLLER Actions
107
- def get_bronto_lists
108
- @bronto_lists = Spree::BrontoList.where(:visible => true)
109
- end
110
-
111
- def update_bronto_lists
112
- return unless params.key? :bronto_list
113
-
114
- unless @checkout.nil?
115
- session[ :bronto_list ] = []
116
- end
117
-
118
- @user = @checkout.order.user if @user.nil? && !@checkout.nil?
119
-
120
- params[:bronto_list].each do |id, do_subscribe|
121
- do_subscribe = (do_subscribe == "true")
122
- list = Spree::BrontoList.find(id)
123
- if !@checkout.nil? && do_subscribe
124
- session[ :bronto_list ] << id
125
- end
126
-
127
- if @user.nil? && !@checkout.nil? #guest checkout
128
- if do_subscribe
129
- #subscribe
130
- subscribe_to_list(@checkout.email, list)
131
- else
132
- #unsubscribe
133
- unsubscribe_from_list(@checkout.email, list)
134
- end
135
- else #normal checkout
136
- if do_subscribe
137
- #subscribe
138
- unless @user.bronto_lists.include? list
139
- subscribe_to_list(@user, list)
140
- end
141
- else
142
- #unsubscribe
143
- if @user.bronto_lists.include? list
144
- unsubscribe_from_list(@user, list)
145
- end
146
- end
147
- end
148
- end
149
-
150
- end
151
- end
152
- end
@@ -1,56 +0,0 @@
1
- Spree::OrdersController.class_eval do
2
- include Spree::Lists
3
-
4
- def subscribe
5
- @order = Spree::Order.find_by_number!(params[:id])
6
- list = Spree::BrontoList.find( params[ :list ] )
7
- unless list.nil?
8
- unless @order.user.nil?
9
- dest = @order.user
10
- else
11
- dest = @order.email
12
- end
13
- unless dest.nil?
14
- subscribe_to_list(dest, list)
15
- respond_to do |format|
16
- format.html {
17
- flash[:notice] = Spree.t( :subscription_sent ) unless session[ :return_to ]
18
- redirect_to checkout_state_path(@order.state)
19
- }
20
- format.js {
21
- render :json => ({
22
- :success => true,
23
- :message => Spree.t( :subscription_sent )
24
- }).to_json
25
- }
26
- end
27
- else
28
- respond_to do |format|
29
- format.html {
30
- flash[:error] = Spree.t( :subscription_notsent ) unless session[ :return_to ]
31
- redirect_to checkout_state_path(@order.state)
32
- }
33
- format.js {
34
- render :json => ({
35
- :success => false,
36
- :message => Spree.t( :subscription_notsent )
37
- }).to_json
38
- }
39
- end
40
- end
41
- else
42
- respond_to do |format|
43
- format.html {
44
- flash[:error] = Spree.t( :no_such_list ) unless session[ :return_to ]
45
- redirect_to checkout_state_path(@order.state)
46
- }
47
- format.js {
48
- render :json => ({
49
- :success => false,
50
- :message => Spree.t( :no_such_list )
51
- }).to_json
52
- }
53
- end
54
- end
55
- end
56
- end
@@ -1,9 +0,0 @@
1
- <%
2
- Rails.logger.error( "#{"\n" * 40}#{"@" * 80}" )
3
- Rails.logger.error( @key )
4
- Rails.logger.error( "#{"@" * 80}#{"\n" * 40}" )
5
- user_order=@user.orders.select{|o| o.state!='in_progress'}.last
6
- -%>
7
- external_key: <%= Spree::BrontoConfiguration.account[current_store.code]['ET_password_reset']%>
8
- firstname: <%= user_order.ship_address.firstname unless !user_order %>
9
- SENDTIME__CONTENT1: <%= @user.perishable_token %>
@@ -1,13 +0,0 @@
1
- Spree::UserMailer.class_eval do
2
- def reset_password_instructions(user, token, *args)
3
- # we do not user this any more
4
- end
5
-
6
-
7
- def confirmation_instructions(user, token, opts={})
8
- @confirmation_url = spree.spree_user_confirmation_url(:confirmation_token => token, :host => Spree::Store.current.url)
9
-
10
- mail to: user.email, from: from_address, subject: Spree::Store.current.name + ' ' + I18n.t(:subject, :scope => [:devise, :mailer, :confirmation_instructions])
11
- end
12
-
13
- end
@@ -1,17 +0,0 @@
1
- Spree::ShipmentHandler.class_eval do
2
-
3
- private
4
- def send_shipped_email
5
- #ShipmentMailer.shipped_email(id).deliver_later
6
- order=@shipment.order
7
- external_key = Spree::BrontoConfiguration.account[order.store.code]["order_shipped"]
8
-
9
- DelayedSend.new( order.store.code,
10
- order.email,
11
- external_key,
12
- order.id.to_s,
13
- "order_mailer/order_shipped_plain",
14
- "order_mailer/order_shipped_html").perform
15
- end
16
-
17
- end
@@ -1,17 +0,0 @@
1
- DelayedSimpleSend = Struct.new(:store_code, :email, :message_name, :attributes, :mail_type) do
2
- def perform
3
- return if email.blank?
4
- begin
5
- token= Spree::BrontoConfiguration.account[store_code]['token']
6
- from_email= order.store.mail_from_address
7
- from_name= Spree::BrontoConfiguration.account[store_code]['from_name']
8
- reply_email= order.store.mail_from_address
9
-
10
- email_options={:fromEmail =>from_email,:fromName => from_name, :replyEmail => reply_email}
11
- communication = BrontoIntegration::Communication.new(token)
12
- communication.trigger_delivery_by_id(message_name,email,'triggered',mail_type||'html',attributes||{},email_options)
13
- rescue => exception
14
- #raise exception # as now only campaign use this and their templates may not be approved. let it go.
15
- end
16
- end
17
- end