Merge pull request #5980 from luisramos0/spree_clean_up

[Bye bye spree] Some clean up fixes to make it all work without spree
This commit is contained in:
Luis Ramos
2020-10-20 18:52:54 +01:00
committed by GitHub
42 changed files with 96 additions and 99 deletions

View File

@@ -73,7 +73,7 @@ module Admin
if @enterprise.update(attributes)
flash[:success] = I18n.t(:enterprise_register_success_notice, enterprise: @enterprise.name)
redirect_to admin_dashboard_path
redirect_to spree.admin_dashboard_path
else
flash[:error] = I18n.t(:enterprise_register_error, enterprise: @enterprise.name)
render :welcome, layout: "spree/layouts/bare_admin"

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'open_food_network/address_finder'
require 'spree/core/gateway_error'
class CheckoutController < Spree::StoreController
layout 'darkswarm'
@@ -150,7 +151,7 @@ class CheckoutController < Spree::StoreController
def handle_redirect_from_stripe
if OrderWorkflow.new(@order).next && order_complete?
checkout_succeeded
redirect_to(order_path(@order)) && return
redirect_to(spree.order_path(@order)) && return
else
checkout_failed
end
@@ -210,10 +211,10 @@ class CheckoutController < Spree::StoreController
def update_succeeded_response
respond_to do |format|
format.html do
respond_with(@order, location: order_path(@order))
respond_with(@order, location: spree.order_path(@order))
end
format.json do
render json: { path: order_path(@order) }, status: :ok
render json: { path: spree.order_path(@order) }, status: :ok
end
end
end

View File

@@ -17,7 +17,7 @@ module Spree
end
flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:general_settings))
redirect_to edit_admin_general_settings_path
redirect_to spree.edit_admin_general_settings_path
end
end
end

View File

@@ -61,7 +61,7 @@ module Spree
private
def location_after_save
admin_product_images_url(@product)
spree.admin_product_images_url(@product)
end
def load_data

View File

@@ -23,7 +23,7 @@ module Spree
rescue StandardError => e
flash[:error] = Spree.t('admin.mail_methods.testmail.error') % { e: e }
ensure
redirect_to edit_admin_mail_methods_url
redirect_to spree.edit_admin_mail_methods_url
end
private

View File

@@ -27,7 +27,7 @@ module Spree
@order.shipments.map(&:refresh_rates)
flash[:success] = Spree.t('customer_details_updated')
redirect_to admin_order_customer_path(@order)
redirect_to spree.admin_order_customer_path(@order)
else
render action: :edit
end

View File

@@ -29,7 +29,7 @@ module Spree
@order = Order.create
@order.created_by = spree_current_user
@order.save
redirect_to edit_admin_order_url(@order)
redirect_to spree.edit_admin_order_url(@order)
end
def edit
@@ -48,16 +48,16 @@ module Spree
if @order.line_items.empty?
@order.errors.add(:line_items, Spree.t('errors.messages.blank'))
end
return redirect_to(edit_admin_order_path(@order),
return redirect_to(spree.edit_admin_order_path(@order),
flash: { error: @order.errors.full_messages.join(', ') })
end
@order.update!
if @order.complete?
redirect_to edit_admin_order_path(@order)
redirect_to spree.edit_admin_order_path(@order)
else
# Jump to next step if order is not complete
redirect_to admin_order_customer_path(@order)
redirect_to spree.admin_order_customer_path(@order)
end
end
@@ -91,7 +91,9 @@ module Spree
Spree::OrderMailer.invoice_email(@order.id, pdf).deliver
flash[:success] = t('admin.orders.invoice_email_sent')
respond_with(@order) { |format| format.html { redirect_to edit_admin_order_path(@order) } }
respond_with(@order) { |format|
format.html { redirect_to spree.edit_admin_order_path(@order) }
}
end
def print
@@ -131,7 +133,9 @@ module Spree
flash[:error] = t(:must_have_valid_business_number,
enterprise_name: @order.distributor.name)
respond_with(@order) { |format| format.html { redirect_to edit_admin_order_path(@order) } }
respond_with(@order) { |format|
format.html { redirect_to spree.edit_admin_order_path(@order) }
}
end
def load_distribution_choices

View File

@@ -22,7 +22,7 @@ module Spree
if @payment_method.save
invoke_callbacks(:create, :after)
flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:payment_method))
redirect_to edit_admin_payment_method_path(@payment_method)
redirect_to spree.edit_admin_payment_method_path(@payment_method)
else
invoke_callbacks(:create, :fails)
respond_with(@payment_method)
@@ -43,7 +43,7 @@ module Spree
if @payment_method.update(params_for_update)
invoke_callbacks(:update, :after)
flash[:success] = Spree.t(:successfully_updated, resource: Spree.t(:payment_method))
redirect_to edit_admin_payment_method_path(@payment_method)
redirect_to spree.edit_admin_payment_method_path(@payment_method)
else
invoke_callbacks(:update, :fails)
respond_with(@payment_method)
@@ -122,7 +122,7 @@ module Spree
return if valid_payment_methods.include?(params[:payment_method][:type])
flash[:error] = Spree.t(:invalid_payment_provider)
redirect_to new_admin_payment_method_path
redirect_to spree.new_admin_payment_method_path
end
def load_hubs

View File

@@ -12,7 +12,7 @@ module Spree
def index
@payments = @order.payments
redirect_to new_admin_order_payment_url(@order) if @payments.empty?
redirect_to spree.new_admin_order_payment_url(@order) if @payments.empty?
end
def new
@@ -25,7 +25,7 @@ module Spree
begin
unless @payment.save
redirect_to admin_order_payments_path(@order)
redirect_to spree.admin_order_payments_path(@order)
return
end
@@ -35,16 +35,16 @@ module Spree
@payment.process!
flash[:success] = flash_message_for(@payment, :successfully_created)
redirect_to admin_order_payments_path(@order)
redirect_to spree.admin_order_payments_path(@order)
else
OrderWorkflow.new(@order).complete!
flash[:success] = Spree.t(:new_order_completed)
redirect_to edit_admin_order_url(@order)
redirect_to spree.edit_admin_order_url(@order)
end
rescue Spree::Core::GatewayError => e
flash[:error] = e.message.to_s
redirect_to new_admin_order_payment_path(@order)
redirect_to spree.new_admin_order_payment_path(@order)
end
end
@@ -118,7 +118,7 @@ module Spree
return if @order.payment? || @order.complete?
flash[:notice] = Spree.t(:fill_in_customer_info)
redirect_to edit_admin_order_customer_url(@order)
redirect_to spree.edit_admin_order_customer_url(@order)
end
def load_order

View File

@@ -29,9 +29,9 @@ module Spree
if @object.save
flash[:success] = flash_message_for(@object, :successfully_created)
if params[:button] == "add_another"
redirect_to new_admin_product_path
redirect_to spree.new_admin_product_path
else
redirect_to admin_products_path
redirect_to spree.admin_products_path
end
else
render :new
@@ -70,7 +70,7 @@ module Spree
flash[:success] = flash_message_for(@object, :successfully_updated)
end
redirect_to edit_admin_product_url(@object, @url_filters)
redirect_to spree.edit_admin_product_url(@object, @url_filters)
end
end
@@ -97,7 +97,7 @@ module Spree
Spree.t('notice_messages.product_not_cloned')
end
redirect_to edit_admin_product_url(@new)
redirect_to spree.edit_admin_product_url(@new)
end
def group_buy_options

View File

@@ -74,7 +74,7 @@ module Spree
end
def location_after_save
edit_admin_shipping_method_path(@shipping_method)
spree.edit_admin_shipping_method_path(@shipping_method)
end
def load_data

View File

@@ -14,7 +14,7 @@ module Spree
protected
def location_after_save
admin_country_states_url(@country)
spree.admin_country_states_url(@country)
end
def collection

View File

@@ -6,7 +6,7 @@ module Spree
respond_to do |format|
format.html {
redirect_to edit_admin_tax_settings_path
redirect_to spree.edit_admin_tax_settings_path
}
end
end

View File

@@ -11,9 +11,9 @@ module Spree
def location_after_save
if @taxonomy.created_at == @taxonomy.updated_at
edit_admin_taxonomy_url(@taxonomy)
spree.edit_admin_taxonomy_url(@taxonomy)
else
admin_taxonomies_url
spree.admin_taxonomies_url
end
end

View File

@@ -15,9 +15,9 @@ module Spree
respond_with(@taxon) do |format|
format.html do
if redirect_to @taxonomy
edit_admin_taxonomy_url(@taxonomy)
spree.edit_admin_taxonomy_url(@taxonomy)
else
admin_taxonomies_url
spree.admin_taxonomies_url
end
end
end
@@ -95,7 +95,7 @@ module Spree
end
respond_with(@taxon) do |format|
format.html { redirect_to edit_admin_taxonomy_url(@taxonomy) }
format.html { redirect_to spree.edit_admin_taxonomy_url(@taxonomy) }
format.json { render json: @taxon.to_json }
end
end

View File

@@ -60,14 +60,14 @@ module Spree
if @user.generate_spree_api_key!
flash[:success] = t('spree.api.key_generated')
end
redirect_to edit_admin_user_path(@user)
redirect_to spree.edit_admin_user_path(@user)
end
def clear_api_key
if @user.clear_spree_api_key!
flash[:success] = t('spree.api.key_cleared')
end
redirect_to edit_admin_user_path(@user)
redirect_to spree.edit_admin_user_path(@user)
end
protected

View File

@@ -61,17 +61,21 @@ module Spree
@url_filters = ::ProductFilters.new.extract(request.query_parameters)
@variant = Spree::Variant.find(params[:id])
flash[:success] = if VariantDeleter.new.delete(@variant)
Spree.t('notice_messages.variant_deleted')
else
Spree.t('notice_messages.variant_not_deleted')
end
flash[:success] = delete_variant
redirect_to admin_product_variants_url(params[:product_id], @url_filters)
redirect_to spree.admin_product_variants_url(params[:product_id], @url_filters)
end
protected
def delete_variant
if VariantDeleter.new.delete(@variant)
Spree.t('notice_messages.variant_deleted')
else
Spree.t('notice_messages.variant_not_deleted')
end
end
def create_before
option_values = params[:new_variant]
option_values.andand.each_value { |id| @object.option_values << OptionValue.find(id) }

View File

@@ -3,8 +3,8 @@
require 'cancan'
require 'spree/core/controller_helpers/auth'
require 'spree/core/controller_helpers/respond_with'
require 'spree/core/controller_helpers/common'
require 'spree/core/controller_helpers/ssl'
require 'spree/core/controller_helpers/common'
module Spree
class BaseController < ApplicationController

View File

@@ -48,10 +48,10 @@ module Spree
else
flash[:error] = I18n.t(:card_could_not_be_removed)
end
redirect_to account_path(anchor: 'cards')
redirect_to spree.account_path(anchor: 'cards')
rescue Stripe::CardError
flash[:error] = I18n.t(:card_could_not_be_removed)
redirect_to account_path(anchor: 'cards')
redirect_to spree.account_path(anchor: 'cards')
end
private

View File

@@ -90,7 +90,7 @@ module Spree
@order.next_transition.run_callbacks if @order.cart?
redirect_to checkout_state_path(@order.checkout_steps.first)
elsif @order.complete?
redirect_to order_path(@order)
redirect_to spree.order_path(@order)
else
redirect_to main_app.cart_path
end
@@ -157,7 +157,7 @@ module Spree
else
flash[:error] = I18n.t(:orders_could_not_cancel)
end
redirect_to request.referer || order_path(@order)
redirect_to request.referer || spree.order_path(@order)
end
private
@@ -221,7 +221,7 @@ module Spree
if items.empty?
flash[:error] = I18n.t(:orders_cannot_remove_the_final_item)
redirect_to order_path(order_to_update)
redirect_to spree.order_path(order_to_update)
end
end

View File

@@ -7,7 +7,7 @@ require "spree/core/controller_helpers/ssl"
module Spree
class UserPasswordsController < Devise::PasswordsController
helper 'spree/base', 'spree/store'
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common

View File

@@ -7,7 +7,7 @@ require "spree/core/controller_helpers/ssl"
module Spree
class UserRegistrationsController < Devise::RegistrationsController
helper 'spree/base', 'spree/store'
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common

View File

@@ -7,7 +7,7 @@ require "spree/core/controller_helpers/ssl"
module Spree
class UserSessionsController < Devise::SessionsController
helper 'spree/base', 'spree/store'
helper 'spree/base'
include Spree::Core::ControllerHelpers::Auth
include Spree::Core::ControllerHelpers::Common

View File

@@ -1,5 +1,6 @@
require 'open_food_network/locking'
require 'open_food_network/permalink_generator'
require 'spree/core/s3_support'
class EnterpriseGroup < ActiveRecord::Base
include PermalinkGenerator

View File

@@ -1,5 +1,8 @@
# frozen_string_literal: true
require 'concerns/payment_method_distributors'
require 'spree/core/delegate_belongs_to'
module Spree
class Gateway < PaymentMethod
include PaymentMethodDistributors

View File

@@ -1,5 +1,8 @@
# frozen_string_literal: true
require 'concerns/payment_method_distributors'
require 'spree/core/calculated_adjustments'
module Spree
class PaymentMethod < ActiveRecord::Base
include Spree::Core::CalculatedAdjustments
@@ -99,7 +102,7 @@ module Spree
self.class.include Spree::Core::CalculatedAdjustments
end
self.calculator ||= Calculator::FlatRate.new(preferred_amount: 0)
self.calculator ||= ::Calculator::FlatRate.new(preferred_amount: 0)
end
def has_distributor?(distributor)

View File

@@ -7,7 +7,6 @@
# config.setting_name = 'new value'
require "spree/core/environment"
require 'spree/product_filters'
# Due to a bug in ActiveRecord we need to load the tagging code in Gateway which
# should have inherited it from its parent PaymentMethod.

View File

@@ -44,6 +44,10 @@ en:
variant_unit_name: "Variant Unit Name"
spree/credit_card:
base: "Credit Card"
number: "Number"
month: "Month"
verification_value: "Verification Value"
year: "Year"
order_cycle:
orders_close_at: Close date
variant_override:
@@ -3152,6 +3156,13 @@ See the %{link} to find out more about %{sitename}'s features and to start using
cannot_create_payment_without_payment_methods: "You cannot create a payment for an order without any payment methods defined."
please_define_payment_methods: "Please define some payment methods first."
options: "Options"
has_no_shipped_units: "has no shipped units"
successfully_created: ! '%{resource} has been successfully created!'
successfully_updated: ! '%{resource} has been successfully updated!'
payment_processing_failed: "Payment could not be processed, please check the details you entered"
not_available: "N/A"
order_populator:
out_of_stock: ! '%{item} is out of stock.'
actions:
update: "Update"

View File

@@ -40,14 +40,12 @@ module Spree
end
end
require 'spree/core/version'
require 'spree/core/engine'
require 'spree/i18n'
require 'spree/money'
require 'spree/core/delegate_belongs_to'
require 'spree/core/ext/active_record'
require 'spree/core/permalinks'
require 'spree/core/token_resource'
require 'spree/core/calculated_adjustments'

View File

@@ -1,5 +1,7 @@
# frozen_string_literal: true
require 'spree/responder'
module ActionController
class Base
def respond_with(*resources, &block)

View File

@@ -1,20 +0,0 @@
module Spree
module ProductFilters
if Enterprise.table_exists?
Spree::Product.scope :distributor_any,
lambda { |*opts|
conds = opts.map { |o| ProductFilters.distributor_filter[:conds][o] }.reject(&:nil?)
Spree::Product.joins(:distributors).conditions_any(conds)
}
def ProductFilters.distributor_filter
distributors = Enterprise.is_distributor.map(&:name).compact.uniq
conds = Hash[*distributors.map { |d| [d, "#{Enterprise.table_name}.name = '#{d}'"] }.flatten]
{ name: "Group",
scope: :distributor_any,
conds: conds,
labels: distributors.sort.map { |k| [k, k] } }
end
end
end
end

View File

@@ -8,7 +8,7 @@ module Spree
describe "setting included tax" do
let(:order) { create(:order) }
let(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: Calculator::DefaultTax.new) }
let(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: ::Calculator::DefaultTax.new) }
describe "creating an adjustment" do
it "sets included tax to zero when no tax rate is specified" do

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
require 'spec_helper'
require 'spree/core/gateway_error'
describe Spree::Admin::PaymentsController, type: :controller do
let!(:shop) { create(:enterprise) }

View File

@@ -1,9 +1,9 @@
FactoryBot.define do
factory :calculator, class: Spree::Calculator::FlatRate do
factory :calculator, class: Calculator::FlatRate do
after(:create) { |c| c.set_preference(:amount, 10.0) }
end
factory :no_amount_calculator, class: Spree::Calculator::FlatRate do
factory :no_amount_calculator, class: Calculator::FlatRate do
after(:create) { |c| c.set_preference(:amount, 0) }
end

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
FactoryBot.define do
factory :stock_package, class: Spree::Stock::Package do
factory :stock_package, class: OrderManagement::Stock::Package do
ignore do
stock_location { build(:stock_location) }
order { create(:order_with_line_items, line_items_count: 2) }

View File

@@ -10,7 +10,7 @@ describe "Tax Rates" do
login_as_admin_and_visit spree.edit_admin_general_settings_path
end
# Regression test for #535
# Regression test for Spree #535
it "can see a tax rate in the list if the tax category has been deleted" do
tax_rate.tax_category.update_column(:deleted_at, Time.zone.now)
expect { click_link "Tax Rates" }.not_to raise_error

View File

@@ -1,12 +0,0 @@
require 'spec_helper'
describe Spree::ProductFilters do
context "distributor filter" do
it "provides filtering for all distributors" do
3.times { create(:distributor_enterprise) }
Enterprise.is_distributor.sort.map { |d| [d.name, d.name] }.each do |distributor|
expect(Spree::ProductFilters.distributor_filter[:labels]).to include distributor
end
end
end
end

View File

@@ -172,7 +172,7 @@ module Spree
end
describe "finding line items with and without tax" do
let(:tax_rate) { create(:tax_rate, calculator: Calculator::DefaultTax.new) }
let(:tax_rate) { create(:tax_rate, calculator: ::Calculator::DefaultTax.new) }
let!(:adjustment1) { create(:adjustment, originator: tax_rate, label: "TR", amount: 123, included_tax: 10.00) }
before do
@@ -448,7 +448,7 @@ module Spree
describe "tax" do
let(:li_no_tax) { create(:line_item) }
let(:li_tax) { create(:line_item) }
let(:tax_rate) { create(:tax_rate, calculator: Calculator::DefaultTax.new) }
let(:tax_rate) { create(:tax_rate, calculator: ::Calculator::DefaultTax.new) }
let!(:adjustment) { create(:adjustment, adjustable: li_tax, originator: tax_rate, label: "TR", amount: 123, included_tax: 10.00) }
context "checking if a line item has tax included" do

View File

@@ -1,4 +1,5 @@
require 'spec_helper'
require 'spree/core/gateway_error'
describe Spree::Order do
include OpenFoodNetwork::EmailHelper

View File

@@ -72,10 +72,10 @@ module Spree
free_payment_method = create(:payment_method) # flat rate calculator with preferred_amount of 0
expect(free_payment_method.compute_amount(order)).to eq 0
flat_rate_payment_method = create(:payment_method, calculator: Calculator::FlatRate.new(preferred_amount: 10))
flat_rate_payment_method = create(:payment_method, calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
expect(flat_rate_payment_method.compute_amount(order)).to eq 10
flat_percent_payment_method = create(:payment_method, calculator: Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10))
flat_percent_payment_method = create(:payment_method, calculator: ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10))
expect(flat_percent_payment_method.compute_amount(order)).to eq 0
product = create(:product)

View File

@@ -1,4 +1,5 @@
require 'spec_helper'
require 'spree/core/gateway_error'
describe Spree::Payment do
context 'original specs from Spree' do

View File

@@ -5,7 +5,7 @@ module Spree
describe "selecting tax rates to apply to an order" do
let!(:zone) { create(:zone_with_member) }
let!(:order) { create(:order, distributor: hub, bill_address: create(:address)) }
let!(:tax_rate) { create(:tax_rate, included_in_price: true, calculator: Calculator::FlatRate.new(preferred_amount: 0.1), zone: zone) }
let!(:tax_rate) { create(:tax_rate, included_in_price: true, calculator: ::Calculator::FlatRate.new(preferred_amount: 0.1), zone: zone) }
describe "when the order's hub charges sales tax" do
let(:hub) { create(:distributor_enterprise, charges_sales_tax: true) }
@@ -33,7 +33,7 @@ module Spree
end
describe "ensuring that tax rate is marked as tax included_in_price" do
let(:tax_rate) { create(:tax_rate, included_in_price: false, calculator: Calculator::DefaultTax.new) }
let(:tax_rate) { create(:tax_rate, included_in_price: false, calculator: ::Calculator::DefaultTax.new) }
it "sets included_in_price to true" do
tax_rate.send(:with_tax_included_in_price) do