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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4958f03ffc21587a25b09f2c740c02c65620763fe7dbe2f7c7af03beb34d871b
|
|
4
|
+
data.tar.gz: f6fd946e53ea567c45df3e320df786155f5d25fc213737310b452f8bb39df19a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8a218405e4b56232325c49b1f9e508216bfc38bc469c8b3b704be0d44206ba77919ede568341abdc4f35a70ebc13ea40fdc8d46e0509dcef62f895fe7420837a
|
|
7
|
+
data.tar.gz: 352496ad965b70ed839de9779048c8c49ecf67cf92cc83e374dad6cc7b15b1f3d1ce94e777829aa76c09cbde580df2bde5e1964e5ce4f77d8ca5886f803411f1
|
data/Rakefile
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
6
|
-
require
|
|
7
|
-
require
|
|
3
|
+
require "rubygems"
|
|
4
|
+
require "rake"
|
|
5
|
+
require "rake/testtask"
|
|
6
|
+
require "rspec/core/rake_task"
|
|
7
|
+
require "bundler/gem_tasks"
|
|
8
8
|
|
|
9
|
-
require
|
|
10
|
-
require
|
|
9
|
+
require "solidus_backend"
|
|
10
|
+
require "spree/testing_support/dummy_app/rake_tasks"
|
|
11
11
|
|
|
12
12
|
RSpec::Core::RakeTask.new
|
|
13
|
-
task default: [:spec,
|
|
13
|
+
task default: [:spec, "spec:js"]
|
|
14
14
|
|
|
15
15
|
DummyApp::RakeTasks.new(
|
|
16
16
|
gem_root: File.expand_path(__dir__),
|
|
17
|
-
lib_name:
|
|
17
|
+
lib_name: "solidus_backend"
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
task :teaspoon do
|
|
21
|
-
require
|
|
22
|
-
Rake::Task[
|
|
21
|
+
require "teaspoon"
|
|
22
|
+
Rake::Task["dummy_environment"].invoke
|
|
23
23
|
require "teaspoon/console"
|
|
24
24
|
|
|
25
25
|
options = {
|
|
26
26
|
files: ENV["files"].nil? ? [] : ENV["files"].split(","),
|
|
27
27
|
suite: ENV["suite"],
|
|
28
28
|
coverage: ENV["coverage"],
|
|
29
|
-
driver_options: ENV["driver_options"]
|
|
29
|
+
driver_options: ENV["driver_options"]
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
options.delete_if { |_k, v| v.nil? }
|
|
@@ -35,13 +35,13 @@ task :teaspoon do
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
desc "Run javascript specs"
|
|
38
|
-
task
|
|
38
|
+
task "spec:js" => :teaspoon
|
|
39
39
|
|
|
40
40
|
namespace :teaspoon do
|
|
41
41
|
task :server do
|
|
42
|
-
require
|
|
43
|
-
Rake::Task[
|
|
44
|
-
require
|
|
42
|
+
require "teaspoon"
|
|
43
|
+
Rake::Task["dummy_environment"].invoke
|
|
44
|
+
require "teaspoon/server"
|
|
45
45
|
|
|
46
46
|
server = Teaspoon::Server.new
|
|
47
47
|
server.start
|
|
@@ -50,4 +50,4 @@ namespace :teaspoon do
|
|
|
50
50
|
end
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
task test_app:
|
|
53
|
+
task test_app: "db:reset"
|
|
@@ -30,7 +30,6 @@ Tabs = (function() {
|
|
|
30
30
|
|
|
31
31
|
Tabs.prototype.overflowTabs = function() {
|
|
32
32
|
var containerWidth = this.el.offsetWidth;
|
|
33
|
-
var dropdownWidth = this.dropdown.offsetWidth;
|
|
34
33
|
|
|
35
34
|
for (var i = 0; i < this.tabs.length; i++) {
|
|
36
35
|
var tab = this.tabs[i];
|
|
@@ -41,7 +40,6 @@ Tabs = (function() {
|
|
|
41
40
|
this.el.classList.remove("tabs-overflowed");
|
|
42
41
|
} else {
|
|
43
42
|
this.el.classList.add("tabs-overflowed");
|
|
44
|
-
remainingWidth -= dropdownWidth;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
var remainingWidth = containerWidth;
|
data/app/assets/javascripts/spree/backend/views/tables/selectable_table/sum_return_item_amount.js
CHANGED
|
@@ -16,7 +16,7 @@ Spree.Views.Tables.SelectableTable.SumReturnItemAmount = Backbone.View.extend({
|
|
|
16
16
|
|
|
17
17
|
totalSelectedReturnItemAmount: function () {
|
|
18
18
|
var totalAmount = 0;
|
|
19
|
-
var selectedItems
|
|
19
|
+
var selectedItems;
|
|
20
20
|
var decimals = 0;
|
|
21
21
|
var separator = Spree.t('currency_separator');
|
|
22
22
|
var amount, decimalAmount;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class BaseController < Spree::BaseController
|
|
6
|
-
helper
|
|
7
|
-
layout
|
|
6
|
+
helper "spree/admin/navigation"
|
|
7
|
+
layout "spree/layouts/admin"
|
|
8
8
|
|
|
9
9
|
before_action :authorize_admin
|
|
10
10
|
|
|
@@ -21,10 +21,10 @@ module Spree
|
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def authorize_admin
|
|
24
|
-
if respond_to?(:model_class, true) && model_class
|
|
25
|
-
|
|
24
|
+
record = if respond_to?(:model_class, true) && model_class
|
|
25
|
+
model_class
|
|
26
26
|
else
|
|
27
|
-
|
|
27
|
+
controller_name.to_sym
|
|
28
28
|
end
|
|
29
29
|
authorize! :admin, record
|
|
30
30
|
authorize! action, record
|
|
@@ -39,13 +39,13 @@ module Spree
|
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
def flash_message_for(object, event_sym)
|
|
42
|
-
resource_desc
|
|
42
|
+
resource_desc = object.class.model_name.human
|
|
43
43
|
resource_desc += " \"#{object.name}\"" if object.respond_to?(:name) && object.name.present?
|
|
44
|
-
t(event_sym, resource: resource_desc, scope:
|
|
44
|
+
t(event_sym, resource: resource_desc, scope: "spree")
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def render_js_for_destroy
|
|
48
|
-
render partial:
|
|
48
|
+
render partial: "/spree/admin/shared/destroy"
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def config_locale
|
|
@@ -55,7 +55,7 @@ module Spree
|
|
|
55
55
|
def lock_order
|
|
56
56
|
Spree::OrderMutex.with_lock!(@order) { yield }
|
|
57
57
|
rescue Spree::OrderMutex::LockFailed
|
|
58
|
-
flash[:error] = t(
|
|
58
|
+
flash[:error] = t("spree.order_mutex_admin_error")
|
|
59
59
|
redirect_to order_mutex_redirect_path
|
|
60
60
|
end
|
|
61
61
|
|
|
@@ -14,15 +14,15 @@ module Spree
|
|
|
14
14
|
inventory_units = Spree::InventoryUnit.where(id: inventory_unit_ids)
|
|
15
15
|
|
|
16
16
|
if inventory_units.size != inventory_unit_ids.size
|
|
17
|
-
flash[:error] = t(
|
|
17
|
+
flash[:error] = t("spree.unable_to_find_all_inventory_units")
|
|
18
18
|
redirect_to admin_order_cancellations_path(@order)
|
|
19
19
|
elsif inventory_units.empty?
|
|
20
|
-
flash[:error] = t(
|
|
20
|
+
flash[:error] = t("spree.no_inventory_selected")
|
|
21
21
|
redirect_to admin_order_cancellations_path(@order)
|
|
22
22
|
else
|
|
23
23
|
@order.cancellations.short_ship(inventory_units, created_by:)
|
|
24
24
|
|
|
25
|
-
flash[:success] = t(
|
|
25
|
+
flash[:success] = t("spree.inventory_canceled")
|
|
26
26
|
redirect_to edit_admin_order_url(@order)
|
|
27
27
|
end
|
|
28
28
|
end
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class CustomerReturnsController < ResourceController
|
|
6
|
-
helper
|
|
7
|
-
belongs_to
|
|
6
|
+
helper "spree/admin/reimbursement_type"
|
|
7
|
+
belongs_to "spree/order", find_by: :number
|
|
8
8
|
|
|
9
9
|
before_action :parent # ensure order gets loaded to support our pseudo parent-child relationship
|
|
10
10
|
before_action :load_form_data, only: [:new, :edit]
|
|
11
11
|
before_action :build_return_items_from_params, only: [:create]
|
|
12
|
-
create.fails
|
|
12
|
+
create.fails :load_form_data
|
|
13
13
|
create.after :order_process_return
|
|
14
14
|
|
|
15
15
|
def edit
|
|
@@ -62,18 +62,18 @@ module Spree
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def permitted_resource_params
|
|
65
|
-
@permitted_resource_params ||= params.require(
|
|
65
|
+
@permitted_resource_params ||= params.require("customer_return").permit(permitted_customer_return_attributes)
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def build_return_items_from_params
|
|
69
69
|
return_items_params = permitted_resource_params.delete(:return_items_attributes).values
|
|
70
70
|
@customer_return.return_items = return_items_params.map do |item_params|
|
|
71
|
-
next unless item_params.delete(
|
|
71
|
+
next unless item_params.delete("returned") == "1"
|
|
72
72
|
return_item = item_params[:id] ? Spree::ReturnItem.find(item_params[:id]) : Spree::ReturnItem.new
|
|
73
73
|
return_item.assign_attributes(item_params)
|
|
74
74
|
|
|
75
75
|
if item_params[:reception_status_event].blank?
|
|
76
|
-
return redirect_to(new_object_url, flash: {
|
|
76
|
+
return redirect_to(new_object_url, flash: {error: "Reception status choice required"})
|
|
77
77
|
end
|
|
78
78
|
return_item
|
|
79
79
|
end.compact
|
|
@@ -22,13 +22,13 @@ module Spree
|
|
|
22
22
|
@variants = @product.variants.collect do |variant|
|
|
23
23
|
[variant.sku_and_options_text, variant.id]
|
|
24
24
|
end
|
|
25
|
-
@variants.insert(0, [t(
|
|
25
|
+
@variants.insert(0, [t("spree.all"), @product.master.id])
|
|
26
26
|
rescue ActiveRecord::RecordNotFound
|
|
27
27
|
resource_not_found(flash_class: Spree::Product, redirect_url: admin_products_path)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def set_viewable
|
|
31
|
-
@image.viewable_type =
|
|
31
|
+
@image.viewable_type = "Spree::Variant"
|
|
32
32
|
@image.viewable_id = params[:image][:viewable_id]
|
|
33
33
|
end
|
|
34
34
|
end
|
|
@@ -12,13 +12,13 @@ module Spree
|
|
|
12
12
|
I18n.locale = requested_locale
|
|
13
13
|
session[set_user_language_locale_key] = requested_locale
|
|
14
14
|
respond_to do |format|
|
|
15
|
-
format.json { render json: {
|
|
16
|
-
format.html { redirect_back_or_to spree.admin_url, notice: t(
|
|
15
|
+
format.json { render json: {locale: requested_locale, location: spree.admin_url} }
|
|
16
|
+
format.html { redirect_back_or_to spree.admin_url, notice: t("spree.locale_changed") }
|
|
17
17
|
end
|
|
18
18
|
else
|
|
19
19
|
respond_to do |format|
|
|
20
|
-
format.json { render json: {
|
|
21
|
-
format.html { redirect_back_or_to spree.admin_url, error: t(
|
|
20
|
+
format.json { render json: {locale: I18n.locale}, status: 404 }
|
|
21
|
+
format.html { redirect_back_or_to spree.admin_url, error: t("spree.error") }
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
end
|
|
@@ -31,7 +31,7 @@ module Spree
|
|
|
31
31
|
|
|
32
32
|
def set_available_option_types
|
|
33
33
|
@available_option_types = if @product.option_type_ids.any?
|
|
34
|
-
Spree::OptionType.where(
|
|
34
|
+
Spree::OptionType.where("id NOT IN (?)", @product.option_type_ids)
|
|
35
35
|
else
|
|
36
36
|
Spree::OptionType.all
|
|
37
37
|
end
|
|
@@ -35,7 +35,7 @@ module Spree
|
|
|
35
35
|
@order.refresh_shipment_rates
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
flash[:success] = t(
|
|
38
|
+
flash[:success] = t("spree.customer_details_updated")
|
|
39
39
|
redirect_to edit_admin_order_url(@order)
|
|
40
40
|
else
|
|
41
41
|
render action: :edit
|
|
@@ -74,7 +74,7 @@ module Spree
|
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
def insufficient_stock_error
|
|
77
|
-
flash[:error] = t(
|
|
77
|
+
flash[:error] = t("spree.insufficient_stock_for_order")
|
|
78
78
|
redirect_to edit_admin_order_customer_url(@order)
|
|
79
79
|
end
|
|
80
80
|
end
|
|
@@ -16,10 +16,10 @@ module Spree
|
|
|
16
16
|
|
|
17
17
|
def index
|
|
18
18
|
params[:q] ||= {}
|
|
19
|
-
params[:q][:completed_at_not_null] ||=
|
|
20
|
-
@show_only_completed = params[:q][:completed_at_not_null] ==
|
|
21
|
-
params[:q][:s] ||= @show_only_completed ?
|
|
22
|
-
params[:q][:completed_at_not_null] =
|
|
19
|
+
params[:q][:completed_at_not_null] ||= "1" if Spree::Config[:show_only_complete_orders_by_default]
|
|
20
|
+
@show_only_completed = params[:q][:completed_at_not_null] == "1"
|
|
21
|
+
params[:q][:s] ||= @show_only_completed ? "completed_at desc" : "created_at desc"
|
|
22
|
+
params[:q][:completed_at_not_null] = "" unless @show_only_completed
|
|
23
23
|
|
|
24
24
|
# As date params are deleted if @show_only_completed, store
|
|
25
25
|
# the original date so we can restore them into the params
|
|
@@ -31,18 +31,18 @@ module Spree
|
|
|
31
31
|
|
|
32
32
|
if params[:q][:created_at_gt].present?
|
|
33
33
|
params[:q][:created_at_gt] = begin
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
Time.zone.parse(params[:q][:created_at_gt]).beginning_of_day
|
|
35
|
+
rescue
|
|
36
|
+
""
|
|
37
|
+
end
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
if params[:q][:created_at_lt].present?
|
|
41
41
|
params[:q][:created_at_lt] = begin
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
Time.zone.parse(params[:q][:created_at_lt]).end_of_day
|
|
43
|
+
rescue
|
|
44
|
+
""
|
|
45
|
+
end
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
if @show_only_completed
|
|
@@ -51,9 +51,9 @@ module Spree
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
@search = Spree::Order.accessible_by(current_ability, :index).ransack(params[:q])
|
|
54
|
-
@orders = @search.result.includes([:user])
|
|
55
|
-
page(params[:page])
|
|
56
|
-
per(params[:per_page] || Spree::Config[:orders_per_page])
|
|
54
|
+
@orders = @search.result.includes([:user])
|
|
55
|
+
.page(params[:page])
|
|
56
|
+
.per(params[:per_page] || Spree::Config[:orders_per_page])
|
|
57
57
|
|
|
58
58
|
# Restore dates
|
|
59
59
|
params[:q][:created_at_gt] = created_at_gt
|
|
@@ -82,15 +82,15 @@ module Spree
|
|
|
82
82
|
|
|
83
83
|
def advance
|
|
84
84
|
if @order.completed?
|
|
85
|
-
flash[:notice] = t(
|
|
85
|
+
flash[:notice] = t("spree.order_already_completed")
|
|
86
86
|
redirect_to edit_admin_order_url(@order)
|
|
87
87
|
else
|
|
88
88
|
@order.contents.advance
|
|
89
89
|
|
|
90
90
|
if @order.can_complete?
|
|
91
|
-
flash[:success] = t(
|
|
91
|
+
flash[:success] = t("spree.order_ready_for_confirm")
|
|
92
92
|
else
|
|
93
|
-
flash[:error] = @order.errors.full_messages.join(
|
|
93
|
+
flash[:error] = @order.errors.full_messages.join(", ")
|
|
94
94
|
end
|
|
95
95
|
redirect_to confirm_admin_order_url(@order)
|
|
96
96
|
end
|
|
@@ -101,14 +101,14 @@ module Spree
|
|
|
101
101
|
if @order.completed?
|
|
102
102
|
redirect_to edit_admin_order_url(@order)
|
|
103
103
|
elsif !@order.can_complete?
|
|
104
|
-
render template:
|
|
104
|
+
render template: "spree/admin/orders/confirm_advance"
|
|
105
105
|
end
|
|
106
106
|
end
|
|
107
107
|
|
|
108
108
|
# PUT
|
|
109
109
|
def complete
|
|
110
110
|
@order.complete!
|
|
111
|
-
flash[:success] = t(
|
|
111
|
+
flash[:success] = t("spree.order_completed")
|
|
112
112
|
redirect_to edit_admin_order_url(@order)
|
|
113
113
|
rescue StateMachines::InvalidTransition => error
|
|
114
114
|
flash[:error] = error.message
|
|
@@ -117,25 +117,25 @@ module Spree
|
|
|
117
117
|
|
|
118
118
|
def cancel
|
|
119
119
|
@order.canceled_by(spree_current_user)
|
|
120
|
-
flash[:success] = t(
|
|
120
|
+
flash[:success] = t("spree.order_canceled")
|
|
121
121
|
redirect_to(spree.edit_admin_order_path(@order))
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def resume
|
|
125
125
|
@order.resume!
|
|
126
|
-
flash[:success] = t(
|
|
126
|
+
flash[:success] = t("spree.order_resumed")
|
|
127
127
|
redirect_to(spree.edit_admin_order_path(@order))
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
def approve
|
|
131
131
|
@order.contents.approve(user: spree_current_user)
|
|
132
|
-
flash[:success] = t(
|
|
132
|
+
flash[:success] = t("spree.order_approved")
|
|
133
133
|
redirect_to(spree.edit_admin_order_path(@order))
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
def resend
|
|
137
137
|
Spree::Config.order_mailer_class.confirm_email(@order, true).deliver_later
|
|
138
|
-
flash[:success] = t(
|
|
138
|
+
flash[:success] = t("spree.order_email_resent")
|
|
139
139
|
|
|
140
140
|
redirect_to(spree.edit_admin_order_path(@order))
|
|
141
141
|
end
|
|
@@ -143,7 +143,7 @@ module Spree
|
|
|
143
143
|
def unfinalize_adjustments
|
|
144
144
|
adjustments = @order.all_adjustments.finalized
|
|
145
145
|
adjustments.each(&:unfinalize!)
|
|
146
|
-
flash[:success] = t(
|
|
146
|
+
flash[:success] = t("spree.all_adjustments_unfinalized")
|
|
147
147
|
|
|
148
148
|
respond_with(@order) { |format| format.html { redirect_to(spree.admin_order_adjustments_path(@order)) } }
|
|
149
149
|
end
|
|
@@ -151,7 +151,7 @@ module Spree
|
|
|
151
151
|
def finalize_adjustments
|
|
152
152
|
adjustments = @order.all_adjustments.not_finalized
|
|
153
153
|
adjustments.each(&:finalize!)
|
|
154
|
-
flash[:success] = t(
|
|
154
|
+
flash[:success] = t("spree.all_adjustments_finalized")
|
|
155
155
|
|
|
156
156
|
respond_with(@order) { |format| format.html { redirect_to(spree.admin_order_adjustments_path(@order)) } }
|
|
157
157
|
end
|
|
@@ -175,7 +175,7 @@ module Spree
|
|
|
175
175
|
|
|
176
176
|
# Used for extensions which need to provide their own custom event links on the order details view.
|
|
177
177
|
def initialize_order_events
|
|
178
|
-
@order_events = %w
|
|
178
|
+
@order_events = %w[approve cancel resume]
|
|
179
179
|
end
|
|
180
180
|
|
|
181
181
|
def model_class
|
|
@@ -183,13 +183,13 @@ module Spree
|
|
|
183
183
|
end
|
|
184
184
|
|
|
185
185
|
def insufficient_stock_error
|
|
186
|
-
flash[:error] = t(
|
|
186
|
+
flash[:error] = t("spree.insufficient_stock_for_order")
|
|
187
187
|
redirect_to cart_admin_order_url(@order)
|
|
188
188
|
end
|
|
189
189
|
|
|
190
190
|
def require_ship_address
|
|
191
191
|
if @order.ship_address.nil?
|
|
192
|
-
flash[:notice] = t(
|
|
192
|
+
flash[:notice] = t("spree.fill_in_customer_info")
|
|
193
193
|
redirect_to edit_admin_order_customer_url(@order)
|
|
194
194
|
end
|
|
195
195
|
end
|
|
@@ -15,7 +15,7 @@ module Spree
|
|
|
15
15
|
invoke_callbacks(:create, :before)
|
|
16
16
|
if @payment_method.save
|
|
17
17
|
invoke_callbacks(:create, :after)
|
|
18
|
-
flash[:success] = t(
|
|
18
|
+
flash[:success] = t("spree.successfully_created", resource: t("spree.payment_method"))
|
|
19
19
|
redirect_to edit_admin_payment_method_path(@payment_method)
|
|
20
20
|
else
|
|
21
21
|
invoke_callbacks(:create, :fails)
|
|
@@ -36,7 +36,7 @@ module Spree
|
|
|
36
36
|
|
|
37
37
|
if @payment_method.update(attributes)
|
|
38
38
|
invoke_callbacks(:update, :after)
|
|
39
|
-
flash[:success] = t(
|
|
39
|
+
flash[:success] = t("spree.successfully_updated", resource: t("spree.payment_method"))
|
|
40
40
|
redirect_to edit_admin_payment_method_path(@payment_method)
|
|
41
41
|
else
|
|
42
42
|
invoke_callbacks(:update, :fails)
|
|
@@ -61,7 +61,7 @@ module Spree
|
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
if !@payment_method_type
|
|
64
|
-
flash[:error] = t(
|
|
64
|
+
flash[:error] = t("spree.invalid_payment_method_type")
|
|
65
65
|
redirect_to new_admin_payment_method_path
|
|
66
66
|
end
|
|
67
67
|
end
|
|
@@ -27,7 +27,7 @@ module Spree
|
|
|
27
27
|
|
|
28
28
|
def create
|
|
29
29
|
@payment = PaymentCreate.new(@order, object_params).build
|
|
30
|
-
if @payment.payment_method.source_required? && params[:card].present? && params[:card] !=
|
|
30
|
+
if @payment.payment_method.source_required? && params[:card].present? && params[:card] != "new"
|
|
31
31
|
@payment.source = @payment.payment_method.payment_source_class.find_by(id: params[:card])
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -45,7 +45,7 @@ module Spree
|
|
|
45
45
|
flash[:success] = flash_message_for(@payment, :successfully_created)
|
|
46
46
|
redirect_to admin_order_payments_path(@order)
|
|
47
47
|
else
|
|
48
|
-
flash[:error] = t(
|
|
48
|
+
flash[:error] = t("spree.payment_could_not_be_created")
|
|
49
49
|
render :new
|
|
50
50
|
end
|
|
51
51
|
rescue Spree::Core::GatewayError => error
|
|
@@ -60,9 +60,9 @@ module Spree
|
|
|
60
60
|
# Because we have a transition method also called void, we do this to avoid conflicts.
|
|
61
61
|
event = "void_transaction" if event == "void"
|
|
62
62
|
if @payment.send("#{event}!")
|
|
63
|
-
flash[:success] = t(
|
|
63
|
+
flash[:success] = t("spree.payment_updated")
|
|
64
64
|
else
|
|
65
|
-
flash[:error] = t(
|
|
65
|
+
flash[:error] = t("spree.cannot_perform_operation")
|
|
66
66
|
end
|
|
67
67
|
rescue Spree::Core::GatewayError => ge
|
|
68
68
|
flash[:error] = ge.message.to_s
|
|
@@ -83,10 +83,10 @@ module Spree
|
|
|
83
83
|
def load_data
|
|
84
84
|
@amount = params[:amount] || load_order.total
|
|
85
85
|
@payment_methods = Spree::PaymentMethod.active.available_to_admin.ordered_by_position
|
|
86
|
-
|
|
87
|
-
@
|
|
86
|
+
@payment_method = if @payment&.payment_method
|
|
87
|
+
@payment.payment_method
|
|
88
88
|
else
|
|
89
|
-
@
|
|
89
|
+
@payment_methods.first
|
|
90
90
|
end
|
|
91
91
|
end
|
|
92
92
|
|
|
@@ -113,13 +113,13 @@ module Spree
|
|
|
113
113
|
|
|
114
114
|
def require_bill_address
|
|
115
115
|
if Spree::Config[:order_bill_address_used] && @order.bill_address.nil?
|
|
116
|
-
flash[:notice] = t(
|
|
116
|
+
flash[:notice] = t("spree.fill_in_customer_info")
|
|
117
117
|
redirect_to edit_admin_order_customer_url(@order)
|
|
118
118
|
end
|
|
119
119
|
end
|
|
120
120
|
|
|
121
121
|
def insufficient_stock_error
|
|
122
|
-
flash[:error] = t(
|
|
122
|
+
flash[:error] = t("spree.insufficient_stock_for_order")
|
|
123
123
|
redirect_to new_admin_order_payment_url(@order)
|
|
124
124
|
end
|
|
125
125
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class ProductPropertiesController < ResourceController
|
|
6
|
-
belongs_to
|
|
6
|
+
belongs_to "spree/product", find_by: :slug, includes: {product_properties: :property}
|
|
7
7
|
before_action :find_properties
|
|
8
8
|
before_action :setup_property, only: :index, if: -> { can?(:create, model_class) }
|
|
9
9
|
before_action :setup_variant_property_rules, only: :index
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Spree
|
|
4
4
|
module Admin
|
|
5
5
|
class ProductsController < ResourceController
|
|
6
|
-
helper
|
|
6
|
+
helper "spree/products"
|
|
7
7
|
|
|
8
8
|
before_action :load_data, except: [:index]
|
|
9
9
|
update.before :update_before
|
|
@@ -25,7 +25,7 @@ module Spree
|
|
|
25
25
|
@product = Spree::Product.friendly.find(params[:id])
|
|
26
26
|
@product.discard
|
|
27
27
|
|
|
28
|
-
flash[:success] = t(
|
|
28
|
+
flash[:success] = t("spree.notice_messages.product_deleted")
|
|
29
29
|
|
|
30
30
|
respond_with(@product) do |format|
|
|
31
31
|
format.html { redirect_to collection_url }
|
|
@@ -37,9 +37,9 @@ module Spree
|
|
|
37
37
|
@new = @product.duplicate
|
|
38
38
|
|
|
39
39
|
if @new.save
|
|
40
|
-
flash[:success] = t(
|
|
40
|
+
flash[:success] = t("spree.notice_messages.product_cloned")
|
|
41
41
|
else
|
|
42
|
-
flash[:error] = t(
|
|
42
|
+
flash[:error] = t("spree.notice_messages.product_not_cloned")
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
redirect_to edit_admin_product_url(@new)
|
|
@@ -53,10 +53,10 @@ module Spree
|
|
|
53
53
|
|
|
54
54
|
def split_params
|
|
55
55
|
if params[:product][:taxon_ids].present?
|
|
56
|
-
params[:product][:taxon_ids] = params[:product][:taxon_ids].split(
|
|
56
|
+
params[:product][:taxon_ids] = params[:product][:taxon_ids].split(",")
|
|
57
57
|
end
|
|
58
58
|
if params[:product][:option_type_ids].present?
|
|
59
|
-
params[:product][:option_type_ids] = params[:product][:option_type_ids].split(
|
|
59
|
+
params[:product][:option_type_ids] = params[:product][:option_type_ids].split(",")
|
|
60
60
|
end
|
|
61
61
|
end
|
|
62
62
|
|
|
@@ -89,11 +89,11 @@ module Spree
|
|
|
89
89
|
params[:q][:s] ||= "name asc"
|
|
90
90
|
# @search needs to be defined as this is passed to search_form_for
|
|
91
91
|
@search = super.ransack(params[:q])
|
|
92
|
-
@collection = @search.result
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
@collection = @search.result
|
|
93
|
+
.order(id: :asc)
|
|
94
|
+
.includes(product_includes)
|
|
95
|
+
.page(params[:page])
|
|
96
|
+
.per(Spree::Config[:admin_products_per_page])
|
|
97
97
|
end
|
|
98
98
|
|
|
99
99
|
def update_before
|
|
@@ -104,7 +104,7 @@ module Spree
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
def product_includes
|
|
107
|
-
[:variant_images, {
|
|
107
|
+
[:variant_images, {variants: [:images], master: [:images, :prices]}]
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
def clone_object_url(resource)
|
|
@@ -127,14 +127,14 @@ module Spree
|
|
|
127
127
|
# Stops people submitting blank slugs, causing errors when they try to
|
|
128
128
|
# update the product again
|
|
129
129
|
@product.slug = @product.slug_was if @product.slug.blank?
|
|
130
|
-
render action:
|
|
130
|
+
render action: "edit"
|
|
131
131
|
end
|
|
132
132
|
|
|
133
133
|
def normalize_variant_property_rules
|
|
134
134
|
return unless updating_variant_property_rules?
|
|
135
135
|
|
|
136
136
|
params[:product][:variant_property_rules_attributes].each_value do |param_attrs|
|
|
137
|
-
param_attrs[:option_value_ids] = param_attrs[:option_value_ids].split(
|
|
137
|
+
param_attrs[:option_value_ids] = param_attrs[:option_value_ids].split(",")
|
|
138
138
|
end
|
|
139
139
|
end
|
|
140
140
|
end
|