solidus_backend 4.6.2 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +17 -17
- data/app/assets/javascripts/spree/backend/components/tabs.js +0 -2
- data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js +1 -1
- data/app/controllers/spree/admin/adjustments_controller.rb +1 -1
- data/app/controllers/spree/admin/base_controller.rb +9 -9
- data/app/controllers/spree/admin/cancellations_controller.rb +3 -3
- data/app/controllers/spree/admin/customer_returns_controller.rb +6 -6
- data/app/controllers/spree/admin/images_controller.rb +2 -2
- data/app/controllers/spree/admin/locale_controller.rb +4 -4
- data/app/controllers/spree/admin/option_types_controller.rb +1 -1
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
- data/app/controllers/spree/admin/orders_controller.rb +29 -29
- data/app/controllers/spree/admin/payment_methods_controller.rb +3 -3
- data/app/controllers/spree/admin/payments_controller.rb +9 -9
- data/app/controllers/spree/admin/prices_controller.rb +1 -1
- data/app/controllers/spree/admin/product_properties_controller.rb +1 -1
- data/app/controllers/spree/admin/products_controller.rb +14 -14
- data/app/controllers/spree/admin/properties_controller.rb +3 -3
- data/app/controllers/spree/admin/refunds_controller.rb +2 -2
- data/app/controllers/spree/admin/reimbursements_controller.rb +4 -8
- data/app/controllers/spree/admin/resource_controller.rb +10 -10
- data/app/controllers/spree/admin/return_authorizations_controller.rb +14 -11
- data/app/controllers/spree/admin/return_items_controller.rb +1 -1
- data/app/controllers/spree/admin/search_controller.rb +8 -8
- data/app/controllers/spree/admin/stock_items_controller.rb +5 -5
- data/app/controllers/spree/admin/stock_locations_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_movements_controller.rb +5 -5
- data/app/controllers/spree/admin/store_credits_controller.rb +10 -10
- data/app/controllers/spree/admin/style_guide_controller.rb +19 -19
- data/app/controllers/spree/admin/taxons/attachment_controller.rb +2 -2
- data/app/controllers/spree/admin/taxons_controller.rb +5 -5
- data/app/controllers/spree/admin/theme_controller.rb +3 -3
- data/app/controllers/spree/admin/users/api_key_controller.rb +2 -2
- data/app/controllers/spree/admin/users_controller.rb +6 -6
- data/app/controllers/spree/admin/variant_property_rule_values_controller.rb +1 -1
- data/app/controllers/spree/admin/variants_controller.rb +8 -8
- data/app/helpers/spree/admin/adjustments_helper.rb +7 -7
- data/app/helpers/spree/admin/base_helper.rb +10 -10
- data/app/helpers/spree/admin/navigation_helper.rb +37 -37
- data/app/helpers/spree/admin/orders_helper.rb +2 -2
- data/app/helpers/spree/admin/reimbursement_type_helper.rb +1 -1
- data/app/helpers/spree/admin/stock_locations_helper.rb +1 -1
- data/app/helpers/spree/admin/store_credit_events_helper.rb +9 -9
- data/app/views/spree/admin/search/users.json.jbuilder +2 -2
- data/config/initializers/assets.rb +1 -1
- data/config/initializers/form_builder.rb +1 -1
- data/config/routes.rb +9 -9
- data/lib/solidus_backend.rb +1 -1
- data/lib/spree/backend/callbacks.rb +2 -2
- data/lib/spree/backend/config.rb +1 -1
- data/lib/spree/backend/engine.rb +3 -3
- data/lib/spree/backend.rb +12 -12
- data/lib/spree/backend_configuration/deprecated_tab_constants.rb +2 -0
- data/lib/spree/backend_configuration.rb +46 -46
- data/lib/spree_backend.rb +1 -1
- data/solidus_backend.gemspec +22 -21
- metadata +30 -13
|
@@ -16,9 +16,9 @@ module Spree
|
|
|
16
16
|
|
|
17
17
|
@collection = super
|
|
18
18
|
@search = @collection.ransack(params[:q])
|
|
19
|
-
@collection = @search.result
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
@collection = @search.result
|
|
20
|
+
.page(params[:page])
|
|
21
|
+
.per(Spree::Config[:properties_per_page])
|
|
22
22
|
|
|
23
23
|
@collection
|
|
24
24
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class RefundsController < ResourceController
|
|
6
|
-
belongs_to
|
|
6
|
+
belongs_to "spree/payment"
|
|
7
7
|
before_action :load_order
|
|
8
8
|
|
|
9
9
|
helper_method :refund_reasons
|
|
@@ -21,7 +21,7 @@ module Spree
|
|
|
21
21
|
else
|
|
22
22
|
flash.now[:error] = @refund.errors.full_messages.join(", ")
|
|
23
23
|
respond_with(@refund) do |format|
|
|
24
|
-
format.html { render action:
|
|
24
|
+
format.html { render action: "new" }
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
end
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class ReimbursementsController < ResourceController
|
|
6
|
-
helper
|
|
7
|
-
helper
|
|
8
|
-
belongs_to
|
|
6
|
+
helper "spree/admin/reimbursement_type"
|
|
7
|
+
helper "spree/admin/customer_returns"
|
|
8
|
+
belongs_to "spree/order", find_by: :number
|
|
9
9
|
|
|
10
10
|
before_action :load_stock_locations, only: :edit
|
|
11
11
|
before_action :load_simulated_refunds, only: :edit
|
|
@@ -50,11 +50,7 @@ module Spree
|
|
|
50
50
|
# Perhaps we should add a reimbursement new page of some sort.
|
|
51
51
|
def render_after_create_error
|
|
52
52
|
flash.keep
|
|
53
|
-
|
|
54
|
-
redirect_to request.referer
|
|
55
|
-
else
|
|
56
|
-
redirect_to admin_url
|
|
57
|
-
end
|
|
53
|
+
redirect_to request.referer || admin_url
|
|
58
54
|
end
|
|
59
55
|
|
|
60
56
|
def load_stock_locations
|
|
@@ -17,7 +17,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
17
17
|
respond_with(@object) do |format|
|
|
18
18
|
format.html { render layout: !request.xhr? }
|
|
19
19
|
if request.xhr?
|
|
20
|
-
format.js
|
|
20
|
+
format.js { render layout: false }
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
end
|
|
@@ -26,7 +26,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
26
26
|
respond_with(@object) do |format|
|
|
27
27
|
format.html { render layout: !request.xhr? }
|
|
28
28
|
if request.xhr?
|
|
29
|
-
format.js
|
|
29
|
+
format.js { render layout: false }
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
end
|
|
@@ -62,7 +62,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
62
62
|
flash[:success] = flash_message_for(@object, :successfully_created)
|
|
63
63
|
respond_with(@object) do |format|
|
|
64
64
|
format.html { redirect_to location_after_save }
|
|
65
|
-
format.js
|
|
65
|
+
format.js { render layout: false }
|
|
66
66
|
end
|
|
67
67
|
else
|
|
68
68
|
invoke_callbacks(:create, :fails)
|
|
@@ -112,7 +112,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
112
112
|
flash[:success] = flash_message_for(@object, :successfully_removed)
|
|
113
113
|
respond_with(@object) do |format|
|
|
114
114
|
format.html { redirect_to location_after_destroy }
|
|
115
|
-
format.js
|
|
115
|
+
format.js { render partial: "spree/admin/shared/destroy" }
|
|
116
116
|
end
|
|
117
117
|
else
|
|
118
118
|
invoke_callbacks(:destroy, :fails)
|
|
@@ -152,7 +152,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
152
152
|
end
|
|
153
153
|
|
|
154
154
|
def parent_model_name
|
|
155
|
-
self.class.parent_data[:model_name].gsub(
|
|
155
|
+
self.class.parent_data[:model_name].gsub("spree/", "")
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
def object_name
|
|
@@ -189,8 +189,8 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
189
189
|
|
|
190
190
|
def parent
|
|
191
191
|
@parent ||= self.class.parent_data[:model_class]
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
.includes(self.class.parent_data[:includes])
|
|
193
|
+
.find_by!(self.class.parent_data[:find_by] => params["#{parent_model_name}_id"])
|
|
194
194
|
instance_variable_set("@#{parent_model_name}", @parent)
|
|
195
195
|
rescue ActiveRecord::RecordNotFound => e
|
|
196
196
|
resource_not_found(flash_class: e.model.constantize, redirect_url: routes_proxy.polymorphic_url([:admin, parent_model_name.pluralize.to_sym]))
|
|
@@ -253,7 +253,7 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
253
253
|
end
|
|
254
254
|
|
|
255
255
|
def object_url(object = nil, options = {})
|
|
256
|
-
target = object
|
|
256
|
+
target = object || @object
|
|
257
257
|
|
|
258
258
|
if parent?
|
|
259
259
|
routes_proxy.polymorphic_url([:admin, parent, target], options)
|
|
@@ -294,11 +294,11 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
|
|
|
294
294
|
end
|
|
295
295
|
|
|
296
296
|
def render_after_create_error
|
|
297
|
-
render action:
|
|
297
|
+
render action: "new"
|
|
298
298
|
end
|
|
299
299
|
|
|
300
300
|
def render_after_update_error
|
|
301
|
-
render action:
|
|
301
|
+
render action: "edit"
|
|
302
302
|
end
|
|
303
303
|
|
|
304
304
|
def resource_invalid(exception)
|
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class ReturnAuthorizationsController < ResourceController
|
|
6
|
-
belongs_to
|
|
6
|
+
belongs_to "spree/order", find_by: :number
|
|
7
7
|
|
|
8
8
|
before_action :load_form_data, only: [:new, :edit]
|
|
9
|
-
create.fails
|
|
10
|
-
update.fails
|
|
9
|
+
create.fails :load_form_data
|
|
10
|
+
update.fails :load_form_data
|
|
11
11
|
|
|
12
12
|
def fire
|
|
13
13
|
action_from_params = "#{params[:e]}!"
|
|
14
14
|
|
|
15
|
-
if @return_authorization.state_events.include?(params[:e].to_sym) &&
|
|
16
|
-
|
|
15
|
+
flash_message = if @return_authorization.state_events.include?(params[:e].to_sym) &&
|
|
16
|
+
@return_authorization.send(action_from_params)
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
{success: t("spree.return_authorization_updated")}
|
|
19
19
|
else
|
|
20
|
-
|
|
20
|
+
{error: t("spree.return_authorization_fire_error")}
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
redirect_back(fallback_location: admin_order_return_authorizations_path(@order),
|
|
24
|
-
|
|
24
|
+
flash: flash_message)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
private
|
|
@@ -40,10 +40,13 @@ module Spree
|
|
|
40
40
|
associated_inventory_units = @return_authorization.return_items.map(&:inventory_unit)
|
|
41
41
|
unassociated_inventory_units = all_inventory_units - associated_inventory_units
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
unassociated_inventory_units.each do |new_unit|
|
|
44
|
+
@return_authorization.return_items
|
|
45
|
+
.build(inventory_unit: new_unit)
|
|
46
|
+
.tap(&:set_default_amount)
|
|
45
47
|
end
|
|
46
|
-
|
|
48
|
+
|
|
49
|
+
@form_return_items = @return_authorization.return_items.sort_by(&:inventory_unit_id)
|
|
47
50
|
end
|
|
48
51
|
|
|
49
52
|
def load_reimbursement_types
|
|
@@ -9,12 +9,12 @@ module Spree
|
|
|
9
9
|
# TODO: Clean this up by moving searching out to user_class_extensions
|
|
10
10
|
# And then JSON building with something like Active Model Serializers
|
|
11
11
|
def users
|
|
12
|
-
if params[:ids]
|
|
12
|
+
@users = if params[:ids]
|
|
13
13
|
# split here may be String#split or Array#split, so we must flatten the results
|
|
14
|
-
|
|
14
|
+
Spree.user_class.where(id: params[:ids].split(",").flatten)
|
|
15
15
|
else
|
|
16
|
-
|
|
17
|
-
m:
|
|
16
|
+
Spree.user_class.ransack({
|
|
17
|
+
m: "or",
|
|
18
18
|
email_start: params[:q],
|
|
19
19
|
name_start: params[:q]
|
|
20
20
|
}).result.limit(10)
|
|
@@ -22,16 +22,16 @@ module Spree
|
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
def products
|
|
25
|
-
if params[:ids]
|
|
25
|
+
@products = if params[:ids]
|
|
26
26
|
# split here may be String#split or Array#split, so we must flatten the results
|
|
27
|
-
|
|
27
|
+
Spree::Product.where(id: params[:ids].split(",").flatten)
|
|
28
28
|
else
|
|
29
|
-
|
|
29
|
+
Spree::Product.ransack(params[:q]).result
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
@products = list_products
|
|
33
33
|
expires_in 15.minutes, public: true
|
|
34
|
-
headers[
|
|
34
|
+
headers["Surrogate-Control"] = "max-age=#{15.minutes}"
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
private
|
|
@@ -5,8 +5,8 @@ module Spree
|
|
|
5
5
|
class StockItemsController < ResourceController
|
|
6
6
|
class_attribute :variant_display_attributes
|
|
7
7
|
self.variant_display_attributes = [
|
|
8
|
-
{
|
|
9
|
-
{
|
|
8
|
+
{translation_key: :sku, attr_name: :sku},
|
|
9
|
+
{translation_key: :name, attr_name: :name}
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
update.before :determine_backorderable
|
|
@@ -46,11 +46,11 @@ module Spree
|
|
|
46
46
|
:@stock_locations,
|
|
47
47
|
:stock_item_stock_locations,
|
|
48
48
|
Spree.deprecator,
|
|
49
|
-
"Please, do not use @stock_item_stock_locations anymore in the views, use @stock_locations"
|
|
49
|
+
"Please, do not use @stock_item_stock_locations anymore in the views, use @stock_locations"
|
|
50
50
|
)
|
|
51
51
|
@variant_display_attributes = self.class.variant_display_attributes
|
|
52
|
-
@variants = Spree::Config.variant_search_class.new(params[:variant_search_term], scope: variant_scope).results
|
|
53
|
-
|
|
52
|
+
@variants = Spree::Config.variant_search_class.new(params[:variant_search_term], scope: variant_scope).results
|
|
53
|
+
.order(id: :desc).page(params[:page]).per(params[:per_page] || Spree::Config[:orders_per_page])
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
def variant_scope
|
|
@@ -10,7 +10,7 @@ module Spree
|
|
|
10
10
|
def set_country
|
|
11
11
|
@stock_location.country = Spree::Country.default
|
|
12
12
|
rescue ActiveRecord::RecordNotFound
|
|
13
|
-
flash[:error] = t(
|
|
13
|
+
flash[:error] = t("spree.stock_locations_need_a_default_country")
|
|
14
14
|
redirect_to(admin_stock_locations_path) && return
|
|
15
15
|
end
|
|
16
16
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class StockMovementsController < ResourceController
|
|
6
|
-
belongs_to
|
|
6
|
+
belongs_to "spree/stock_location"
|
|
7
7
|
before_action :parent
|
|
8
8
|
|
|
9
9
|
def index
|
|
@@ -20,10 +20,10 @@ module Spree
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def collection
|
|
23
|
-
super
|
|
24
|
-
recent
|
|
25
|
-
includes(stock_item: {
|
|
26
|
-
page(params[:page])
|
|
23
|
+
super
|
|
24
|
+
.recent
|
|
25
|
+
.includes(stock_item: {variant: :product})
|
|
26
|
+
.page(params[:page])
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class StoreCreditsController < ResourceController
|
|
6
|
-
belongs_to
|
|
6
|
+
belongs_to "spree/user", model_class: Spree.user_class
|
|
7
7
|
before_action :load_categories, only: [:new]
|
|
8
8
|
before_action :load_reasons, only: [:edit_amount, :edit_validity]
|
|
9
9
|
before_action :ensure_store_credit_reason, only: [:update_amount, :invalidate]
|
|
@@ -27,7 +27,7 @@ module Spree
|
|
|
27
27
|
redirect_to admin_user_store_credits_path(@user)
|
|
28
28
|
else
|
|
29
29
|
load_categories
|
|
30
|
-
flash[:error] = "#{t(
|
|
30
|
+
flash[:error] = "#{t("spree.admin.store_credits.unable_to_create")} #{@store_credit.errors.full_messages}"
|
|
31
31
|
render :new
|
|
32
32
|
end
|
|
33
33
|
end
|
|
@@ -38,11 +38,11 @@ module Spree
|
|
|
38
38
|
|
|
39
39
|
if @store_credit.save
|
|
40
40
|
respond_to do |format|
|
|
41
|
-
format.json { render json: {
|
|
41
|
+
format.json { render json: {message: flash_message_for(@store_credit, :successfully_updated)}, status: :ok }
|
|
42
42
|
end
|
|
43
43
|
else
|
|
44
44
|
respond_to do |format|
|
|
45
|
-
format.json { render json: {
|
|
45
|
+
format.json { render json: {message: "#{t("spree.admin.store_credits.unable_to_update")} #{@store_credit.errors.full_messages}"}, status: :bad_request }
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
end
|
|
@@ -70,8 +70,8 @@ module Spree
|
|
|
70
70
|
private
|
|
71
71
|
|
|
72
72
|
def permitted_resource_params
|
|
73
|
-
params.require(:store_credit).permit([:amount, :currency, :category_id, :memo])
|
|
74
|
-
merge(created_by: spree_current_user)
|
|
73
|
+
params.require(:store_credit).permit([:amount, :currency, :category_id, :memo])
|
|
74
|
+
.merge(created_by: spree_current_user)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
def collection
|
|
@@ -89,7 +89,7 @@ module Spree
|
|
|
89
89
|
def ensure_store_credit_reason
|
|
90
90
|
@store_credit_reason = Spree::StoreCreditReason.find_by(id: params[:store_credit_reason_id])
|
|
91
91
|
unless @store_credit_reason
|
|
92
|
-
@store_credit.errors.add(:base, t(
|
|
92
|
+
@store_credit.errors.add(:base, t("spree.admin.store_credits.errors.store_credit_reason_required"))
|
|
93
93
|
render_edit_page
|
|
94
94
|
end
|
|
95
95
|
end
|
|
@@ -97,14 +97,14 @@ module Spree
|
|
|
97
97
|
def render_edit_page
|
|
98
98
|
if action == :update_amount
|
|
99
99
|
template = :edit_amount
|
|
100
|
-
translation_key =
|
|
100
|
+
translation_key = "update"
|
|
101
101
|
else
|
|
102
102
|
template = :edit_validity
|
|
103
|
-
translation_key =
|
|
103
|
+
translation_key = "invalidate"
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
load_reasons
|
|
107
|
-
flash[:error] = "#{t("spree.admin.store_credits.unable_to_#{translation_key}")}: #{@store_credit.errors.full_messages.join(
|
|
107
|
+
flash[:error] = "#{t("spree.admin.store_credits.unable_to_#{translation_key}")}: #{@store_credit.errors.full_messages.join(", ")}"
|
|
108
108
|
render(template) && return
|
|
109
109
|
end
|
|
110
110
|
|
|
@@ -4,37 +4,37 @@ module Spree
|
|
|
4
4
|
module Admin
|
|
5
5
|
class StyleGuideController < Spree::Admin::BaseController
|
|
6
6
|
respond_to :html
|
|
7
|
-
layout
|
|
7
|
+
layout "spree/layouts/admin_style_guide"
|
|
8
8
|
|
|
9
9
|
def index
|
|
10
10
|
@topics = {
|
|
11
11
|
typography: [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
"fonts",
|
|
13
|
+
"colors",
|
|
14
|
+
"lists",
|
|
15
|
+
"icons"
|
|
16
16
|
],
|
|
17
17
|
forms: [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
"building_forms",
|
|
19
|
+
"buttons",
|
|
20
|
+
"helper_text",
|
|
21
|
+
"inputs",
|
|
22
|
+
"labels",
|
|
23
|
+
"validation"
|
|
24
24
|
],
|
|
25
25
|
components: [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
"pills",
|
|
27
|
+
"modals",
|
|
28
|
+
"tabs"
|
|
29
29
|
],
|
|
30
30
|
messaging: [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
"loading",
|
|
32
|
+
"flashes",
|
|
33
|
+
"tooltips"
|
|
34
34
|
],
|
|
35
35
|
tables: [
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
"building_tables",
|
|
37
|
+
"pagination"
|
|
38
38
|
]
|
|
39
39
|
}
|
|
40
40
|
end
|
|
@@ -8,9 +8,9 @@ module Spree
|
|
|
8
8
|
taxonomy = Spree::Taxonomy.find(params[:taxonomy_id])
|
|
9
9
|
taxon = taxonomy.taxons.find(params[:taxon_id])
|
|
10
10
|
if taxon.destroy_attachment(params[:attachment_definition])
|
|
11
|
-
flash[:success] = t(
|
|
11
|
+
flash[:success] = t("spree.successfully_removed", resource: params[:attachment_definition].titleize)
|
|
12
12
|
else
|
|
13
|
-
flash[:error] = t(
|
|
13
|
+
flash[:error] = t("spree.taxon_attachment_removal_error")
|
|
14
14
|
end
|
|
15
15
|
redirect_to edit_admin_taxonomy_taxon_path(taxonomy, taxon.id)
|
|
16
16
|
end
|
|
@@ -10,10 +10,10 @@ module Spree
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def search
|
|
13
|
-
if params[:ids]
|
|
14
|
-
|
|
13
|
+
@taxons = if params[:ids]
|
|
14
|
+
Spree::Taxon.where(id: params[:ids].split(","))
|
|
15
15
|
else
|
|
16
|
-
|
|
16
|
+
Spree::Taxon.limit(20).ransack(name_cont: params[:q]).result
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ module Spree
|
|
|
25
25
|
format.json { render json: @taxon.to_json }
|
|
26
26
|
end
|
|
27
27
|
else
|
|
28
|
-
flash[:error] = t(
|
|
28
|
+
flash[:error] = t("spree.errors.messages.could_not_create_taxon")
|
|
29
29
|
respond_with(@taxon) do |format|
|
|
30
30
|
format.html { redirect_to @taxonomy ? edit_admin_taxonomy_url(@taxonomy) : admin_taxonomies_url }
|
|
31
31
|
end
|
|
@@ -76,7 +76,7 @@ module Spree
|
|
|
76
76
|
def destroy
|
|
77
77
|
@taxon = Spree::Taxon.find(params[:id])
|
|
78
78
|
@taxon.destroy
|
|
79
|
-
respond_with(@taxon) { |format| format.json { render json:
|
|
79
|
+
respond_with(@taxon) { |format| format.json { render json: "" } }
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
private
|
|
@@ -9,14 +9,14 @@ module Spree
|
|
|
9
9
|
requested_theme = params[:switch_to_theme].presence
|
|
10
10
|
|
|
11
11
|
# Avoid interpolating user content into the session key
|
|
12
|
-
system_theme = params[:system_theme].presence == "dark" ? "dark" : "light"
|
|
12
|
+
system_theme = (params[:system_theme].presence == "dark") ? "dark" : "light"
|
|
13
13
|
session_key = :"admin_#{system_theme}_theme"
|
|
14
14
|
|
|
15
15
|
if theme_is_available?(requested_theme)
|
|
16
16
|
session[session_key] = requested_theme
|
|
17
|
-
redirect_back_or_to spree.admin_url, notice: t(
|
|
17
|
+
redirect_back_or_to spree.admin_url, notice: t("spree.theme_changed")
|
|
18
18
|
else
|
|
19
|
-
redirect_back_or_to spree.admin_url, error: t(
|
|
19
|
+
redirect_back_or_to spree.admin_url, error: t("spree.error")
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
|
|
@@ -6,14 +6,14 @@ module Spree
|
|
|
6
6
|
class ApiKeyController < Spree::Admin::BaseController
|
|
7
7
|
def create
|
|
8
8
|
if user.generate_spree_api_key!
|
|
9
|
-
flash[:success] = t(
|
|
9
|
+
flash[:success] = t("spree.admin.api.key_generated")
|
|
10
10
|
end
|
|
11
11
|
redirect_to edit_admin_user_path(user)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def destroy
|
|
15
15
|
if user.clear_spree_api_key!
|
|
16
|
-
flash[:success] = t(
|
|
16
|
+
flash[:success] = t("spree.admin.api.key_cleared")
|
|
17
17
|
end
|
|
18
18
|
redirect_to edit_admin_user_path(user)
|
|
19
19
|
end
|
|
@@ -26,7 +26,7 @@ module Spree
|
|
|
26
26
|
set_roles
|
|
27
27
|
set_stock_locations
|
|
28
28
|
|
|
29
|
-
flash[:success] = t(
|
|
29
|
+
flash[:success] = t("spree.created_successfully")
|
|
30
30
|
redirect_to edit_admin_user_url(@user)
|
|
31
31
|
else
|
|
32
32
|
load_roles
|
|
@@ -42,7 +42,7 @@ module Spree
|
|
|
42
42
|
set_roles
|
|
43
43
|
set_stock_locations
|
|
44
44
|
|
|
45
|
-
flash[:success] = t(
|
|
45
|
+
flash[:success] = t("spree.account_updated")
|
|
46
46
|
redirect_to edit_admin_user_url(@user)
|
|
47
47
|
else
|
|
48
48
|
load_roles
|
|
@@ -56,7 +56,7 @@ module Spree
|
|
|
56
56
|
def addresses
|
|
57
57
|
if request.put?
|
|
58
58
|
if @user.update(user_params)
|
|
59
|
-
flash.now[:success] = t(
|
|
59
|
+
flash.now[:success] = t("spree.account_updated")
|
|
60
60
|
end
|
|
61
61
|
|
|
62
62
|
render :addresses
|
|
@@ -74,9 +74,9 @@ module Spree
|
|
|
74
74
|
|
|
75
75
|
@search = Spree::Order.includes(
|
|
76
76
|
line_items: {
|
|
77
|
-
variant: [:product, {
|
|
77
|
+
variant: [:product, {option_values: :option_type}]
|
|
78
78
|
}
|
|
79
|
-
).ransack(params[:q].merge(user_id_eq: @user.id))
|
|
79
|
+
).ransack(params[:q].merge(user_id_eq: @user.id))
|
|
80
80
|
|
|
81
81
|
@orders = @search.result.page(params[:page]).per(Spree::Config[:admin_products_per_page])
|
|
82
82
|
end
|
|
@@ -104,7 +104,7 @@ module Spree
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
if can? :manage, Spree::StockLocation
|
|
107
|
-
attributes += [{
|
|
107
|
+
attributes += [{stock_location_ids: []}]
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
unless can? :update_password, @user
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class VariantsController < ResourceController
|
|
6
|
-
helper
|
|
6
|
+
helper "spree/admin/products"
|
|
7
7
|
|
|
8
|
-
belongs_to
|
|
8
|
+
belongs_to "spree/product", find_by: :slug
|
|
9
9
|
new_action.before :new_before
|
|
10
10
|
before_action :redirect_on_empty_option_values, only: [:new]
|
|
11
11
|
before_action :load_data, only: [:new, :create, :edit, :update]
|
|
@@ -13,17 +13,17 @@ module Spree
|
|
|
13
13
|
private
|
|
14
14
|
|
|
15
15
|
def new_before
|
|
16
|
-
@object.attributes = @object.product.master.attributes.except(
|
|
17
|
-
|
|
16
|
+
@object.attributes = @object.product.master.attributes.except("id", "created_at", "deleted_at",
|
|
17
|
+
"sku", "is_master")
|
|
18
18
|
# Shallow Clone of the default price to populate the price field.
|
|
19
19
|
@object.prices.build(@object.product.master.default_price.attributes.except("id", "created_at", "updated_at", "deleted_at"))
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def collection
|
|
23
|
-
if params[:deleted] == "on"
|
|
24
|
-
|
|
23
|
+
base_variant_scope ||= if params[:deleted] == "on"
|
|
24
|
+
super.with_discarded
|
|
25
25
|
else
|
|
26
|
-
|
|
26
|
+
super
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
search = Spree::Config.variant_search_class.new(params[:variant_search_term], scope: base_variant_scope)
|
|
@@ -36,7 +36,7 @@ module Spree
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
def variant_includes
|
|
39
|
-
[{
|
|
39
|
+
[{option_values: :option_type}, :prices]
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def redirect_on_empty_option_values
|
|
@@ -4,18 +4,18 @@ module Spree
|
|
|
4
4
|
module Admin
|
|
5
5
|
module AdjustmentsHelper
|
|
6
6
|
def adjustment_state(adjustment)
|
|
7
|
-
icon = adjustment.finalized? ?
|
|
8
|
-
content_tag(:span,
|
|
7
|
+
icon = adjustment.finalized? ? "lock" : "unlock"
|
|
8
|
+
content_tag(:span, "", class: "fa fa-#{icon}")
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def display_adjustable(adjustable)
|
|
12
12
|
case adjustable
|
|
13
13
|
when Spree::LineItem
|
|
14
|
-
|
|
14
|
+
display_line_item(adjustable)
|
|
15
15
|
when Spree::Shipment
|
|
16
|
-
|
|
16
|
+
display_shipment(adjustable)
|
|
17
17
|
when Spree::Order
|
|
18
|
-
|
|
18
|
+
display_order(adjustable)
|
|
19
19
|
end
|
|
20
20
|
end
|
|
21
21
|
|
|
@@ -32,14 +32,14 @@ module Spree
|
|
|
32
32
|
|
|
33
33
|
def display_shipment(shipment)
|
|
34
34
|
parts = [
|
|
35
|
-
"#{t(
|
|
35
|
+
"#{t("spree.shipment")} ##{shipment.number}",
|
|
36
36
|
shipment.display_cost
|
|
37
37
|
]
|
|
38
38
|
safe_join(parts, "<br>".html_safe)
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
def display_order(_order)
|
|
42
|
-
t(
|
|
42
|
+
t("spree.order")
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
end
|