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

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
  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