solidus_backend 2.0.3 → 2.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_backend might be problematic. Click here for more details.

Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spree/backend/handlebars_extensions.coffee +14 -6
  3. data/app/assets/javascripts/spree/backend/images/upload.js +203 -0
  4. data/app/assets/javascripts/spree/backend/option_value_picker.js +2 -1
  5. data/app/assets/javascripts/spree/backend/stock_management/index_update_forms.coffee +1 -1
  6. data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +5 -1
  7. data/app/assets/javascripts/spree/backend/taxons.js.coffee +1 -1
  8. data/app/assets/javascripts/spree/backend/templates/index.js +15 -0
  9. data/app/assets/javascripts/spree/backend/templates/products/upload_progress.hbs +12 -0
  10. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs +13 -11
  11. data/app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs +12 -10
  12. data/app/assets/javascripts/spree/backend/templates/promotions/rules/option_values.hbs +7 -5
  13. data/app/assets/javascripts/spree/backend.js +57 -3
  14. data/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss +1 -1
  15. data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +2 -0
  16. data/app/assets/stylesheets/spree/backend/components/_table-filter.scss +3 -1
  17. data/app/assets/stylesheets/spree/backend/components/_tabs.scss +2 -0
  18. data/app/assets/stylesheets/spree/backend/sections/_adjustments.scss +3 -0
  19. data/app/assets/stylesheets/spree/backend/sections/_products.scss +29 -17
  20. data/app/assets/stylesheets/spree/backend/sections/_stock_management.scss +6 -0
  21. data/app/assets/stylesheets/spree/backend/shared/_header.scss +2 -0
  22. data/app/assets/stylesheets/spree/backend/shared/_layout.scss +5 -0
  23. data/app/assets/stylesheets/spree/backend/shared/_utilities.scss +1 -2
  24. data/app/assets/stylesheets/spree/backend/spree_admin.scss +1 -3
  25. data/app/controllers/spree/admin/orders_controller.rb +2 -0
  26. data/app/controllers/spree/admin/payments_controller.rb +1 -1
  27. data/app/controllers/spree/admin/prices_controller.rb +7 -1
  28. data/app/controllers/spree/admin/products_controller.rb +0 -6
  29. data/app/controllers/spree/admin/promotions_controller.rb +0 -2
  30. data/app/controllers/spree/admin/users_controller.rb +3 -0
  31. data/app/helpers/spree/admin/adjustments_helper.rb +1 -1
  32. data/app/helpers/spree/admin/base_helper.rb +0 -35
  33. data/app/helpers/spree/admin/stock_transfers_helper.rb +14 -0
  34. data/app/models/spree/backend_configuration.rb +2 -2
  35. data/app/views/spree/admin/adjustment_reasons/index.html.erb +1 -1
  36. data/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb +14 -16
  37. data/app/views/spree/admin/adjustments/_adjustment.html.erb +4 -1
  38. data/app/views/spree/admin/adjustments/_form.html.erb +24 -20
  39. data/app/views/spree/admin/cancellations/index.html.erb +2 -3
  40. data/app/views/spree/admin/countries/_form.html.erb +4 -4
  41. data/app/views/spree/admin/customer_returns/index.html.erb +1 -1
  42. data/app/views/spree/admin/customer_returns/new.html.erb +5 -7
  43. data/app/views/spree/admin/general_settings/edit.html.erb +55 -46
  44. data/app/views/spree/admin/images/_form.html.erb +13 -11
  45. data/app/views/spree/admin/images/_image_row.html.erb +22 -0
  46. data/app/views/spree/admin/images/create.js.erb +9 -0
  47. data/app/views/spree/admin/images/edit.html.erb +12 -8
  48. data/app/views/spree/admin/images/index.html.erb +57 -49
  49. data/app/views/spree/admin/option_types/_form.html.erb +2 -2
  50. data/app/views/spree/admin/option_types/index.html.erb +1 -1
  51. data/app/views/spree/admin/orders/_add_line_item.html.erb +5 -3
  52. data/app/views/spree/admin/orders/_add_product.html.erb +5 -3
  53. data/app/views/spree/admin/orders/_shipment.html.erb +14 -6
  54. data/app/views/spree/admin/orders/cart.html.erb +1 -1
  55. data/app/views/spree/admin/orders/confirm/_customer_details.html.erb +17 -15
  56. data/app/views/spree/admin/orders/customer_details/_form.html.erb +28 -26
  57. data/app/views/spree/admin/orders/customer_details/show.html.erb +1 -1
  58. data/app/views/spree/admin/orders/edit.html.erb +1 -1
  59. data/app/views/spree/admin/orders/index.html.erb +70 -63
  60. data/app/views/spree/admin/payment_methods/_form.html.erb +54 -48
  61. data/app/views/spree/admin/payment_methods/index.html.erb +7 -5
  62. data/app/views/spree/admin/payments/_form.html.erb +2 -2
  63. data/app/views/spree/admin/payments/index.html.erb +1 -1
  64. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +32 -30
  65. data/app/views/spree/admin/payments/source_forms/_storecredit.html.erb +1 -0
  66. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +1 -1
  67. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +8 -1
  68. data/app/views/spree/admin/prices/_form.html.erb +38 -43
  69. data/app/views/spree/admin/prices/_master_variant_table.html.erb +41 -0
  70. data/app/views/spree/admin/prices/_table.html.erb +35 -33
  71. data/app/views/spree/admin/prices/index.html.erb +37 -35
  72. data/app/views/spree/admin/product_properties/index.html.erb +0 -7
  73. data/app/views/spree/admin/products/_form.html.erb +153 -144
  74. data/app/views/spree/admin/products/edit.html.erb +1 -1
  75. data/app/views/spree/admin/products/index.html.erb +19 -13
  76. data/app/views/spree/admin/products/new.html.erb +5 -38
  77. data/app/views/spree/admin/promotion_categories/_form.html.erb +1 -1
  78. data/app/views/spree/admin/promotion_rules/create.js.erb +6 -0
  79. data/app/views/spree/admin/promotions/_actions.html.erb +1 -1
  80. data/app/views/spree/admin/promotions/_form.html.erb +48 -44
  81. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
  82. data/app/views/spree/admin/promotions/_rules.html.erb +8 -4
  83. data/app/views/spree/admin/promotions/actions/_create_quantity_adjustments.html.erb +9 -5
  84. data/app/views/spree/admin/promotions/actions/_promotion_calculators_with_custom_fields.html.erb +30 -24
  85. data/app/views/spree/admin/promotions/edit.html.erb +2 -2
  86. data/app/views/spree/admin/promotions/index.html.erb +22 -20
  87. data/app/views/spree/admin/promotions/new.html.erb +1 -1
  88. data/app/views/spree/admin/promotions/rules/_first_repeat_purchase_since.html.erb +11 -5
  89. data/app/views/spree/admin/promotions/rules/_item_total.html.erb +18 -8
  90. data/app/views/spree/admin/promotions/rules/_landing_page.html.erb +7 -5
  91. data/app/views/spree/admin/promotions/rules/_nth_order.html.erb +13 -6
  92. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +11 -7
  93. data/app/views/spree/admin/promotions/rules/_product.html.erb +11 -7
  94. data/app/views/spree/admin/promotions/rules/_taxon.html.erb +15 -9
  95. data/app/views/spree/admin/promotions/rules/_user.html.erb +5 -3
  96. data/app/views/spree/admin/promotions/rules/_user_role.html.erb +12 -0
  97. data/app/views/spree/admin/properties/_form.html.erb +2 -2
  98. data/app/views/spree/admin/properties/index.html.erb +7 -5
  99. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
  100. data/app/views/spree/admin/refund_reasons/shared/_form.html.erb +14 -16
  101. data/app/views/spree/admin/refunds/edit.html.erb +2 -2
  102. data/app/views/spree/admin/refunds/new.html.erb +4 -4
  103. data/app/views/spree/admin/shared/_configuration_menu.html.erb +0 -4
  104. data/app/views/spree/admin/shared/_head.html.erb +1 -1
  105. data/app/views/spree/admin/shared/_product_sub_menu.html.erb +0 -3
  106. data/app/views/spree/admin/shared/_rebuild_vat_prices_checkbox.html.erb +1 -1
  107. data/app/views/spree/admin/shared/_settings_sub_menu.html.erb +2 -2
  108. data/app/views/spree/admin/shared/_sidebar.html.erb +1 -1
  109. data/app/views/spree/admin/shared/_variant_search.html.erb +12 -8
  110. data/app/views/spree/admin/shared/named_types/_form.html.erb +1 -1
  111. data/app/views/spree/admin/shared/named_types/_index.html.erb +1 -1
  112. data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
  113. data/app/views/spree/admin/shipping_methods/_form.html.erb +74 -81
  114. data/app/views/spree/admin/shipping_methods/index.html.erb +3 -3
  115. data/app/views/spree/admin/states/_form.html.erb +2 -2
  116. data/app/views/spree/admin/states/index.html.erb +9 -5
  117. data/app/views/spree/admin/stock_locations/_form.html.erb +42 -28
  118. data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +4 -4
  119. data/app/views/spree/admin/stock_locations/index.html.erb +1 -1
  120. data/app/views/spree/admin/stock_movements/_form.html.erb +1 -1
  121. data/app/views/spree/admin/stock_movements/index.html.erb +1 -1
  122. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +1 -1
  123. data/app/views/spree/admin/stock_transfers/_transfer_item_table.html.erb +10 -1
  124. data/app/views/spree/admin/stock_transfers/index.html.erb +29 -27
  125. data/app/views/spree/admin/stock_transfers/show.html.erb +26 -24
  126. data/app/views/spree/admin/store_credits/_form.html.erb +3 -3
  127. data/app/views/spree/admin/store_credits/_update_reason_field.html.erb +1 -1
  128. data/app/views/spree/admin/store_credits/edit_amount.html.erb +1 -1
  129. data/app/views/spree/admin/store_credits/index.html.erb +2 -2
  130. data/app/views/spree/admin/style_guide/topics/forms/_building_forms.html.erb +49 -47
  131. data/app/views/spree/admin/style_guide/topics/messaging/_loading.html.erb +11 -1
  132. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -4
  133. data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
  134. data/app/views/spree/admin/tax_rates/_form.html.erb +28 -28
  135. data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
  136. data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
  137. data/app/views/spree/admin/taxons/_form.html.erb +6 -6
  138. data/app/views/spree/admin/taxons/index.html.erb +2 -2
  139. data/app/views/spree/admin/users/_addresses_form.html.erb +19 -15
  140. data/app/views/spree/admin/users/_form.html.erb +9 -6
  141. data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
  142. data/app/views/spree/admin/users/addresses.html.erb +1 -1
  143. data/app/views/spree/admin/users/edit.html.erb +2 -2
  144. data/app/views/spree/admin/users/items.html.erb +2 -2
  145. data/app/views/spree/admin/users/orders.html.erb +2 -2
  146. data/app/views/spree/admin/variants/_form.html.erb +73 -49
  147. data/app/views/spree/admin/variants/_table_filter.html.erb +12 -8
  148. data/app/views/spree/admin/variants/index.html.erb +2 -2
  149. data/app/views/spree/admin/zones/_country_members.html.erb +1 -1
  150. data/app/views/spree/admin/zones/_form.html.erb +34 -31
  151. data/app/views/spree/admin/zones/_state_members.html.erb +1 -1
  152. data/app/views/spree/admin/zones/index.html.erb +1 -3
  153. data/app/views/spree/layouts/admin.html.erb +4 -4
  154. data/config/routes.rb +0 -11
  155. data/solidus_backend.gemspec +4 -1
  156. data/spec/controllers/spree/admin/payments_controller_spec.rb +2 -3
  157. data/spec/controllers/spree/admin/prices_controller_spec.rb +5 -3
  158. data/spec/features/admin/configuration/general_settings_spec.rb +12 -0
  159. data/spec/features/admin/configuration/payment_methods_spec.rb +3 -2
  160. data/spec/features/admin/configuration/shipping_methods_spec.rb +1 -1
  161. data/spec/features/admin/homepage_spec.rb +0 -3
  162. data/spec/features/admin/orders/adjustments_spec.rb +28 -25
  163. data/spec/features/admin/orders/customer_details_spec.rb +1 -1
  164. data/spec/features/admin/orders/order_details_spec.rb +27 -1
  165. data/spec/features/admin/orders/payments_spec.rb +1 -1
  166. data/spec/features/admin/products/edit/images_spec.rb +28 -1
  167. data/spec/features/admin/products/pricing_spec.rb +17 -2
  168. data/spec/features/admin/products/products_spec.rb +0 -104
  169. data/spec/features/admin/store_credits_spec.rb +3 -3
  170. data/spec/features/admin/users_spec.rb +7 -1
  171. metadata +21 -32
  172. data/app/assets/javascripts/spree/backend/nested-attribute.js +0 -27
  173. data/app/assets/stylesheets/spree/backend/sections/_adjustments_table.scss +0 -8
  174. data/app/assets/stylesheets/spree/backend/sections/_edit_checkouts.scss +0 -72
  175. data/app/assets/stylesheets/spree/backend/sections/_tax_zones.scss +0 -15
  176. data/app/controllers/spree/admin/prototypes_controller.rb +0 -26
  177. data/app/controllers/spree/admin/trackers_controller.rb +0 -6
  178. data/app/views/spree/admin/prototypes/_form.html.erb +0 -36
  179. data/app/views/spree/admin/prototypes/_prototypes.html.erb +0 -25
  180. data/app/views/spree/admin/prototypes/available.js.erb +0 -2
  181. data/app/views/spree/admin/prototypes/edit.html.erb +0 -15
  182. data/app/views/spree/admin/prototypes/index.html.erb +0 -50
  183. data/app/views/spree/admin/prototypes/new.html.erb +0 -9
  184. data/app/views/spree/admin/prototypes/new.js.erb +0 -5
  185. data/app/views/spree/admin/prototypes/select.js.erb +0 -4
  186. data/app/views/spree/admin/prototypes/show.html.erb +0 -42
  187. data/app/views/spree/admin/trackers/_form.html.erb +0 -28
  188. data/app/views/spree/admin/trackers/edit.html.erb +0 -19
  189. data/app/views/spree/admin/trackers/index.html.erb +0 -54
  190. data/app/views/spree/admin/trackers/new.html.erb +0 -18
  191. data/spec/features/admin/configuration/analytics_tracker_spec.rb +0 -50
  192. data/spec/features/admin/products/prototypes_spec.rb +0 -110
@@ -4,6 +4,7 @@ describe "Product Images", type: :feature do
4
4
  stub_authorization!
5
5
 
6
6
  let(:file_path) { Rails.root + "../../spec/support/ror_ringer.jpeg" }
7
+ let(:product) { create(:product) }
7
8
 
8
9
  before do
9
10
  # Ensure attachment style keys are symbolized before running all tests
@@ -23,7 +24,9 @@ describe "Product Images", type: :feature do
23
24
  click_icon(:edit)
24
25
  click_link "Images"
25
26
  click_link "new_image_link"
26
- attach_file('image_attachment', file_path)
27
+ within_fieldset 'New Image' do
28
+ attach_file('image_attachment', file_path)
29
+ end
27
30
  click_button "Update"
28
31
  expect(page).to have_content("successfully created!")
29
32
 
@@ -42,6 +45,30 @@ describe "Product Images", type: :feature do
42
45
  end
43
46
  end
44
47
 
48
+ context 'Via the upload zone', js: true do
49
+ it "uploads an image with ajax and appends it to the images table" do
50
+ visit spree.admin_product_images_path(product)
51
+ expect(page).to have_content("No images found")
52
+
53
+ within_fieldset 'Upload Image' do
54
+ # Can also pass multiple files in the array, but SQLite gives a deadlock on insert
55
+ attach_file('image_attachment', [file_path], visible: false)
56
+ expect(page).to have_css("progress", count: 1)
57
+ expect(page).to have_text("ror_ringer")
58
+ end
59
+
60
+ expect(page).not_to have_content("No images found")
61
+
62
+ within("table.index") do
63
+ expect(page).to have_css("tbody tr", count: 1)
64
+
65
+ within("tbody") do
66
+ expect(page).to have_xpath("//img[contains(@src,'ror_ringer')]")
67
+ end
68
+ end
69
+ end
70
+ end
71
+
45
72
  # Regression test for https://github.com/spree/spree/issues/2228
46
73
  it "should see variant images" do
47
74
  variant = create(:variant)
@@ -30,12 +30,11 @@ describe 'Pricing' do
30
30
  expect(page).to have_content("Prices")
31
31
  end
32
32
 
33
- within('table.prices') do
33
+ within('table.master_prices') do
34
34
  expect(page).to have_content("$19.99")
35
35
  expect(page).to have_content("USD")
36
36
  expect(page).to have_content("34.56 ₽")
37
37
  expect(page).to have_content("RUB")
38
- expect(page).to have_content("Master")
39
38
  expect(page).to have_content("Any Country")
40
39
  expect(page).to have_content("Germany")
41
40
  end
@@ -63,6 +62,22 @@ describe 'Pricing' do
63
62
  end
64
63
  end
65
64
 
65
+ context "editing" do
66
+ let(:variant) { create(:variant, price: 20) }
67
+ let(:product) { variant.product }
68
+
69
+ before do
70
+ product.master.update(price: 49.99)
71
+ end
72
+
73
+ it 'has a working edit page' do
74
+ within "#spree_price_#{product.master.prices.first.id}" do
75
+ click_icon :edit
76
+ end
77
+ expect(page).to have_content("Edit Price")
78
+ end
79
+ end
80
+
66
81
  context "deleting", js: true do
67
82
  let(:product) { create(:product, price: 65.43) }
68
83
  let!(:variant) { product.master }
@@ -109,80 +109,6 @@ describe "Products", type: :feature do
109
109
  end
110
110
  end
111
111
 
112
- context "creating a new product from a prototype" do
113
- def build_option_type_with_values(name, values)
114
- ot = FactoryGirl.create(:option_type, name: name)
115
- values.each do |val|
116
- ot.option_values.create(name: val.downcase, presentation: val)
117
- end
118
- ot
119
- end
120
-
121
- let(:product_attributes) do
122
- # FactoryGirl.attributes_for is un-deprecated!
123
- # https://github.com/thoughtbot/factory_girl/issues/274#issuecomment-3592054
124
- FactoryGirl.attributes_for(:simple_product)
125
- end
126
-
127
- let(:prototype) do
128
- size = build_option_type_with_values("size", %w(Small Medium Large))
129
- FactoryGirl.create(:prototype, name: "Size", option_types: [size])
130
- end
131
-
132
- let(:option_values_hash) do
133
- hash = {}
134
- prototype.option_types.each do |i|
135
- hash[i.id.to_s] = i.option_value_ids
136
- end
137
- hash
138
- end
139
-
140
- before(:each) do
141
- @option_type_prototype = prototype
142
- @property_prototype = create(:prototype, name: "Random")
143
- @shipping_category = create(:shipping_category)
144
- click_nav "Products"
145
- click_link "admin_new_product"
146
- within('#new_product') do
147
- expect(page).to have_content("SKU")
148
- end
149
- end
150
-
151
- it "should allow an admin to create a new product and variants from a prototype", js: true do
152
- fill_in "product_name", with: "Baseball Cap"
153
- fill_in "product_sku", with: "B100"
154
- fill_in "product_price", with: "100"
155
- fill_in "product_available_on", with: "2012/01/24"
156
- select "Size", from: "Prototype"
157
- check "Large"
158
- select @shipping_category.name, from: "product_shipping_category_id"
159
- click_button "Create"
160
- expect(page).to have_content("successfully created!")
161
- expect(Spree::Product.last.variants.length).to eq(1)
162
- end
163
-
164
- it "should not display variants when prototype does not contain option types", js: true do
165
- select "Random", from: "Prototype"
166
-
167
- fill_in "product_name", with: "Baseball Cap"
168
-
169
- expect(page).not_to have_content("Variants")
170
- end
171
-
172
- it "should keep option values selected if validation fails", js: true do
173
- fill_in "product_name", with: "Baseball Cap"
174
- fill_in "product_sku", with: "B100"
175
- fill_in "product_price", with: "100"
176
- select "Size", from: "Prototype"
177
- check "Large"
178
- click_button "Create"
179
- expect(page).to have_content("Shipping category can't be blank")
180
- expect(field_labeled("Size")).to be_checked
181
- expect(field_labeled("Large")).to be_checked
182
- expect(field_labeled("Small")).not_to be_checked
183
- end
184
- end
185
-
186
112
  context "creating a new product" do
187
113
  before(:each) do
188
114
  @shipping_category = create(:shipping_category)
@@ -296,16 +222,6 @@ describe "Products", type: :feature do
296
222
  context 'updating a product', js: true do
297
223
  let(:product) { create(:product) }
298
224
 
299
- let(:prototype) do
300
- size = build_option_type_with_values("size", %w(Small Medium Large))
301
- FactoryGirl.create(:prototype, name: "Size", option_types: [size])
302
- end
303
-
304
- before(:each) do
305
- @option_type_prototype = prototype
306
- @property_prototype = create(:prototype, name: "Random")
307
- end
308
-
309
225
  it 'should parse correctly available_on' do
310
226
  visit spree.admin_product_path(product)
311
227
  fill_in "product_available_on", with: "2012/12/25"
@@ -313,25 +229,6 @@ describe "Products", type: :feature do
313
229
  expect(page).to have_content("successfully updated!")
314
230
  expect(Spree::Product.last.available_on).to eq('Tue, 25 Dec 2012 00:00:00 UTC +00:00')
315
231
  end
316
-
317
- it 'should add option_types when selecting a prototype' do
318
- visit spree.admin_product_path(product)
319
- click_link 'Product Properties'
320
- expect(page).to have_content("Select From Prototype")
321
- click_link "Select From Prototype"
322
-
323
- row = find('#prototypes tr', text: 'Size')
324
- row.click_link 'Select'
325
-
326
- # The following is unfortunate.
327
- # It is tough to distinguish between the different fields, so we assert
328
- # that there are two rows (ensuring one has been added) and then
329
- # inspect the first one.
330
- expect(page).to have_css('#product_properties .product_property', count: 2)
331
- within('#product_properties .product_property:nth-child(1)') do
332
- expect(find('input[type=text]', match: :first).value).to eq('baseball_cap_color')
333
- end
334
- end
335
232
  end
336
233
 
337
234
  context 'deleting a product', js: true do
@@ -371,7 +268,6 @@ describe "Products", type: :feature do
371
268
  expect(page).to have_link('Products')
372
269
  expect(page).not_to have_link('Option Types')
373
270
  expect(page).not_to have_link('Properties')
374
- expect(page).not_to have_link('Prototypes')
375
271
 
376
272
  expect(page).not_to have_link('New Product')
377
273
  expect(page).not_to have_css('a.clone')
@@ -23,7 +23,7 @@ describe "Store credits admin" do
23
23
  click_link "Store Credit"
24
24
  expect(page.current_path).to eq spree.admin_user_store_credits_path(store_credit.user)
25
25
 
26
- store_credit_table = page.find(".twelve.columns > table")
26
+ store_credit_table = page.find("#sc-table")
27
27
  expect(store_credit_table).to have_css('tr', count: 1)
28
28
  expect(store_credit_table).to have_content(Spree::Money.new(store_credit.amount).to_s)
29
29
  expect(store_credit_table).to have_content(Spree::Money.new(store_credit.amount_used).to_s)
@@ -48,7 +48,7 @@ describe "Store credits admin" do
48
48
  click_button "Create"
49
49
 
50
50
  expect(page.current_path).to eq spree.admin_user_store_credits_path(store_credit.user)
51
- store_credit_table = page.find(".twelve.columns > table")
51
+ store_credit_table = page.find("#sc-table")
52
52
  expect(store_credit_table).to have_css('tr', count: 2)
53
53
  expect(Spree::StoreCredit.count).to eq 2
54
54
  end
@@ -67,7 +67,7 @@ describe "Store credits admin" do
67
67
  end
68
68
 
69
69
  it "updates the store credit's amount" do
70
- page.find(".twelve.columns > table td.actions a.fa-edit").click
70
+ page.find("#sc-table td.actions a.fa-edit").click
71
71
  expect(page).to have_content 'Store credit history'
72
72
  click_link "Change amount"
73
73
  expect(page).to have_content 'Editing store credit amount'
@@ -173,7 +173,13 @@ describe 'Users', type: :feature do
173
173
  fill_in 'user_email', with: 'something'
174
174
  click_button 'Update'
175
175
 
176
- expect(page).to have_content("Email is invalid")
176
+ within('#errorExplanation') do
177
+ expect(page).to have_content("Email is invalid")
178
+ end
179
+
180
+ within('.flash.error') do
181
+ expect(page).to have_content("Email is invalid")
182
+ end
177
183
  end
178
184
  end
179
185
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.1.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-12 00:00:00.000000000 Z
11
+ date: 2016-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_api
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.3
19
+ version: 2.1.0.beta1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.3
26
+ version: 2.1.0.beta1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: solidus_core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.0.3
33
+ version: 2.1.0.beta1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.0.3
40
+ version: 2.1.0.beta1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sass-rails
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -180,10 +180,10 @@ files:
180
180
  - app/assets/javascripts/spree/backend/handlebars_extensions.coffee
181
181
  - app/assets/javascripts/spree/backend/images/index.js.coffee
182
182
  - app/assets/javascripts/spree/backend/images/new.js.coffee
183
+ - app/assets/javascripts/spree/backend/images/upload.js
183
184
  - app/assets/javascripts/spree/backend/line_items.js.coffee
184
185
  - app/assets/javascripts/spree/backend/line_items_on_order_edit.js
185
186
  - app/assets/javascripts/spree/backend/navigation.coffee
186
- - app/assets/javascripts/spree/backend/nested-attribute.js
187
187
  - app/assets/javascripts/spree/backend/number_field_updater.coffee
188
188
  - app/assets/javascripts/spree/backend/option_type_autocomplete.js
189
189
  - app/assets/javascripts/spree/backend/option_value_picker.js
@@ -217,8 +217,10 @@ files:
217
217
  - app/assets/javascripts/spree/backend/taxon_autocomplete.js
218
218
  - app/assets/javascripts/spree/backend/taxonomy.js.coffee
219
219
  - app/assets/javascripts/spree/backend/taxons.js.coffee
220
+ - app/assets/javascripts/spree/backend/templates/index.js
220
221
  - app/assets/javascripts/spree/backend/templates/orders/customer_details/autocomplete.hbs
221
222
  - app/assets/javascripts/spree/backend/templates/products/sortable.hbs
223
+ - app/assets/javascripts/spree/backend/templates/products/upload_progress.hbs
222
224
  - app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_flat_rate.hbs
223
225
  - app/assets/javascripts/spree/backend/templates/promotions/calculators/fields/tiered_percent.hbs
224
226
  - app/assets/javascripts/spree/backend/templates/promotions/rules/option_values.hbs
@@ -259,9 +261,8 @@ files:
259
261
  - app/assets/stylesheets/spree/backend/globals/mixins/_line_through.scss
260
262
  - app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss
261
263
  - app/assets/stylesheets/spree/backend/plugins/_select2.scss
262
- - app/assets/stylesheets/spree/backend/sections/_adjustments_table.scss
264
+ - app/assets/stylesheets/spree/backend/sections/_adjustments.scss
263
265
  - app/assets/stylesheets/spree/backend/sections/_bulk_transfer.scss
264
- - app/assets/stylesheets/spree/backend/sections/_edit_checkouts.scss
265
266
  - app/assets/stylesheets/spree/backend/sections/_image_settings.scss
266
267
  - app/assets/stylesheets/spree/backend/sections/_log_entries.scss
267
268
  - app/assets/stylesheets/spree/backend/sections/_orders.scss
@@ -273,7 +274,6 @@ files:
273
274
  - app/assets/stylesheets/spree/backend/sections/_stock_transfers.scss
274
275
  - app/assets/stylesheets/spree/backend/sections/_store_credits.scss
275
276
  - app/assets/stylesheets/spree/backend/sections/_style_guide.scss
276
- - app/assets/stylesheets/spree/backend/sections/_tax_zones.scss
277
277
  - app/assets/stylesheets/spree/backend/sections/_taxonomies.scss
278
278
  - app/assets/stylesheets/spree/backend/sections/_taxons.scss
279
279
  - app/assets/stylesheets/spree/backend/sections/_transfer_items.scss
@@ -313,7 +313,6 @@ files:
313
313
  - app/controllers/spree/admin/promotion_rules_controller.rb
314
314
  - app/controllers/spree/admin/promotions_controller.rb
315
315
  - app/controllers/spree/admin/properties_controller.rb
316
- - app/controllers/spree/admin/prototypes_controller.rb
317
316
  - app/controllers/spree/admin/refund_reasons_controller.rb
318
317
  - app/controllers/spree/admin/refunds_controller.rb
319
318
  - app/controllers/spree/admin/reimbursement_types_controller.rb
@@ -338,7 +337,6 @@ files:
338
337
  - app/controllers/spree/admin/tax_rates_controller.rb
339
338
  - app/controllers/spree/admin/taxonomies_controller.rb
340
339
  - app/controllers/spree/admin/taxons_controller.rb
341
- - app/controllers/spree/admin/trackers_controller.rb
342
340
  - app/controllers/spree/admin/users_controller.rb
343
341
  - app/controllers/spree/admin/variant_property_rule_values_controller.rb
344
342
  - app/controllers/spree/admin/variants_controller.rb
@@ -395,6 +393,8 @@ files:
395
393
  - app/views/spree/admin/dashboards/home.html.erb
396
394
  - app/views/spree/admin/general_settings/edit.html.erb
397
395
  - app/views/spree/admin/images/_form.html.erb
396
+ - app/views/spree/admin/images/_image_row.html.erb
397
+ - app/views/spree/admin/images/create.js.erb
398
398
  - app/views/spree/admin/images/edit.html.erb
399
399
  - app/views/spree/admin/images/index.html.erb
400
400
  - app/views/spree/admin/images/new.html.erb
@@ -442,10 +442,12 @@ files:
442
442
  - app/views/spree/admin/payments/show.html.erb
443
443
  - app/views/spree/admin/payments/source_forms/_check.html.erb
444
444
  - app/views/spree/admin/payments/source_forms/_gateway.html.erb
445
+ - app/views/spree/admin/payments/source_forms/_storecredit.html.erb
445
446
  - app/views/spree/admin/payments/source_views/_check.html.erb
446
447
  - app/views/spree/admin/payments/source_views/_gateway.html.erb
447
448
  - app/views/spree/admin/payments/source_views/_storecredit.html.erb
448
449
  - app/views/spree/admin/prices/_form.html.erb
450
+ - app/views/spree/admin/prices/_master_variant_table.html.erb
449
451
  - app/views/spree/admin/prices/_table.html.erb
450
452
  - app/views/spree/admin/prices/edit.html.erb
451
453
  - app/views/spree/admin/prices/index.html.erb
@@ -496,21 +498,13 @@ files:
496
498
  - app/views/spree/admin/promotions/rules/_taxon.html.erb
497
499
  - app/views/spree/admin/promotions/rules/_user.html.erb
498
500
  - app/views/spree/admin/promotions/rules/_user_logged_in.html.erb
501
+ - app/views/spree/admin/promotions/rules/_user_role.html.erb
499
502
  - app/views/spree/admin/properties/_form.html.erb
500
503
  - app/views/spree/admin/properties/edit.html.erb
501
504
  - app/views/spree/admin/properties/filtered.html.erb
502
505
  - app/views/spree/admin/properties/index.html.erb
503
506
  - app/views/spree/admin/properties/new.html.erb
504
507
  - app/views/spree/admin/properties/new.js.erb
505
- - app/views/spree/admin/prototypes/_form.html.erb
506
- - app/views/spree/admin/prototypes/_prototypes.html.erb
507
- - app/views/spree/admin/prototypes/available.js.erb
508
- - app/views/spree/admin/prototypes/edit.html.erb
509
- - app/views/spree/admin/prototypes/index.html.erb
510
- - app/views/spree/admin/prototypes/new.html.erb
511
- - app/views/spree/admin/prototypes/new.js.erb
512
- - app/views/spree/admin/prototypes/select.js.erb
513
- - app/views/spree/admin/prototypes/show.html.erb
514
508
  - app/views/spree/admin/refund_reasons/edit.html.erb
515
509
  - app/views/spree/admin/refund_reasons/index.html.erb
516
510
  - app/views/spree/admin/refund_reasons/new.html.erb
@@ -653,10 +647,6 @@ files:
653
647
  - app/views/spree/admin/taxons/edit.html.erb
654
648
  - app/views/spree/admin/taxons/index.html.erb
655
649
  - app/views/spree/admin/taxons/search.rabl
656
- - app/views/spree/admin/trackers/_form.html.erb
657
- - app/views/spree/admin/trackers/edit.html.erb
658
- - app/views/spree/admin/trackers/index.html.erb
659
- - app/views/spree/admin/trackers/new.html.erb
660
650
  - app/views/spree/admin/users/_addresses_form.html.erb
661
651
  - app/views/spree/admin/users/_form.html.erb
662
652
  - app/views/spree/admin/users/_sidebar.html.erb
@@ -725,7 +715,6 @@ files:
725
715
  - spec/controllers/spree/admin/store_credits_controller_spec.rb
726
716
  - spec/controllers/spree/admin/users_controller_spec.rb
727
717
  - spec/controllers/spree/admin/variants_controller_spec.rb
728
- - spec/features/admin/configuration/analytics_tracker_spec.rb
729
718
  - spec/features/admin/configuration/countries_spec.rb
730
719
  - spec/features/admin/configuration/general_settings_spec.rb
731
720
  - spec/features/admin/configuration/payment_methods_spec.rb
@@ -761,7 +750,6 @@ files:
761
750
  - spec/features/admin/products/pricing_spec.rb
762
751
  - spec/features/admin/products/products_spec.rb
763
752
  - spec/features/admin/products/properties_spec.rb
764
- - spec/features/admin/products/prototypes_spec.rb
765
753
  - spec/features/admin/products/stock_management_spec.rb
766
754
  - spec/features/admin/products/variant_spec.rb
767
755
  - spec/features/admin/promotion_adjustments_spec.rb
@@ -887,7 +875,8 @@ files:
887
875
  - vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-hide.scss
888
876
  - vendor/assets/stylesheets/solidus_admin/bootstrap/mixins/_text-truncate.scss
889
877
  homepage: http://solidus.io
890
- licenses: []
878
+ licenses:
879
+ - BSD-3-Clause
891
880
  metadata: {}
892
881
  post_install_message:
893
882
  rdoc_options: []
@@ -897,16 +886,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
897
886
  requirements:
898
887
  - - ">="
899
888
  - !ruby/object:Gem::Version
900
- version: 2.1.0
889
+ version: 2.2.2
901
890
  required_rubygems_version: !ruby/object:Gem::Requirement
902
891
  requirements:
903
892
  - - ">="
904
893
  - !ruby/object:Gem::Version
905
- version: '0'
894
+ version: 1.8.23
906
895
  requirements:
907
896
  - none
908
- rubyforge_project: solidus_backend
909
- rubygems_version: 2.6.11
897
+ rubyforge_project:
898
+ rubygems_version: 2.5.2
910
899
  signing_key:
911
900
  specification_version: 4
912
901
  summary: Admin interface for the Solidus e-commerce framework.
@@ -1,27 +0,0 @@
1
- // On page load
2
- var replace_ids = function (s) {
3
- var new_id = new Date().getTime();
4
- return s.replace(/NEW_RECORD/g, new_id);
5
- };
6
-
7
- $(function () {
8
- 'use strict';
9
-
10
- $('a[id*=nested]').on('click', function () {
11
- var template = $(this).prop('href').replace(/.*#/, '');
12
- var html = replace_ids(eval(template));
13
- $('#ul-' + $(this).prop('id')).append(html);
14
- update_remove_links();
15
- });
16
- update_remove_links();
17
- });
18
-
19
- var update_remove_links = function () {
20
- 'use strict';
21
-
22
- $('.remove').on('click', function () {
23
- $(this).prevAll(':first').val(1);
24
- $(this).parent().hide();
25
- return false;
26
- });
27
- };
@@ -1,8 +0,0 @@
1
- [data-hook="adjustment_buttons"] {
2
- tr {
3
- div {
4
- width: 50%;
5
- float: left;
6
- }
7
- }
8
- }
@@ -1,72 +0,0 @@
1
- .ac_results {
2
- padding: 0px;
3
- border: 1px solid black;
4
- background-color: $color-1;
5
- overflow: hidden;
6
- z-index: 99999;
7
- }
8
-
9
- .ac_results ul {
10
- width: 100%;
11
- list-style-position: outside;
12
- list-style: none;
13
- padding: 0;
14
- margin: 0;
15
- }
16
-
17
- .ac_results li {
18
- margin: 0px;
19
- padding: 5px 5px;
20
- cursor: default;
21
- display: block;
22
- /*
23
- if width will be 100% horizontal scrollbar will apear
24
- when scroll mode will be used
25
- */
26
- /*width: 100%;*/
27
- font: menu;
28
- font-size: 12px;
29
- /*
30
- it is very important, if line-height not setted or setted
31
- in relative units scroll will be broken in firefox
32
- */
33
- line-height: 16px;
34
- overflow: hidden;
35
- border-bottom: 1px solid black;
36
- color: #000;
37
- cursor: pointer;
38
- }
39
-
40
- .ac_results li img{
41
- float:left;
42
- padding-right: 5px;
43
- width: 30px;
44
- }
45
- .ac_results li h4 {
46
- margin-bottom: 3px;
47
- width: 330px;
48
- white-space: nowrap;
49
- overflow: hidden;
50
- }
51
- .ac_results li div{
52
- float:left;
53
- }
54
- .ac_results li span{
55
- display: block;
56
- float: left;
57
- margin-left: 8px;
58
- }
59
- .ac_loading {
60
- background: none;
61
- }
62
- .ac_odd {
63
- background-color: #fff;
64
- }
65
- .ac_over {
66
- background-color: #41A6F0;
67
- color: #fff!important;
68
- }
69
- .ac_over h4{
70
- color: #fff;
71
- text-decoration: underline;
72
- }
@@ -1,15 +0,0 @@
1
- #ul-nested-country {
2
- > li {
3
- margin-bottom: 10px;
4
- }
5
-
6
- .select2-container, select {
7
- width: 90%;
8
- }
9
-
10
- a.remove {
11
- display: inline-block;
12
- margin-top: 6px;
13
- }
14
-
15
- }
@@ -1,26 +0,0 @@
1
- module Spree
2
- module Admin
3
- class PrototypesController < ResourceController
4
- def show
5
- if request.xhr?
6
- render layout: false
7
- else
8
- redirect_to admin_prototypes_path
9
- end
10
- end
11
-
12
- def available
13
- @prototypes = Prototype.order('name asc')
14
- respond_with(@prototypes) do |format|
15
- format.html { render layout: !request.xhr? }
16
- format.js
17
- end
18
- end
19
-
20
- def select
21
- @prototype ||= Prototype.find(params[:id])
22
- @prototype_properties = @prototype.properties
23
- end
24
- end
25
- end
26
- end
@@ -1,6 +0,0 @@
1
- module Spree
2
- module Admin
3
- class TrackersController < ResourceController
4
- end
5
- end
6
- end
@@ -1,36 +0,0 @@
1
- <div data-hook="admin_prototype_form_fields" class="row">
2
- <div class="alpha four columns">
3
- <%= f.field_container :name do %>
4
- <%= f.label :name, class: 'required' %><br />
5
- <%= f.text_field :name, class: 'fullwidth' %>
6
- <%= f.error_message_on :name %>
7
- <% end %>
8
- </div>
9
-
10
- <div class="four columns">
11
- <div id='properties' data-hook>
12
- <%= f.field_container :property_ids do %>
13
- <%= f.label :property_ids, plural_resource_name(Spree::Property) %><br>
14
- <%= f.select :property_ids, Spree::Property.all.map { |p| ["#{p.presentation} (#{p.name})", p.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
15
- <% end %>
16
- </div>
17
- </div>
18
-
19
- <div class="four columns">
20
- <div id="option_types" data-hook>
21
- <%= f.field_container :option_type_ids do %>
22
- <%= f.label :option_type_ids, plural_resource_name(Spree::OptionType) %><br>
23
- <%= f.select :option_type_ids, Spree::OptionType.all.map { |ot| ["#{ot.presentation} (#{ot.name})", ot.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
24
- <% end %>
25
- </div>
26
- </div>
27
-
28
- <div class="four columns omega">
29
- <div id='taxons' data-hook>
30
- <%= f.field_container :taxon_ids do %>
31
- <%= f.label :taxon_ids, plural_resource_name(Spree::Taxon) %><br>
32
- <%= f.select :taxon_ids, Spree::Taxon.all.map { |t| [t.name, t.id] }, {}, { multiple: true, class: "select2 fullwidth" } %>
33
- <% end %>
34
- </div>
35
- </div>
36
- </div>