mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Rails has changed the way helpers are loaded. It's a bit weird. It was throwing lots of errors, and recommended using this setting, but now requires that all helpers are loaded explicitly. I'm not sure about this.
43 lines
1.1 KiB
Ruby
43 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spree/core/controller_helpers/order'
|
|
require 'spree/core/controller_helpers/ssl'
|
|
require 'open_food_network/tag_rule_applicator'
|
|
|
|
class BaseController < ApplicationController
|
|
layout 'darkswarm'
|
|
|
|
include Spree::Core::ControllerHelpers::Order
|
|
include Spree::Core::ControllerHelpers::SSL
|
|
|
|
include I18nHelper
|
|
include OrderCyclesHelper
|
|
|
|
before_action :set_locale
|
|
before_action :check_order_cycle_expiry
|
|
|
|
private
|
|
|
|
def set_order_cycles
|
|
unless @distributor.ready_for_checkout?
|
|
@order_cycles = OrderCycle.where('false')
|
|
return
|
|
end
|
|
|
|
@order_cycles = Shop::OrderCyclesList.new(@distributor, current_customer).call
|
|
|
|
set_order_cycle
|
|
end
|
|
|
|
# Default to the only order cycle if there's only one
|
|
#
|
|
# Here we need to use @order_cycles.size not @order_cycles.count
|
|
# because OrderCyclesList returns a modified ActiveRecord::Relation
|
|
# and these modifications are not seen if it is reloaded with count
|
|
def set_order_cycle
|
|
return if @order_cycles.size != 1
|
|
|
|
current_order(true).set_order_cycle! @order_cycles.first
|
|
end
|
|
end
|