spree_backend 3.2.9 → 3.3.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree/backend/admin.js +16 -15
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +25 -26
- data/app/assets/javascripts/spree/backend/general_settings.js.coffee +10 -12
- data/app/assets/javascripts/spree/backend/payments/edit.js.coffee +4 -6
- data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +7 -1
- data/app/assets/javascripts/spree/backend/stock_transfer.js.coffee +4 -1
- data/app/assets/javascripts/spree/backend/user_picker.js +3 -1
- data/app/assets/javascripts/spree/backend.js +3 -3
- data/app/controllers/spree/admin/countries_controller.rb +1 -0
- data/app/controllers/spree/admin/log_entries_controller.rb +2 -2
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +5 -6
- data/app/controllers/spree/admin/orders_controller.rb +4 -4
- data/app/controllers/spree/admin/payments_controller.rb +21 -10
- data/app/controllers/spree/admin/products_controller.rb +5 -0
- data/app/controllers/spree/admin/promotion_rules_controller.rb +11 -7
- data/app/controllers/spree/admin/stock_transfers_controller.rb +1 -1
- data/app/controllers/spree/admin/taxons_controller.rb +31 -23
- data/app/helpers/spree/admin/base_helper.rb +1 -1
- data/app/helpers/spree/admin/navigation_helper.rb +10 -4
- data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +2 -2
- data/app/views/spree/admin/general_settings/edit.html.erb +8 -8
- data/app/views/spree/admin/images/_form.html.erb +2 -2
- data/app/views/spree/admin/images/edit.html.erb +2 -2
- data/app/views/spree/admin/images/new.html.erb +1 -1
- data/app/views/spree/admin/option_types/_form.html.erb +2 -2
- data/app/views/spree/admin/option_types/index.html.erb +4 -4
- data/app/views/spree/admin/orders/_line_items.html.erb +40 -38
- data/app/views/spree/admin/orders/_shipment.html.erb +77 -76
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +5 -5
- data/app/views/spree/admin/orders/index.html.erb +16 -16
- data/app/views/spree/admin/payment_methods/_form.html.erb +2 -2
- data/app/views/spree/admin/payments/_list.html.erb +1 -1
- data/app/views/spree/admin/products/_add_stock_form.html.erb +3 -3
- data/app/views/spree/admin/products/_form.html.erb +16 -16
- data/app/views/spree/admin/products/index.html.erb +4 -4
- data/app/views/spree/admin/products/new.html.erb +8 -8
- data/app/views/spree/admin/promotion_categories/index.html.erb +3 -3
- data/app/views/spree/admin/promotions/_form.html.erb +3 -3
- data/app/views/spree/admin/promotions/_promotion_rule.html.erb +1 -1
- data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +2 -2
- data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +2 -2
- data/app/views/spree/admin/promotions/actions/_create_line_items.html.erb +2 -4
- data/app/views/spree/admin/promotions/edit.html.erb +3 -3
- data/app/views/spree/admin/promotions/index.html.erb +6 -6
- data/app/views/spree/admin/promotions/rules/_item_total.html.erb +2 -2
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +4 -4
- data/app/views/spree/admin/properties/_form.html.erb +2 -2
- data/app/views/spree/admin/properties/index.html.erb +6 -6
- data/app/views/spree/admin/prototypes/index.html.erb +4 -4
- data/app/views/spree/admin/reimbursement_types/_form.html.erb +4 -4
- data/app/views/spree/admin/reimbursements/edit.html.erb +1 -1
- data/app/views/spree/admin/return_authorizations/_form.html.erb +13 -1
- data/app/views/spree/admin/return_index/customer_returns.html.erb +2 -2
- data/app/views/spree/admin/return_index/return_authorizations.html.erb +5 -5
- data/app/views/spree/admin/shared/_content_header.html.erb +2 -2
- data/app/views/spree/admin/shared/_header.html.erb +2 -2
- data/app/views/spree/admin/shared/_index_table_options.html.erb +2 -2
- data/app/views/spree/admin/shared/_order_summary.html.erb +1 -1
- data/app/views/spree/admin/shared/_table_filter.html.erb +1 -1
- data/app/views/spree/admin/shared/_translations.html.erb +0 -1
- data/app/views/spree/admin/shared/_update_order_state.js.erb +1 -1
- data/app/views/spree/admin/shipping_methods/_form.html.erb +10 -10
- data/app/views/spree/admin/state_changes/index.html.erb +3 -3
- data/app/views/spree/admin/states/_form.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/_form.html.erb +2 -2
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +4 -4
- data/app/views/spree/admin/stock_transfers/index.html.erb +3 -3
- data/app/views/spree/admin/stock_transfers/new.html.erb +2 -2
- data/app/views/spree/admin/store_credits/index.html.erb +1 -1
- data/app/views/spree/admin/tax_rates/_form.html.erb +2 -2
- data/app/views/spree/admin/taxonomies/_list.html.erb +2 -2
- data/app/views/spree/admin/taxonomies/{edit.erb → edit.html.erb} +0 -0
- data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
- data/app/views/spree/admin/taxons/_form.html.erb +5 -5
- data/app/views/spree/admin/taxons/edit.html.erb +3 -0
- data/app/views/spree/admin/trackers/_form.html.erb +2 -2
- data/app/views/spree/admin/users/_addresses_form.html.erb +2 -2
- data/app/views/spree/admin/users/_form.html.erb +2 -2
- data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
- data/app/views/spree/admin/users/index.html.erb +5 -5
- data/app/views/spree/admin/users/items.html.erb +1 -1
- data/app/views/spree/admin/users/orders.html.erb +1 -1
- data/app/views/spree/admin/variants/_form.html.erb +2 -2
- data/app/views/spree/admin/zones/_form.html.erb +2 -2
- data/app/views/spree/layouts/admin.html.erb +3 -3
- data/config/initializers/assets.rb +1 -1
- data/lib/spree/backend/engine.rb +0 -1
- data/spec/controllers/spree/admin/base_controller_spec.rb +46 -0
- data/spec/controllers/spree/admin/customer_returns_controller_spec.rb +185 -0
- data/spec/controllers/spree/admin/general_settings_controller_spec.rb +41 -0
- data/spec/controllers/spree/admin/missing_products_controller_spec.rb +18 -0
- data/spec/controllers/spree/admin/orders/customer_details_controller_spec.rb +199 -0
- data/spec/controllers/spree/admin/orders_controller_spec.rb +296 -0
- data/spec/controllers/spree/admin/payment_methods_controller_spec.rb +64 -0
- data/spec/controllers/spree/admin/payments_controller_spec.rb +97 -0
- data/spec/controllers/spree/admin/products_controller_spec.rb +137 -0
- data/spec/controllers/spree/admin/promotion_actions_controller_spec.rb +21 -0
- data/spec/controllers/spree/admin/promotion_rules_controller_spec.rb +21 -0
- data/spec/controllers/spree/admin/promotions_controller_spec.rb +44 -0
- data/spec/controllers/spree/admin/refunds_controller_spec.rb +32 -0
- data/spec/controllers/spree/admin/reimbursements_controller_spec.rb +74 -0
- data/spec/controllers/spree/admin/reports_controller_spec.rb +42 -0
- data/spec/controllers/spree/admin/resource_controller_spec.rb +252 -0
- data/spec/controllers/spree/admin/return_authorizations_controller_spec.rb +225 -0
- data/spec/controllers/spree/admin/return_index_controller_spec.rb +37 -0
- data/spec/controllers/spree/admin/return_items_controller_spec.rb +27 -0
- data/spec/controllers/spree/admin/shipping_methods_controller_spec.rb +14 -0
- data/spec/controllers/spree/admin/stock_items_controller_spec.rb +19 -0
- data/spec/controllers/spree/admin/stock_locations_controller_spec.rb +41 -0
- data/spec/controllers/spree/admin/stock_transfers_controller_spec.rb +41 -0
- data/spec/controllers/spree/admin/tax_categories_controller_spec.rb +34 -0
- data/spec/controllers/spree/admin/users_controller_spec.rb +161 -0
- data/spec/controllers/spree/admin/variants_controller_spec.rb +32 -0
- data/spec/features/admin/configuration/analytics_tracker_spec.rb +47 -0
- data/spec/features/admin/configuration/countries_spec.rb +24 -0
- data/spec/features/admin/configuration/general_settings_spec.rb +44 -0
- data/spec/features/admin/configuration/payment_methods_spec.rb +63 -0
- data/spec/features/admin/configuration/roles_spec.rb +47 -0
- data/spec/features/admin/configuration/shipping_methods_spec.rb +62 -0
- data/spec/features/admin/configuration/states_spec.rb +68 -0
- data/spec/features/admin/configuration/stock_locations_spec.rb +48 -0
- data/spec/features/admin/configuration/store_credit_categories_spec.rb +50 -0
- data/spec/features/admin/configuration/tax_categories_spec.rb +56 -0
- data/spec/features/admin/configuration/tax_rates_spec.rb +18 -0
- data/spec/features/admin/configuration/zones_spec.rb +39 -0
- data/spec/features/admin/homepage_spec.rb +89 -0
- data/spec/features/admin/locale_spec.rb +31 -0
- data/spec/features/admin/orders/adjustments_promotions_spec.rb +53 -0
- data/spec/features/admin/orders/adjustments_spec.rb +124 -0
- data/spec/features/admin/orders/cancelling_and_resuming_spec.rb +47 -0
- data/spec/features/admin/orders/customer_details_spec.rb +154 -0
- data/spec/features/admin/orders/line_items_spec.rb +51 -0
- data/spec/features/admin/orders/listing_spec.rb +224 -0
- data/spec/features/admin/orders/log_entries_spec.rb +55 -0
- data/spec/features/admin/orders/new_order_spec.rb +186 -0
- data/spec/features/admin/orders/order_details_spec.rb +660 -0
- data/spec/features/admin/orders/payments_spec.rb +244 -0
- data/spec/features/admin/orders/risk_analysis_spec.rb +48 -0
- data/spec/features/admin/orders/shipments_spec.rb +64 -0
- data/spec/features/admin/orders/state_changes_spec.rb +21 -0
- data/spec/features/admin/products/edit/images_spec.rb +86 -0
- data/spec/features/admin/products/edit/products_spec.rb +56 -0
- data/spec/features/admin/products/edit/taxons_spec.rb +41 -0
- data/spec/features/admin/products/edit/variants_spec.rb +56 -0
- data/spec/features/admin/products/option_types_spec.rb +114 -0
- data/spec/features/admin/products/products_spec.rb +445 -0
- data/spec/features/admin/products/properties_spec.rb +147 -0
- data/spec/features/admin/products/prototypes_spec.rb +112 -0
- data/spec/features/admin/products/stock_management_spec.rb +124 -0
- data/spec/features/admin/products/taxonomies_spec.rb +52 -0
- data/spec/features/admin/products/variant_spec.rb +50 -0
- data/spec/features/admin/promotions/adjustments_spec.rb +258 -0
- data/spec/features/admin/promotions/option_value_rule_spec.rb +70 -0
- data/spec/features/admin/promotions/tiered_calculator_spec.rb +70 -0
- data/spec/features/admin/refund_reasons/refund_reasons_spec.rb +57 -0
- data/spec/features/admin/reimbursement_type/edit_reimbursement_type_spec.rb +36 -0
- data/spec/features/admin/reimbursement_type/new_reimbursement_type_spec.rb +62 -0
- data/spec/features/admin/reports_spec.rb +61 -0
- data/spec/features/admin/return_authorization_reasons/return_authorization_reasons_spec.rb +63 -0
- data/spec/features/admin/returns/customer_returns_spec.rb +80 -0
- data/spec/features/admin/returns/return_authorizations_spec.rb +152 -0
- data/spec/features/admin/stock_transfer_spec.rb +91 -0
- data/spec/features/admin/store_credits_spec.rb +93 -0
- data/spec/features/admin/taxons_spec.rb +53 -0
- data/spec/features/admin/users_spec.rb +286 -0
- data/spec/helpers/admin/base_helper_spec.rb +30 -0
- data/spec/helpers/admin/navigation_helper_spec.rb +111 -0
- data/spec/helpers/admin/promotion_rules_helper_spec.rb +12 -0
- data/spec/helpers/admin/stock_movements_helper_spec.rb +30 -0
- data/spec/models/spree/resource_spec.rb +48 -0
- data/spec/routing/admin_path_spec.rb +22 -0
- data/spec/spec_helper.rb +144 -0
- data/spec/support/appear_before_matcher.rb +8 -0
- data/spec/support/ror_ringer.jpeg +0 -0
- data/spec/test_views/spree/admin/submodule/posts/edit.html.erb +1 -0
- data/spec/test_views/spree/admin/submodule/posts/new.html.erb +1 -0
- data/spec/test_views/spree/admin/widgets/edit.html.erb +1 -0
- data/spec/test_views/spree/admin/widgets/new.html.erb +1 -0
- data/spree_backend.gemspec +4 -4
- data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +130 -154
- metadata +106 -29
- data/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_454545_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png +0 -0
- data/vendor/assets/images/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
- data/vendor/assets/stylesheets/jquery-ui.datepicker.css.erb +0 -357
@@ -3,7 +3,7 @@
|
|
3
3
|
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
4
4
|
<div class="container-fluid">
|
5
5
|
<div class="row">
|
6
|
-
<div class="navbar-header col-
|
6
|
+
<div class="navbar-header col-xs-3 col-md-2">
|
7
7
|
<%= link_to(
|
8
8
|
image_tag(Spree::Config[:admin_interface_logo], id: 'logo'),
|
9
9
|
spree.admin_path,
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<span class="icon-bar"></span>
|
16
16
|
</span>
|
17
17
|
</div>
|
18
|
-
<div class="col-
|
18
|
+
<div class="col-xs-9 col-md-10">
|
19
19
|
<div class="navbar-right" data-hook="admin_login_navigation_bar"></div>
|
20
20
|
</div>
|
21
21
|
</div>
|
@@ -5,10 +5,10 @@
|
|
5
5
|
<% end %>
|
6
6
|
|
7
7
|
<div class="row index-pagination-row">
|
8
|
-
<div class="col-
|
8
|
+
<div class="col-xs-6">
|
9
9
|
<%= paginate collection %>
|
10
10
|
</div>
|
11
|
-
<div class="col-
|
11
|
+
<div class="col-xs-6">
|
12
12
|
<div class="pagination-wrap">
|
13
13
|
<%= form_tag(per_page_dropdown_params(args), { method: :get, class: 'js-per-page-form form-inline' }) do %>
|
14
14
|
<%= per_page_dropdown %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<% if content_for?(:table_filter) %>
|
2
2
|
<div class="filter-wrap row">
|
3
|
-
<div class="col-
|
3
|
+
<div class="col-xs-12">
|
4
4
|
<div class="input-group index-filter-button">
|
5
5
|
<span class="input-group-btn">
|
6
6
|
<button class="btn btn-default js-show-index-filters" type="button">
|
@@ -2,7 +2,6 @@
|
|
2
2
|
Spree.translations = <%==
|
3
3
|
{ abbr_day_names: I18n.t(:abbr_day_names, scope: :date),
|
4
4
|
add: Spree.t(:add),
|
5
|
-
are_you_sure: Spree.t(:are_you_sure),
|
6
5
|
are_you_sure_delete: Spree.t(:are_you_sure_delete),
|
7
6
|
bill_address: Spree.t(:bill_address),
|
8
7
|
cancel: Spree.t(:cancel, scope: :actions),
|
@@ -1,4 +1,4 @@
|
|
1
|
-
$('#order_tab_summary h5#order_status').html('<%= j Spree.t(:status) %>: <%= j Spree.t(@order.state, scope: :
|
1
|
+
$('#order_tab_summary h5#order_status').html('<%= j Spree.t(:status) %>: <%= j Spree.t(@order.state, scope: :order_states) %>');
|
2
2
|
$('#order_tab_summary h5#order_total').html('<%= j Spree.t(:total) %>: <%= j @order.display_total.to_html %>');
|
3
3
|
|
4
4
|
<% if @order.completed? %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div data-hook="admin_shipping_method_form_fields">
|
2
2
|
<div class="row">
|
3
|
-
<div data-hook="admin_shipping_method_form_name_field" class="col-md-6">
|
3
|
+
<div data-hook="admin_shipping_method_form_name_field" class="col-xs-12 col-md-6">
|
4
4
|
<%= f.field_container :name, class: ['form-group'] do %>
|
5
5
|
<%= f.label :name, Spree.t(:name) %>
|
6
6
|
<%= f.text_field :name, class: 'form-control' %>
|
@@ -8,17 +8,17 @@
|
|
8
8
|
<% end %>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
<div data-hook="admin_shipping_method_form_display_field" class="col-md-6">
|
11
|
+
<div data-hook="admin_shipping_method_form_display_field" class="col-xs-12 col-md-6">
|
12
12
|
<%= f.field_container :display_on, class: ['form-group'] do %>
|
13
13
|
<%= f.label :display_on, Spree.t(:display) %>
|
14
|
-
<%= select(:shipping_method, :display_on, Spree::ShippingMethod::DISPLAY.collect { |display| [Spree.t(display), display
|
14
|
+
<%= select(:shipping_method, :display_on, Spree::ShippingMethod::DISPLAY.collect { |display| [Spree.t(display), display.to_s] }, {}, { class: 'select2' }) %>
|
15
15
|
<%= f.error_message_on :display_on %>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
18
18
|
</div>
|
19
19
|
|
20
20
|
<div class="row">
|
21
|
-
<div data-hook="admin_shipping_method_form_internal_name_field" class="col-md-4">
|
21
|
+
<div data-hook="admin_shipping_method_form_internal_name_field" class="col-xs-12 col-md-4">
|
22
22
|
<%= f.field_container :admin_name, class: ['form-group'] do %>
|
23
23
|
<%= f.label :admin_name, Spree.t(:internal_name) %>
|
24
24
|
<%= f.text_field :admin_name, class: 'form-control', label: false %>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<% end %>
|
27
27
|
</div>
|
28
28
|
|
29
|
-
<div data-hook="admin_shipping_method_form_code" class="col-md-4">
|
29
|
+
<div data-hook="admin_shipping_method_form_code" class="col-xs-12 col-md-4">
|
30
30
|
<%= f.field_container :code, class: ['form-group'] do %>
|
31
31
|
<%= f.label :code, Spree.t(:code) %>
|
32
32
|
<%= f.text_field :code, class: 'form-control', label: false %>
|
@@ -34,7 +34,7 @@
|
|
34
34
|
<% end %>
|
35
35
|
</div>
|
36
36
|
|
37
|
-
<div data-hook="admin_shipping_method_form_tracking_url_field" class="col-md-4">
|
37
|
+
<div data-hook="admin_shipping_method_form_tracking_url_field" class="col-xs-12 col-md-4">
|
38
38
|
<%= f.field_container :tracking_url, class: ['form-group'] do %>
|
39
39
|
<%= f.label :tracking_url, Spree.t(:tracking_url) %>
|
40
40
|
<%= f.text_field :tracking_url, class: 'form-control', placeholder: Spree.t(:tracking_url_placeholder) %>
|
@@ -45,7 +45,7 @@
|
|
45
45
|
</div>
|
46
46
|
|
47
47
|
<div class="row">
|
48
|
-
<div data-hook="admin_shipping_method_form_availability_fields" class="col-md-6">
|
48
|
+
<div data-hook="admin_shipping_method_form_availability_fields" class="col-xs-12 col-md-6">
|
49
49
|
<div class="panel panel-default categories">
|
50
50
|
<div class="panel-heading">
|
51
51
|
<h1 class="panel-title">
|
@@ -69,7 +69,7 @@
|
|
69
69
|
</div>
|
70
70
|
</div>
|
71
71
|
|
72
|
-
<div class="col-md-6">
|
72
|
+
<div class="col-xs-12 col-md-6">
|
73
73
|
<div class="panel panel-default">
|
74
74
|
<div class="panel-heading">
|
75
75
|
<h1 class="panel-title">
|
@@ -96,11 +96,11 @@
|
|
96
96
|
</div>
|
97
97
|
|
98
98
|
<div class="row">
|
99
|
-
<div data-hook="admin_shipping_method_form_calculator_fields" class="col-md-6">
|
99
|
+
<div data-hook="admin_shipping_method_form_calculator_fields" class="col-xs-12 col-md-6">
|
100
100
|
<%= render partial: 'spree/admin/shared/calculator_fields', locals: { f: f } %>
|
101
101
|
</div>
|
102
102
|
|
103
|
-
<div class="col-md-6">
|
103
|
+
<div class="col-xs-12 col-md-6">
|
104
104
|
<div class="panel panel-default tax_categories">
|
105
105
|
<div class="panel-heading">
|
106
106
|
<h1 class="panel-title">
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= render partial: 'spree/admin/shared/order_tabs', locals: { current: :state_changes } %>
|
2
2
|
|
3
|
-
<% content_for :page_title do %>
|
3
|
+
<% content_for :page_title do %>
|
4
4
|
/ <%= plural_resource_name(Spree::StateChange) %>
|
5
5
|
/ <%= Spree::StateChange.human_attribute_name(:state_changes) %>
|
6
6
|
<% end %>
|
@@ -21,8 +21,8 @@
|
|
21
21
|
<% @state_changes.each do |state_change| %>
|
22
22
|
<tr>
|
23
23
|
<td><%= Spree.t("state_machine_states.#{state_change.name}") %></td>
|
24
|
-
<td><%= state_change.previous_state ? Spree.t(state_change.previous_state) : Spree.t(:previous_state_missing) %></td>
|
25
|
-
<td><%= Spree.t(state_change.next_state) %></td>
|
24
|
+
<td><%= state_change.previous_state ? Spree.t(state_change.previous_state, scope: "#{ state_change.name }_states") : Spree.t(:previous_state_missing) %></td>
|
25
|
+
<td><%= Spree.t(state_change.next_state, scope: "#{ state_change.name}_states") %></td>
|
26
26
|
<td>
|
27
27
|
<% if state_change.user %>
|
28
28
|
<% user_login = state_change.user.try(:login) || state_change.user.try(:email) %>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div data-hook="admin_state_form_fields" class="row">
|
2
|
-
<div class="col-md-6">
|
2
|
+
<div class="col-xs-12 col-md-6">
|
3
3
|
<%= f.field_container :name, class: ['form-group'] do %>
|
4
4
|
<%= f.label :name, Spree.t(:name) %>
|
5
5
|
<%= f.text_field :name, class: 'form-control' %>
|
6
6
|
<%= f.error_message_on :name %>
|
7
7
|
<% end %>
|
8
8
|
</div>
|
9
|
-
<div class="col-md-6">
|
9
|
+
<div class="col-xs-12 col-md-6">
|
10
10
|
<%= f.field_container :abbr, class: ['form-group'] do %>
|
11
11
|
<%= f.label :abbr, Spree.t(:abbreviation) %>
|
12
12
|
<%= f.text_field :abbr, class: 'form-control' %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div data-hook="admin_stock_locations_form_fields">
|
2
2
|
<div class="row">
|
3
|
-
<div class="col-md-9" data-hook="stock_location_names">
|
3
|
+
<div class="col-xs-12 col-md-9" data-hook="stock_location_names">
|
4
4
|
<div data-hook="stock_location_name">
|
5
5
|
<%= f.field_container :name, class: ['form-group'] do %>
|
6
6
|
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span><br />
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
<div class="col-md-3" data-hook="stock_location_status">
|
19
|
+
<div class="col-xs-12 col-md-3" data-hook="stock_location_status">
|
20
20
|
<strong><%= Spree.t(:status) %></strong>
|
21
21
|
<div class="checkbox" data-hook="stock_location_active">
|
22
22
|
<%= label_tag :active do %>
|
@@ -2,27 +2,27 @@
|
|
2
2
|
<fieldset>
|
3
3
|
<legend><%= Spree.t(:move_stock_between_locations)%></legend>
|
4
4
|
<div data-hook="admin_stock_movements_form_fields" class="row">
|
5
|
-
<div class="col-md-5">
|
5
|
+
<div class="col-xs-12 col-md-5">
|
6
6
|
<div class="form-group" id="stock_movement_transfer_from_field">
|
7
7
|
<%= label_tag :stock_location_from_id, Spree.t(:transfer_from_location) %>
|
8
8
|
<%= select_tag :stock_location_from_id, options_from_collection_for_select(@stock_locations, :id, :name), class: 'select2' %>
|
9
9
|
</div>
|
10
10
|
</div>
|
11
|
-
<div class="col-md-5">
|
11
|
+
<div class="col-xs-12 col-md-5">
|
12
12
|
<div class="form-group" id="stock_movement_transfer_to_field">
|
13
13
|
<%= label_tag :stock_location_to_id, Spree.t(:transfer_to_location) %>
|
14
14
|
<%= select_tag :stock_location_to_id, options_from_collection_for_select(@stock_locations, :id, :name), class: 'select2' %>
|
15
15
|
</div>
|
16
16
|
</div>
|
17
17
|
|
18
|
-
<div class="col-md-5">
|
18
|
+
<div class="col-xs-12 col-md-5">
|
19
19
|
<div class="form-group" id="stock_movement_variant_id_field">
|
20
20
|
<%= label_tag 'variant_id', Spree.t(:variant) %>
|
21
21
|
<%= select_tag :variant_id, options_from_collection_for_select(@variants, :id, :name_and_sku), class: 'select2' %>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
|
25
|
-
<div class="col-md-5">
|
25
|
+
<div class="col-xs-12 col-md-5">
|
26
26
|
<div class="form-group" id="stock_movement_quantity_field">
|
27
27
|
<%= label_tag 'quantity', Spree.t(:quantity) %>
|
28
28
|
<%= number_field_tag :quantity, 1, class: 'form-control' %>
|
@@ -12,14 +12,14 @@
|
|
12
12
|
<%= search_form_for @q, url: admin_stock_transfers_path do |f| %>
|
13
13
|
|
14
14
|
<div class="row no-marginb">
|
15
|
-
<div class="col-md-4">
|
15
|
+
<div class="col-xs-12 col-md-4">
|
16
16
|
<div class="form-group">
|
17
17
|
<%= f.label :reference_cont, Spree.t(:reference_contains) %>
|
18
18
|
<%= f.text_field :reference_cont, class: 'form-control' %>
|
19
19
|
</div>
|
20
20
|
</div>
|
21
21
|
|
22
|
-
<div class="col-md-4">
|
22
|
+
<div class="col-xs-12 col-md-4">
|
23
23
|
<div class="form-group">
|
24
24
|
<%= f.label :source_location, Spree.t(:source) %>
|
25
25
|
<%= f.select :source_location_id_eq,
|
@@ -28,7 +28,7 @@
|
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
|
31
|
-
<div class="col-md-4">
|
31
|
+
<div class="col-xs-12 col-md-4">
|
32
32
|
<div class="form-group">
|
33
33
|
<%= f.label :destination_location, Spree.t(:destination) %>
|
34
34
|
<%= f.select :destination_location_id_eq,
|
@@ -62,14 +62,14 @@
|
|
62
62
|
|
63
63
|
<div class="panel-body">
|
64
64
|
<div class="row">
|
65
|
-
<div class="col-md-8">
|
65
|
+
<div class="col-xs-12 col-md-8">
|
66
66
|
<div class="form-group" id="stock_movement_variant_id_field">
|
67
67
|
<%= label_tag 'variant_id', Spree.t(:variant) %>
|
68
68
|
<%= hidden_field_tag 'transfer_variant', {}, {class: 'fullwidth-input'} %>
|
69
69
|
</div>
|
70
70
|
</div>
|
71
71
|
|
72
|
-
<div class="col-md-4">
|
72
|
+
<div class="col-xs-12 col-md-4">
|
73
73
|
<div class="form-group" id="stock_movement_quantity_field">
|
74
74
|
<%= label_tag :transfer_variant_quantity, Spree.t(:quantity) %>
|
75
75
|
<div class="input-group">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<% end %>
|
7
7
|
|
8
8
|
<% content_for :page_actions do %>
|
9
|
-
<%= button_link_to Spree.t(:add_store_credit), spree.new_admin_user_store_credit_path(@user), class: "btn-success", icon: 'add' %>
|
9
|
+
<%= button_link_to Spree.t(:add_store_credit), spree.new_admin_user_store_credit_path(@user), class: "btn-success", icon: 'add' if can?(:create, Spree::StoreCredit) %>
|
10
10
|
<% end %>
|
11
11
|
|
12
12
|
<% if @store_credits.any? %>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
</div>
|
8
8
|
|
9
9
|
<div class="panel-body">
|
10
|
-
<div class="col-md-6">
|
10
|
+
<div class="col-xs-12 col-md-6">
|
11
11
|
<div data-hook="name" class="form-group">
|
12
12
|
<%= f.label :name, Spree.t(:name) %>
|
13
13
|
<%= f.text_field :name, class: 'form-control' %>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
</div>
|
31
31
|
</div>
|
32
32
|
|
33
|
-
<div class="col-md-6">
|
33
|
+
<div class="col-xs-12 col-md-6">
|
34
34
|
<div data-hook="zone" class="form-group">
|
35
35
|
<%= f.label :zone, Spree.t(:zone) %>
|
36
36
|
<%= f.collection_select(:zone_id, @available_zones, :id, :name, {}, {class: 'select2'}) %>
|
@@ -14,8 +14,8 @@
|
|
14
14
|
</td>
|
15
15
|
<td><%= taxonomy.name %></td>
|
16
16
|
<td class="actions actions-2 text-right">
|
17
|
-
<%= link_to_edit taxonomy.id, no_text: true %>
|
18
|
-
<%= link_to_delete taxonomy, no_text: true %>
|
17
|
+
<%= link_to_edit taxonomy.id, no_text: true if can?(:edit, taxonomy) %>
|
18
|
+
<%= link_to_delete taxonomy, no_text: true if can?(:delete, taxonomy) %>
|
19
19
|
</td>
|
20
20
|
</tr>
|
21
21
|
<% end %>
|
File without changes
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<% content_for :page_actions do %>
|
6
6
|
<%= button_link_to Spree.t(:new_taxonomy), new_object_url, class: "btn-success", icon: 'add', id: 'admin_new_taxonomy_link' %>
|
7
|
-
<% end %>
|
7
|
+
<% end if can?(:create, Spree::Taxonomy) %>
|
8
8
|
|
9
9
|
<% if @taxonomies.any? %>
|
10
10
|
<div id="list-taxonomies" data-hook>
|
@@ -13,6 +13,6 @@
|
|
13
13
|
<% else %>
|
14
14
|
<div class="alert alert-info no-objects-found">
|
15
15
|
<%= Spree.t(:no_resource_found, resource: plural_resource_name(Spree::Taxonomy)) %>,
|
16
|
-
<%= link_to Spree.t(:add_one), new_object_url %>!
|
16
|
+
<%= link_to Spree.t(:add_one), new_object_url if can?(:create, Spree::Taxonomy) %>!
|
17
17
|
</div>
|
18
18
|
<% end %>
|
@@ -1,15 +1,15 @@
|
|
1
1
|
<div data-hook="admin_inside_taxon_form">
|
2
2
|
<div class="row">
|
3
|
-
<div class="col-md-5">
|
3
|
+
<div class="col-xs-12 col-md-5">
|
4
4
|
<%= f.field_container :name, class: ['form-group'] do %>
|
5
5
|
<%= f.label :name, Spree.t(:name) %> <span class="required">*</span>
|
6
6
|
<%= text_field :taxon, :name, class: 'form-control' %>
|
7
7
|
<%= f.error_message_on :name, class: 'error-message' %>
|
8
8
|
<% end %>
|
9
9
|
|
10
|
-
<%= f.field_container :
|
11
|
-
<%=
|
12
|
-
<%= text_field_tag :permalink_part, @permalink_part, class: 'form-control' %>
|
10
|
+
<%= f.field_container :permalink, class: ['form-group'] do %>
|
11
|
+
<%= label_tag :permalink_part, Spree.t(:permalink) %> <span class="required">*</span>
|
12
|
+
<%= text_field_tag :permalink_part, @permalink_part, class: 'form-control', required: true %>
|
13
13
|
<p class="help-block" id="permalink_part_display">
|
14
14
|
<%= @taxon.permalink.split('/')[0...-1].join('/') + '/' %>
|
15
15
|
</p>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
<% end %>
|
22
22
|
</div>
|
23
23
|
|
24
|
-
<div class="col-md-7">
|
24
|
+
<div class="col-xs-12 col-md-7">
|
25
25
|
<%= f.field_container :description, class: ['form-group'] do %>
|
26
26
|
<%= f.label :description, Spree.t(:description) %>
|
27
27
|
<%= f.text_area :description, class: 'form-control', rows: 6 %>
|
@@ -6,6 +6,9 @@
|
|
6
6
|
|
7
7
|
<%# Because otherwise the form would attempt to use to_param of @taxon %>
|
8
8
|
<% form_url = admin_taxonomy_taxon_path(@taxonomy.id, @taxon.id) %>
|
9
|
+
|
10
|
+
<%= render partial: 'spree/admin/shared/error_messages', locals: { target: @taxon } %>
|
11
|
+
|
9
12
|
<%= form_for [:admin, @taxonomy, @taxon], method: :put, url: form_url, html: { multipart: true } do |f| %>
|
10
13
|
<%= render 'form', f: f %>
|
11
14
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div data-hook="admin_tracker_form_fields" class="row">
|
2
|
-
<div class="col-md-4" data-hook="analytics_id">
|
2
|
+
<div class="col-xs-12 col-md-4" data-hook="analytics_id">
|
3
3
|
<%= f.field_container :analytics_id, class: ["form-group"], "data-hook" => "analytics_id" do %>
|
4
4
|
<%= f.label :analytics_id, Spree.t(:google_analytics_id) %>
|
5
5
|
<%= f.text_field :analytics_id, class: 'form-control' %>
|
6
6
|
<%= f.error_message_on :analytics_id %>
|
7
7
|
<% end %>
|
8
8
|
</div>
|
9
|
-
<div class="col-md-4">
|
9
|
+
<div class="col-xs-12 col-md-4">
|
10
10
|
<div data-hook="active" class="form-group">
|
11
11
|
<%= label_tag nil, Spree.t(:active) %>
|
12
12
|
<div class="radio">
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="row">
|
2
|
-
<div data-hook="bill_address_wrapper" class="col-md-6">
|
2
|
+
<div data-hook="bill_address_wrapper" class="col-xs-12 col-md-6">
|
3
3
|
<div class="panel panel-default">
|
4
4
|
<div class="panel-heading">
|
5
5
|
<h1 class="panel-title">
|
@@ -16,7 +16,7 @@
|
|
16
16
|
</div>
|
17
17
|
</div>
|
18
18
|
|
19
|
-
<div data-hook="ship_address_wrapper" class="col-md-6">
|
19
|
+
<div data-hook="ship_address_wrapper" class="col-xs-12 col-md-6">
|
20
20
|
<div class="panel panel-default">
|
21
21
|
<div class="panel-heading">
|
22
22
|
<h1 class="panel-title">
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div data-hook="admin_user_form_fields" class="row">
|
2
|
-
<div class="col-md-6">
|
2
|
+
<div class="col-xs-12 col-md-6">
|
3
3
|
<%= f.field_container :email, class: ['form-group'] do %>
|
4
4
|
<%= f.label :email, Spree.t(:email) %>
|
5
5
|
<%= f.email_field :email, class: 'form-control' %>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
</div>
|
22
22
|
|
23
|
-
<div data-hook="admin_user_form_password_fields" class="col-md-6">
|
23
|
+
<div data-hook="admin_user_form_password_fields" class="col-xs-12 col-md-6">
|
24
24
|
<%= f.field_container :password, class: ['form-group'] do %>
|
25
25
|
<%= f.label :password, Spree.t(:password) %>
|
26
26
|
<%= f.password_field :password, class: 'form-control' %>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<% content_for :page_actions do %>
|
2
|
-
<%= button_link_to Spree.t(:create_new_order), spree.new_admin_order_path(user_id: @user.id), class: "btn-success", icon: 'add' %>
|
2
|
+
<%= button_link_to Spree.t(:create_new_order), spree.new_admin_order_path(user_id: @user.id), class: "btn-success", icon: 'add' if can?(:create, Spree::Order) %>
|
3
3
|
<% end %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<% content_for :page_actions do %>
|
6
6
|
<%= button_link_to Spree.t(:new_user), new_admin_user_url, class: "btn-success", icon: 'add', id: 'admin_new_user_link' %>
|
7
|
-
<% end %>
|
7
|
+
<% end if can? :create, Spree::user_class %>
|
8
8
|
|
9
9
|
<% content_for :table_filter_title do %>
|
10
10
|
<%= Spree.t(:search) %>
|
@@ -18,13 +18,13 @@
|
|
18
18
|
<%= f.text_field :email_cont, class: "form-control js-quick-search-target" %>
|
19
19
|
</div>
|
20
20
|
<div class="row">
|
21
|
-
<div class="col-md-6">
|
21
|
+
<div class="col-xs-12 col-md-6">
|
22
22
|
<div class="form-group">
|
23
23
|
<%= f.label Spree.t(:first_name) %>
|
24
24
|
<%= f.text_field :bill_address_firstname_cont, class: 'form-control' %>
|
25
25
|
</div>
|
26
26
|
</div>
|
27
|
-
<div class="col-md-6">
|
27
|
+
<div class="col-xs-12 col-md-6">
|
28
28
|
<div class="form-group">
|
29
29
|
<%= f.label Spree.t(:last_name) %>
|
30
30
|
<%= f.text_field :bill_address_lastname_cont, class: 'form-control' %>
|
@@ -57,8 +57,8 @@
|
|
57
57
|
<tr id="<%= spree_dom_id user %>" data-hook="admin_users_index_rows">
|
58
58
|
<td class='user_email'><%=link_to user.email, edit_admin_user_url(user) %></td>
|
59
59
|
<td data-hook="admin_users_index_row_actions" class="actions actions-2 text-right">
|
60
|
-
<%= link_to_edit user, no_text: true %>
|
61
|
-
<%= link_to_delete user, no_text: true %>
|
60
|
+
<%= link_to_edit user, no_text: true if can?(:edit, user) %>
|
61
|
+
<%= link_to_delete user, no_text: true if can?(:delete, user) %>
|
62
62
|
</td>
|
63
63
|
</tr>
|
64
64
|
<% end %>
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<td class="item-quantity"><%= item.quantity %></td>
|
40
40
|
<td class="item-total"><%= item.money.to_html %></td>
|
41
41
|
<td class="order-state">
|
42
|
-
<div class="state <%= order.state.downcase %>"><%= Spree.t("
|
42
|
+
<div class="state <%= order.state.downcase %>"><%= Spree.t("order_states.#{order.state.downcase}") %></div>
|
43
43
|
<% if order.payment_state %>
|
44
44
|
<div class="state <%= order.payment_state %>"><%= link_to Spree.t("payment_states.#{order.payment_state}"), admin_order_payments_path(order) %></div>
|
45
45
|
<% end %>
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<td class="order-completed-at"><%= order_time(order.completed_at) if order.completed_at %></td>
|
27
27
|
<td class="order-number"><%= link_to order.number, edit_admin_order_path(order) %></td>
|
28
28
|
<td class="order-state">
|
29
|
-
<div class="state <%= order.state.downcase %>"><%= Spree.t("
|
29
|
+
<div class="state <%= order.state.downcase %>"><%= Spree.t("order_states.#{order.state.downcase}") %></div>
|
30
30
|
<% if order.payment_state %>
|
31
31
|
<div class="state <%= order.payment_state %>"><%= link_to Spree.t("payment_states.#{order.payment_state}"), admin_order_payments_path(order) %></div>
|
32
32
|
<% end %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="row">
|
2
|
-
<div data-hook="admin_variant_form_fields" class="col-md-6">
|
2
|
+
<div data-hook="admin_variant_form_fields" class="col-xs-12 col-md-6">
|
3
3
|
<div data-hook="variants">
|
4
4
|
<% @product.option_types.each do |option_type| %>
|
5
5
|
<div class="form-group" data-hook="presentation">
|
@@ -38,7 +38,7 @@
|
|
38
38
|
</div>
|
39
39
|
</div>
|
40
40
|
|
41
|
-
<div class="col-md-6" data-hook="admin_variant_form_additional_fields">
|
41
|
+
<div class="col-xs-12 col-md-6" data-hook="admin_variant_form_additional_fields">
|
42
42
|
<% [:weight, :height, :width, :depth].each do |field| %>
|
43
43
|
<div class="form-group" data-hook="<%= field %>"><%= f.label field, Spree.t(field) %>
|
44
44
|
<% value = number_with_precision(@variant.send(field), precision: 2) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="row">
|
2
|
-
<div class="col-md-6" data-hook="admin_zone_form_fields">
|
2
|
+
<div class="col-xs-12 col-md-6" data-hook="admin_zone_form_fields">
|
3
3
|
<div class="panel panel-default">
|
4
4
|
<div class="panel-heading">
|
5
5
|
<h1 class="panel-title"><%= Spree.t(:general_settings)%></h1>
|
@@ -42,7 +42,7 @@
|
|
42
42
|
</div>
|
43
43
|
</div>
|
44
44
|
</div>
|
45
|
-
<div class="col-md-6">
|
45
|
+
<div class="col-xs-12 col-md-6">
|
46
46
|
<%= render partial: 'state_members', locals: { zone_form: zone_form }%>
|
47
47
|
<%= render partial: 'country_members', locals: { zone_form: zone_form } %>
|
48
48
|
</div>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
<%#-------------------------------------------------%>
|
31
31
|
<%# Sidebar %>
|
32
32
|
<%#-------------------------------------------------%>
|
33
|
-
<div class="
|
33
|
+
<div class="<%= main_sidebar_classes %>" id="main-sidebar" data-hook="admin_tabs">
|
34
34
|
<%= render partial: 'spree/admin/shared/main_menu' %>
|
35
35
|
</div>
|
36
36
|
|
@@ -53,7 +53,7 @@
|
|
53
53
|
<%#-------------------------------------------------%>
|
54
54
|
<%# Main content %>
|
55
55
|
<%#-------------------------------------------------%>
|
56
|
-
<div class="<%= content_for?(:sidebar) ? 'with-sidebar col-
|
56
|
+
<div class="<%= content_for?(:sidebar) ? 'with-sidebar col-xs-8 col-md-9' : 'col-xs-12' %>" id="content" data-hook>
|
57
57
|
<%= render partial: 'spree/admin/shared/table_filter' if content_for?(:table_filter)%>
|
58
58
|
<%= yield %>
|
59
59
|
</div>
|
@@ -62,7 +62,7 @@
|
|
62
62
|
<%# Inner aside %>
|
63
63
|
<%#-------------------------------------------------%>
|
64
64
|
<% if content_for?(:sidebar) %>
|
65
|
-
<div class="col-
|
65
|
+
<div class="col-xs-4 col-md-3">
|
66
66
|
<%= render partial: 'spree/admin/shared/sidebar' %>
|
67
67
|
</div>
|
68
68
|
<% end %>
|
@@ -1 +1 @@
|
|
1
|
-
Rails.application.config.assets.precompile += %w(
|
1
|
+
Rails.application.config.assets.precompile += %w( admin/* credit_cards/credit_card.gif )
|
data/lib/spree/backend/engine.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Spree's rpsec controller tests get the Spree::ControllerHacks
|
2
|
+
# we don't need those for the anonymous controller here, so
|
3
|
+
# we call process directly instead of get
|
4
|
+
require 'spec_helper'
|
5
|
+
|
6
|
+
describe Spree::Admin::BaseController, type: :controller do
|
7
|
+
controller(Spree::Admin::BaseController) do
|
8
|
+
def index
|
9
|
+
authorize! :update, Spree::Order
|
10
|
+
render plain: 'test'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context "unauthorized request" do
|
15
|
+
before do
|
16
|
+
allow_any_instance_of(Spree::Admin::BaseController).to receive(:spree_current_user).and_return(nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "redirects to root" do
|
20
|
+
allow(controller).to receive_message_chain(:spree, :root_path).and_return('/root')
|
21
|
+
get :index
|
22
|
+
expect(response).to redirect_to '/root'
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "#generate_api_key" do
|
27
|
+
let(:user) { mock_model(Spree.user_class, has_spree_role?: true) }
|
28
|
+
|
29
|
+
before do
|
30
|
+
allow(controller).to receive(:authorize_admin) { true }
|
31
|
+
allow(controller).to receive(:try_spree_current_user) { user }
|
32
|
+
end
|
33
|
+
|
34
|
+
it "generates the API key for a user when they visit" do
|
35
|
+
expect(user).to receive(:spree_api_key).and_return(nil)
|
36
|
+
expect(user).to receive(:generate_spree_api_key!)
|
37
|
+
get :index
|
38
|
+
end
|
39
|
+
|
40
|
+
it "does not attempt to regenerate the API key if the key is already set" do
|
41
|
+
expect(user).to receive(:spree_api_key).and_return('fake')
|
42
|
+
expect(user).not_to receive(:generate_spree_api_key!)
|
43
|
+
get :index
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|