caboose-store 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. checksums.yaml +8 -8
  2. data/app/assets/javascripts/caboose/main.js +8 -0
  3. data/app/assets/javascripts/caboose_store/admin.js +0 -19
  4. data/app/assets/javascripts/caboose_store/admin_products.js +3 -4
  5. data/app/assets/javascripts/caboose_store/application.js +6 -5
  6. data/app/assets/javascripts/caboose_store/cart.js.bak +258 -0
  7. data/app/assets/javascripts/caboose_store/checkout.js +151 -0
  8. data/app/assets/javascripts/caboose_store/config.js +83 -0
  9. data/app/assets/javascripts/caboose_store/jquery-ui-multisortable.js +254 -0
  10. data/app/assets/javascripts/caboose_store/jquery-ui.js +3572 -0
  11. data/app/assets/javascripts/caboose_store/main.js +20 -0
  12. data/app/assets/javascripts/caboose_store/modules/cart.js +167 -0
  13. data/app/assets/javascripts/caboose_store/modules/checkout.js +313 -0
  14. data/app/assets/javascripts/caboose_store/modules/product.js +282 -0
  15. data/app/assets/stylesheets/caboose_store/admin.css +3 -3
  16. data/app/assets/stylesheets/caboose_store/application.css +2 -2
  17. data/app/assets/stylesheets/caboose_store/modal.css +1 -0
  18. data/app/assets/templates/caboose_store/cart/add_to_cart.jst.ejs +7 -0
  19. data/app/assets/templates/caboose_store/cart/line_items.jst.ejs +41 -0
  20. data/app/assets/templates/caboose_store/checkout/address.jst.ejs +53 -0
  21. data/app/assets/templates/caboose_store/checkout/forms/guest.jst.ejs +8 -0
  22. data/app/assets/templates/caboose_store/checkout/forms/register.jst.ejs +11 -0
  23. data/app/assets/templates/caboose_store/checkout/forms/signin.jst.ejs +7 -0
  24. data/app/assets/templates/caboose_store/checkout/line_items.jst.ejs +32 -0
  25. data/app/assets/templates/caboose_store/checkout/login.jst.ejs +21 -0
  26. data/app/assets/templates/caboose_store/checkout/payment.jst.ejs +5 -0
  27. data/app/assets/templates/caboose_store/checkout/shipping.jst.ejs +18 -0
  28. data/app/assets/templates/caboose_store/product/images.jst.ejs +8 -0
  29. data/app/assets/templates/caboose_store/product/options.jst.ejs +19 -0
  30. data/app/controllers/caboose_store/application_controller.rb +1 -11
  31. data/app/controllers/caboose_store/cart_controller.rb +36 -44
  32. data/app/controllers/caboose_store/cart_controller.rb.bak +169 -0
  33. data/app/controllers/caboose_store/categories_controller.rb +72 -92
  34. data/app/controllers/caboose_store/checkout_controller.rb +231 -151
  35. data/app/controllers/caboose_store/orders_controller.rb +235 -95
  36. data/app/controllers/caboose_store/product_images_controller.rb +1 -1
  37. data/app/controllers/caboose_store/products_controller.rb +275 -84
  38. data/app/controllers/caboose_store/reviews_controller.rb +1 -1
  39. data/app/controllers/caboose_store/variants_controller.rb +86 -20
  40. data/app/controllers/caboose_store/vendors_controller.rb +73 -0
  41. data/app/helpers/caboose_store/application_helper.rb +3 -41
  42. data/app/helpers/caboose_store/cart_helper.rb +0 -24
  43. data/app/helpers/caboose_store/categories_helper.rb +69 -25
  44. data/app/helpers/caboose_store/checkout_helper.rb +31 -0
  45. data/app/helpers/caboose_store/products_helper.rb +4 -80
  46. data/app/mailers/caboose_store/orders_mailer.rb +6 -13
  47. data/app/models/caboose_store/address.rb +5 -9
  48. data/app/models/caboose_store/caboose_store_plugin.rb +18 -7
  49. data/app/models/caboose_store/category.rb +66 -41
  50. data/app/models/caboose_store/category_membership.rb +1 -2
  51. data/app/models/caboose_store/customization_membership.rb +10 -0
  52. data/app/models/caboose_store/discount.rb +4 -2
  53. data/app/models/caboose_store/line_item.rb +77 -0
  54. data/app/models/caboose_store/message.rb +3 -5
  55. data/app/models/caboose_store/order.rb +153 -63
  56. data/app/models/caboose_store/order_discount.rb +1 -2
  57. data/app/models/caboose_store/order_pdf.rb +2 -4
  58. data/app/models/caboose_store/payment_processors/authorizenet.rb +20 -2
  59. data/app/models/caboose_store/payment_processors/base.rb +0 -2
  60. data/app/models/caboose_store/payment_processors/payscape.rb +91 -1
  61. data/app/models/caboose_store/product.rb +86 -30
  62. data/app/models/caboose_store/product_image.rb +50 -15
  63. data/app/models/caboose_store/product_image_variant.rb +3 -3
  64. data/app/models/caboose_store/review.rb +8 -8
  65. data/app/models/caboose_store/schema.rb +174 -119
  66. data/app/models/caboose_store/search_filter.rb +110 -115
  67. data/app/models/caboose_store/shipping_calculator.rb +51 -49
  68. data/app/models/caboose_store/tax_calculator.rb +2 -6
  69. data/app/models/caboose_store/tax_line.rb +1 -4
  70. data/app/models/caboose_store/variant.rb +77 -21
  71. data/app/models/caboose_store/vendor.rb +17 -2
  72. data/app/views/caboose_store/cart/index.html.erb +3 -18
  73. data/app/views/caboose_store/categories/admin_edit.html.erb +64 -67
  74. data/app/views/caboose_store/categories/admin_index.html.erb +7 -9
  75. data/app/views/caboose_store/categories/admin_new.html.erb +56 -39
  76. data/app/views/caboose_store/checkout/_address_form.html.erb +111 -0
  77. data/app/views/caboose_store/checkout/_billing_form.html.erb +47 -0
  78. data/app/views/caboose_store/checkout/_cart.html.erb +52 -0
  79. data/app/views/caboose_store/checkout/_order_discount.html.erb +40 -0
  80. data/app/views/caboose_store/checkout/_shipping_address.html.erb +10 -0
  81. data/app/views/caboose_store/checkout/_shipping_method.html.erb +2 -0
  82. data/app/views/caboose_store/checkout/_shipping_method_form.html.erb +21 -0
  83. data/app/views/caboose_store/checkout/billing.html.erb +4 -161
  84. data/app/views/caboose_store/checkout/discount.html.erb +5 -160
  85. data/app/views/caboose_store/checkout/empty.html.erb +2 -0
  86. data/app/views/caboose_store/checkout/error.html.erb +2 -0
  87. data/app/views/caboose_store/checkout/index.html.erb +30 -100
  88. data/app/views/caboose_store/checkout/login.html.erb +2 -0
  89. data/app/views/caboose_store/checkout/payment.html.erb +79 -0
  90. data/app/views/caboose_store/checkout/relay.html.erb +12 -0
  91. data/app/views/caboose_store/checkout/relay_postMessage.html.erb +19 -0
  92. data/app/views/caboose_store/checkout/shipping.html.erb +8 -83
  93. data/app/views/caboose_store/checkout/step_one.html.erb +15 -0
  94. data/app/views/caboose_store/checkout/step_two.html.erb +15 -0
  95. data/app/views/caboose_store/checkout/thanks.html.erb +5 -0
  96. data/app/views/caboose_store/layouts/_footer.html.erb +1 -1
  97. data/app/views/caboose_store/orders/admin_edit.html.erb +101 -7
  98. data/app/views/caboose_store/orders/admin_index.html.erb +8 -8
  99. data/app/views/caboose_store/orders_mailer/customer_new_order.html.erb +0 -46
  100. data/app/views/caboose_store/orders_mailer/customer_status_updated.html.erb +0 -48
  101. data/app/views/caboose_store/orders_mailer/fulfillment_new_order.html.erb +0 -42
  102. data/app/views/caboose_store/orders_mailer/shipping_order_ready.html.erb +0 -45
  103. data/app/views/caboose_store/products/_admin_header.html.erb +7 -6
  104. data/app/views/caboose_store/products/_sort_options.html.erb +19 -0
  105. data/app/views/caboose_store/products/admin_add_upcs.html.erb +58 -0
  106. data/app/views/caboose_store/products/admin_edit_categories.html.erb +1 -1
  107. data/app/views/caboose_store/products/admin_edit_description.html.erb +2 -5
  108. data/app/views/caboose_store/products/admin_edit_general.html.erb +58 -1
  109. data/app/views/caboose_store/products/admin_edit_images.html.erb +3 -1
  110. data/app/views/caboose_store/products/admin_edit_variants.html.erb +13 -2
  111. data/app/views/caboose_store/products/admin_edit_variants_single.html.erb +14 -14
  112. data/app/views/caboose_store/products/admin_group_variants.html.erb +433 -0
  113. data/app/views/caboose_store/products/admin_index.html.erb +87 -39
  114. data/app/views/caboose_store/products/admin_sort.html copy.erb +155 -0
  115. data/app/views/caboose_store/products/admin_sort.html.erb +254 -0
  116. data/app/views/caboose_store/products/details.html.erb +1 -2
  117. data/app/views/caboose_store/variants/admin_edit.html.erb +18 -16
  118. data/app/views/caboose_store/variants/admin_group.html.erb +184 -0
  119. data/app/views/caboose_store/vendors/admin_edit.html.erb +24 -0
  120. data/app/views/caboose_store/vendors/admin_index.html.erb +30 -0
  121. data/app/views/caboose_store/vendors/admin_new.html.erb +34 -0
  122. data/config/routes.rb +65 -27
  123. data/lib/caboose-store/caboose_store_helper.rb +29 -30
  124. data/lib/caboose-store/engine.rb +73 -28
  125. data/lib/caboose-store/version.rb +1 -1
  126. data/lib/caboose-store.rb +16 -7
  127. data/lib/tasks/caboose-store.rake +0 -2
  128. metadata +54 -17
  129. data/app/assets/javascripts/caboose_store/modal.js +0 -52
  130. data/app/assets/javascripts/caboose_store/modal_integration.js +0 -25
  131. data/app/assets/javascripts/caboose_store/model.form.page.js +0 -30
  132. data/app/assets/javascripts/caboose_store/model.form.user.js +0 -36
  133. data/app/assets/javascripts/caboose_store/payment_processors/authorizenet.js +0 -21
  134. data/app/assets/javascripts/caboose_store/payment_processors/base.js +0 -21
  135. data/app/assets/javascripts/caboose_store/payment_processors/payscape.js +0 -21
  136. data/app/assets/javascripts/caboose_store/shortcut.js +0 -11
  137. data/app/assets/javascripts/caboose_store/station.js +0 -60
  138. data/app/models/caboose_store/order_line_item.rb +0 -13
  139. data/app/models/caboose_store/states.rb +0 -60
  140. data/app/views/caboose_store/application/_category_thumb.html.erb +0 -6
  141. data/app/views/caboose_store/application/_product_thumb.html.erb +0 -13
  142. data/app/views/caboose_store/checkout/quantity_box.html.erb +0 -39
  143. data/app/views/caboose_store/checkout/thank_you.html.erb +0 -36
@@ -1,43 +1,160 @@
1
1
  module CabooseStore
2
- class OrdersController < ApplicationController
3
-
4
- helper :authorize_net
5
- protect_from_forgery :except => :authnet_relay_response
2
+ class OrdersController < CabooseStore::ApplicationController
6
3
 
7
4
  # GET /admin/orders
8
5
  def admin_index
9
6
  return if !user_is_allowed('orders', 'view')
10
-
11
- @gen = Caboose::PageBarGenerator.new(params, {
12
- 'customer_id' => '',
13
- 'status' => 'pending',
14
- 'shipping_method_code' => '',
15
- 'id' => ''
16
- },{
17
- 'model' => 'CabooseStore::Order',
18
- 'sort' => 'id',
19
- 'desc' => 1,
20
- 'base_url' => '/admin/orders'
21
- })
22
- @orders = @gen.items
7
+
8
+ @pager = Caboose::PageBarGenerator.new(params, {
9
+ 'customer_id' => '',
10
+ 'status' => 'pending',
11
+ 'shipping_method_code' => '',
12
+ 'id' => ''
13
+ }, {
14
+ 'model' => 'CabooseStore::Order',
15
+ 'sort' => 'id',
16
+ 'desc' => 1,
17
+ 'base_url' => '/admin/orders',
18
+ 'use_url_params' => false
19
+ })
20
+
21
+ @orders = @pager.items
23
22
  @customers = Caboose::User.reorder('last_name, first_name').all
23
+
24
24
  render :layout => 'caboose/admin'
25
25
  end
26
26
 
27
27
  # GET /admin/orders/new
28
28
  def admin_new
29
- return if !user_is_allowed('orders', 'add')
30
- @products = Product.reorder('title').all
29
+ return if !user_is_allowed('orders', 'add')
30
+ @products = Product.by_title
31
31
  render :layout => 'caboose/admin'
32
32
  end
33
33
 
34
34
  # GET /admin/orders/:id
35
35
  def admin_edit
36
- return if !user_is_allowed('orders', 'edit')
36
+ return if !user_is_allowed('orders', 'edit')
37
37
  @order = Order.find(params[:id])
38
38
  render :layout => 'caboose/admin'
39
39
  end
40
40
 
41
+ # GET /admin/orders/:id/void
42
+ def admin_void
43
+ return if !user_is_allowed('orders', 'edit')
44
+
45
+ response = Caboose::StdClass.new({
46
+ 'refresh' => nil,
47
+ 'error' => nil,
48
+ 'success' => nil
49
+ })
50
+
51
+ order = Order.find(params[:id])
52
+
53
+ if order.financial_status == 'captured'
54
+ response.error = "This order has already been captured, you will need to refund instead"
55
+ else
56
+ if PaymentProcessor.void(order)
57
+ order.update_attributes(
58
+ :financial_status => 'voided',
59
+ :status => 'cancelled'
60
+ )
61
+
62
+ # Add the variant quantities ordered back
63
+ #order.cancel
64
+
65
+ response.success = "Order voided successfully"
66
+ else
67
+ response.error = "Error voiding order."
68
+ end
69
+ end
70
+
71
+ render :json => response
72
+ end
73
+
74
+ # GET /admin/orders/:id/refund
75
+ def admin_refund
76
+ return if !user_is_allowed('orders', 'edit')
77
+
78
+ response = Caboose::StdClass.new({
79
+ 'refresh' => nil,
80
+ 'error' => nil,
81
+ 'success' => nil
82
+ })
83
+
84
+ order = Order.find(params[:id])
85
+
86
+ if order.financial_status != 'captured'
87
+ response.error = "This order hasn't been captured yet, you will need to void instead"
88
+ else
89
+ if PaymentProcessor.refund(order)
90
+ order.update_attributes(
91
+ :financial_status => 'refunded',
92
+ :status => 'cancelled'
93
+ )
94
+
95
+ response.success = 'Order refunded successfully'
96
+ else
97
+ response.error = 'Error refunding order'
98
+ end
99
+
100
+ #if order.calculate_net < (order.amount_discounted || 0) || PaymentProcessor.refund(order)
101
+ # order.financial_status = 'refunded'
102
+ # order.status = 'refunded'
103
+ # order.save
104
+ #
105
+ # if order.discounts.any?
106
+ # discount = order.discounts.first
107
+ # amount_to_refund = order.calculate_net < order.amount_discounted ? order.calculate_net : order.amount_discounted
108
+ # discount.update_attribute(:amount_current, amount_to_refund + discount.amount_current)
109
+ # end
110
+ #
111
+ # response.success = "Order refunded successfully"
112
+ #else
113
+ # response.error = "Error refunding order."
114
+ #end
115
+ end
116
+
117
+ render json: response
118
+
119
+ # return if !user_is_allowed('orders', 'edit')
120
+ #
121
+ # response = Caboose::StdClass.new({
122
+ # 'refresh' => nil,
123
+ # 'error' => nil,
124
+ # 'success' => nil
125
+ # })
126
+ #
127
+ # order = Order.find(params[:id])
128
+ #
129
+ # if order.financial_status != 'captured'
130
+ # response.error = "This order hasn't been captured yet, you will need to void instead"
131
+ # else
132
+ # if PaymentProcessor.refund(order)
133
+ # order.financial_status = 'refunded'
134
+ # order.status = 'refunded'
135
+ # order.save
136
+ #
137
+ # # Add the variant quantities ordered back
138
+ # order.cancel
139
+ #
140
+ # response.success = "Order refunded successfully"
141
+ # else
142
+ # response.error = "Error refunding order."
143
+ # end
144
+ # end
145
+ #
146
+ # render :json => response
147
+ end
148
+
149
+ # POST /admin/orders/:id/resend-confirmation
150
+ def admin_resend_confirmation
151
+ if Order.find(params[:id]).resend_confirmation
152
+ render :json => { success: "Confirmation re-sent successfully." }
153
+ else
154
+ render :json => { error: "There was an error re-sending the email." }
155
+ end
156
+ end
157
+
41
158
  # GET /admin/orders/:id/json
42
159
  def admin_json
43
160
  return if !user_is_allowed('orders', 'edit')
@@ -51,7 +168,7 @@ module CabooseStore
51
168
 
52
169
  pdf = OrderPdf.new
53
170
  pdf.order = Order.find(params[:id])
54
- send_data pdf.to_pdf, filename: "order_#{pdf.order.id}.pdf", type: "application/pdf", disposition: "inline"
171
+ send_data pdf.to_pdf, :filename => "order_#{pdf.order.id}.pdf", :type => "application/pdf", :disposition => "inline"
55
172
 
56
173
  #@order = Order.find(params[:id])
57
174
  #render :layout => 'caboose/admin'
@@ -141,7 +258,7 @@ module CabooseStore
141
258
  arr.each do |status|
142
259
  options << {
143
260
  :value => status,
144
- :text => status
261
+ :text => status
145
262
  }
146
263
  end
147
264
  render :json => options
@@ -151,57 +268,111 @@ module CabooseStore
151
268
  def capture_funds
152
269
  return if !user_is_allowed('orders', 'edit')
153
270
 
154
- resp = Caboose::StdClass.new({
271
+ response = Caboose::StdClass.new({
155
272
  'refresh' => nil,
156
- 'error' => nil,
273
+ 'error' => nil,
157
274
  'success' => nil
158
275
  })
159
276
 
160
277
  order = Order.find(params[:id])
278
+
161
279
  if order.financial_status == 'captured'
162
280
  resp.error = "Funds for this order have already been captured."
163
281
  elsif order.total > order.auth_amount
164
282
  resp.error = "The order total exceeds the authorized amount."
165
- else
166
- trans = AuthorizeNet::AIM::Transaction.new(
167
- AUTHORIZE_NET_CONFIG['api_login_id'],
168
- AUTHORIZE_NET_CONFIG['api_transaction_key'],
169
- :gateway => :production
170
- #:test => true
171
- )
172
- amount = order.total < order.auth_amount ? order.total : nil
173
- r = trans.prior_auth_capture(order.transaction_id, amount)
174
- Caboose.log(r.inspect)
175
- if r.success?
176
- order.financial_status = 'captured'
177
- order.save
178
- resp.success = "Captured funds successfully."
179
- else
180
- if r.connection_failure?
181
- resp.error = "Error connecting to authorize.net."
182
- else
183
- resp.error = "Error capture funds."
184
- end
283
+ else
284
+ if PaymentProcessor.capture(order)
285
+ order.update_attribute(:financial_status, 'captured')
286
+ response.success = 'Captured funds successfully'
287
+ else
288
+ response.error = 'Error capturing funds'
185
289
  end
290
+
291
+ #if (order.discounts.any? && order.total < order.discounts.first.amount_current) || PaymentProcessor.capture(order)
292
+ # order.financial_status = 'captured'
293
+ # order.save
294
+ #
295
+ # if order.discounts.any?
296
+ # order.update_attribute(:amount_discounted, order.discounts.first.amount_current)
297
+ # order.update_gift_cards
298
+ # end
299
+ #
300
+ # response.success = "Captured funds successfully"
301
+ #else
302
+ # response.error = "Error capturing funds."
303
+ #end
186
304
  end
187
- render :json => resp
188
- end
189
-
190
- # GET /admin/orders/:id/send-to-quickbooks
191
- def admin_send_to_quickbooks
192
- return if !user_is_allowed('orders', 'edit')
193
305
 
194
- resp = Caboose::StdClass.new({
195
- 'refresh' => nil,
196
- 'success' => nil,
197
- 'error' => nil
198
- })
199
- order = Order.find(params[:id])
200
- Quickbooks.create_order(order)
201
- resp.success = "Order sent to quickbooks successfully."
202
- render :json => resp
306
+ render :json => response
203
307
  end
204
-
308
+
309
+ # GET /admin/orders/:id/void
310
+ #def void
311
+ # return if !user_is_allowed('orders', 'edit')
312
+ #
313
+ # response = Caboose::StdClass.new({
314
+ # 'refresh' => nil,
315
+ # 'error' => nil,
316
+ # 'success' => nil
317
+ # })
318
+ #
319
+ # order = Order.find(params[:id])
320
+ #
321
+ # if order.financial_status == 'captured'
322
+ # response.error = "This order has already been captured, you will need to refund instead"
323
+ # else
324
+ # if order.total < order.amount_discounted || PaymentProcessor.void(order)
325
+ # order.financial_status = 'cancelled'
326
+ # order.status = 'voided'
327
+ # order.save
328
+ #
329
+ # response.success = "Order voided successfully"
330
+ # else
331
+ # response.error = "Error voiding order."
332
+ # end
333
+ # end
334
+ #
335
+ # render json: response
336
+ #end
337
+
338
+ # GET /admin/orders/:id/refund
339
+ # def refund
340
+ # return if !user_is_allowed('orders', 'edit')
341
+ #
342
+ # response = Caboose::StdClass.new({
343
+ # 'refresh' => nil,
344
+ # 'error' => nil,
345
+ # 'success' => nil
346
+ # })
347
+ #
348
+ # order = Order.find(params[:id])
349
+ #
350
+ # if order.financial_status != 'captured'
351
+ # response.error = "This order hasn't been captured yet, you will need to void instead"
352
+ # else
353
+ # ap order.total
354
+ # ap order.amount_discounted
355
+ #
356
+ # if order.total < order.amount_discounted || PaymentProcessor.refund(order)
357
+ # order.financial_status = 'refunded'
358
+ # order.status = 'refunded'
359
+ # order.save
360
+ #
361
+ # discount = order.discounts.first
362
+ # ap '==========================='
363
+ # ap order.amount_discounted + discount.amount_current
364
+ # ap '==========================='
365
+ # discount.update_attribute(:amount_current, order.amount_discounted + discount.amount_current) if order.discounts.any?
366
+ #
367
+ # response.success = "Order refunded successfully"
368
+ # else
369
+ # response.error = "Error refunding order."
370
+ # end
371
+ # end
372
+ #
373
+ # render json: response
374
+ # end
375
+
205
376
  # GET /admin/orders/status-options
206
377
  def admin_status_options
207
378
  return if !user_is_allowed('categories', 'view')
@@ -216,38 +387,6 @@ module CabooseStore
216
387
  render :json => options
217
388
  end
218
389
 
219
- # GET /admin/orders/authnet-relay-response
220
- # POST /admin/orders/authnet-relay-response
221
- #def authnet_relay_response
222
- # sim_response = AuthorizeNet::SIM::Response.new(params)
223
- # if sim_response.success?(AUTHORIZE_NET_CONFIG['api_login_id'], AUTHORIZE_NET_CONFIG['merchant_hash_value'])
224
- # if (params[:x_response_code].to_i == 1) # Approved
225
- # order = Order.find(params[:x_invoice_num])
226
- # order.date_captured = DateTime.now
227
- # order.financial_status = 'captured'
228
- # order.save
229
- # end
230
- # end
231
- # render :text => sim_response.direct_post_reply('https://tuskwearadmin.herokuapp.com/admin/orders/authnet-receipt', :include => true)
232
- #end
233
-
234
- # GET /admin/orders/authnet-receipt
235
- #def authnet_receipt
236
- # return if !user_is_allowed('orders', 'edit')
237
- #
238
- # resp = Caboose::StdClass.new({
239
- # 'refresh' => nil,
240
- # 'error' => nil
241
- # })
242
- #
243
- # if (params[:x_response_code].to_i == 1) # Approved
244
- # resp.refresh = true
245
- # else
246
- # resp.error = "There was an error capture funds:<br /><br />#{params[:x_response_reason_text]}"
247
- # end
248
- # render :text => "<script type='text/javascript'>parent.capture_funds_response(#{resp.to_json});</script>"
249
- #end
250
-
251
390
  # GET /admin/orders/test-info
252
391
  def admin_mail_test_info
253
392
  TestMailer.test_info.deliver
@@ -284,16 +423,17 @@ module CabooseStore
284
423
  end
285
424
 
286
425
  # Save when we made the last call
287
- setting = Caboose::Setting.exists?(:name => 'google_feed_date_last_submitted') ?
426
+ setting = if Caboose::Setting.exists?(:name => 'google_feed_date_last_submitted')
288
427
  Caboose::Setting.where(:name => 'google_feed_date_last_submitted').first
428
+ else
289
429
  Caboose::Setting.new(:name => 'google_feed_date_last_submitted')
430
+ end
431
+
290
432
  setting.value = d2.strftime("%F %T")
291
433
  setting.save
292
434
 
293
435
  # Print out the lines
294
436
  render :text => tsv.join("\n")
295
-
296
437
  end
297
-
298
438
  end
299
439
  end
@@ -1,5 +1,5 @@
1
1
  module CabooseStore
2
- class ProductImagesController < ApplicationController
2
+ class ProductImagesController < CabooseStore::ApplicationController
3
3
 
4
4
  #=============================================================================
5
5
  # Admin actions