Class: Spree::AppConfiguration

Inherits:
Preferences::Configuration show all
Defined in:
app/models/spree/app_configuration.rb

Constant Summary collapse

DEPRECATED_STORE_PREFERENCES =

all the following can be deprecated when store prefs are no longer supported

{
  site_name: :name,
  site_url: :url,
  default_meta_description: :meta_description,
  default_meta_keywords: :meta_keywords,
  default_seo_title: :seo_title
}

Instance Attribute Summary collapse

Attributes inherited from Preferences::Configuration

#preference_store

Instance Method Summary collapse

Methods inherited from Preferences::Configuration

#configure, preference, #reset, #set, #use_static_preferences!

Methods included from Preferences::Preferable

#default_preferences, #defined_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_type, #set_preference

Instance Attribute Details

#address_requires_stateBoolean



27
# File 'app/models/spree/app_configuration.rb', line 27

preference :address_requires_state, :boolean, default: true

#admin_interface_logoString



31
# File 'app/models/spree/app_configuration.rb', line 31

preference :admin_interface_logo, :string, default: 'logo/solidus_logo.png'

#admin_products_per_pageInteger



35
# File 'app/models/spree/app_configuration.rb', line 35

preference :admin_products_per_page, :integer, default: 10

#admin_variants_per_pageInteger



39
# File 'app/models/spree/app_configuration.rb', line 39

preference :admin_variants_per_page, :integer, default: 20

#admin_vat_country_isoString?

Set this if you want to enter prices in the backend including value added tax.



133
# File 'app/models/spree/app_configuration.rb', line 133

preference :admin_vat_country_iso, :string, default: nil

#allow_checkout_on_gateway_errorBoolean



43
# File 'app/models/spree/app_configuration.rb', line 43

preference :allow_checkout_on_gateway_error, :boolean, default: false

#allow_guest_checkoutBoolean



47
# File 'app/models/spree/app_configuration.rb', line 47

preference :allow_guest_checkout, :boolean, default: true

#allow_return_item_amount_editingBoolean



51
# File 'app/models/spree/app_configuration.rb', line 51

preference :allow_return_item_amount_editing, :boolean, default: false

#alternative_billing_phoneBoolean



55
# File 'app/models/spree/app_configuration.rb', line 55

preference :alternative_billing_phone, :boolean, default: false

#alternative_shipping_phoneBoolean



59
# File 'app/models/spree/app_configuration.rb', line 59

preference :alternative_shipping_phone, :boolean, default: false

#always_put_site_name_in_titleBoolean



63
# File 'app/models/spree/app_configuration.rb', line 63

preference :always_put_site_name_in_title, :boolean, default: true

#auto_captureBoolean

Note:

Setting this to true is not recommended. Performing an authorize and later capture has far superior error handing. VISA and MasterCard also require that shipments are sent within a certain time of the card being charged.

Returns Perform a sale/purchase transaction at checkout instead of a authorize and capture.



71
# File 'app/models/spree/app_configuration.rb', line 71

preference :auto_capture, :boolean, default: false

#auto_capture_exchangesBoolean



75
# File 'app/models/spree/app_configuration.rb', line 75

preference :auto_capture_exchanges, :boolean, default: false

#automatic_default_addressBoolean

The default value of true preserves existing backwards compatible feature of treating the most recently used address in checkout as the user’s default address. Setting to false means that the user should manage their own default via some custom UI that uses AddressBookController.



271
# File 'app/models/spree/app_configuration.rb', line 271

preference :automatic_default_address, :boolean, default: true

#binary_inventory_cacheBoolean

Deprecated.
  • use inventory_cache_threshold instead

Only invalidate product caches when they change from in stock to out of stock. By default, caches are invalidated on any change of inventory quantity. Setting this to true should make operations on inventory faster. (default: false)



85
# File 'app/models/spree/app_configuration.rb', line 85

preference :binary_inventory_cache, :boolean, default: false

#can_restrict_stock_managementBoolean



275
# File 'app/models/spree/app_configuration.rb', line 275

preference :can_restrict_stock_management, :boolean, default: false

#carton_shipped_email_classActionMailer::Base

Allows providing your own Mailer for shipped cartons.



337
# File 'app/models/spree/app_configuration.rb', line 337

attr_writer :carton_shipped_email_class

#checkout_zoneString



104
# File 'app/models/spree/app_configuration.rb', line 104

preference :checkout_zone, :string, default: nil

#companyBoolean



108
# File 'app/models/spree/app_configuration.rb', line 108

preference :company, :boolean, default: false

#completable_order_created_cutoffInteger



89
# File 'app/models/spree/app_configuration.rb', line 89

preference :completable_order_created_cutoff_days, :integer, default: nil

#create_rma_for_unreturned_exchangeBoolean



112
# File 'app/models/spree/app_configuration.rb', line 112

preference :create_rma_for_unreturned_exchange, :boolean, default: false

#credit_to_new_allocationBoolean



263
# File 'app/models/spree/app_configuration.rb', line 263

preference :credit_to_new_allocation, :boolean, default: false

#currencyString

Currency to use by default when not defined on the site (default: “USD”)



117
# File 'app/models/spree/app_configuration.rb', line 117

preference :currency, :string, default: "USD"

#customer_returns_per_pageInteger



198
# File 'app/models/spree/app_configuration.rb', line 198

preference :customer_returns_per_page, :integer, default: 15

#default_country_idInteger?

Deprecated.

Use the default country ISO preference instead

Returns id of Country to be selected by default in dropdowns (default: nil).



122
# File 'app/models/spree/app_configuration.rb', line 122

preference :default_country_id, :integer

#default_country_isoString

Default customer country ISO code



127
# File 'app/models/spree/app_configuration.rb', line 127

preference :default_country_iso, :string, default: 'US'

#expedited_exchangesBoolean

Note:

this requires payment profiles to be supported on your gateway of choice as well as a delayed job handler to be configured with activejob.

Kicks off an exchange shipment upon return authorization save. charge customer if they do not return items within timely manner.



142
# File 'app/models/spree/app_configuration.rb', line 142

preference :expedited_exchanges, :boolean, default: false

#expedited_exchanges_days_windowInteger



148
# File 'app/models/spree/app_configuration.rb', line 148

preference :expedited_exchanges_days_window, :integer, default: 14

#generate_api_key_for_all_rolesBoolean

at role_user creation for all roles. (default: false)



153
# File 'app/models/spree/app_configuration.rb', line 153

preference :generate_api_key_for_all_roles, :boolean, default: false

#inventory_cache_thresholdInteger

Only invalidate product caches when the count on hand for a stock item falls below or rises about the inventory_cache_threshold. When undefined, the product caches will be invalidated anytime the count on hand is changed.



100
# File 'app/models/spree/app_configuration.rb', line 100

preference :inventory_cache_threshold, :integer

#layoutString



157
# File 'app/models/spree/app_configuration.rb', line 157

preference :layout, :string, default: 'spree/layouts/spree_application'

#logoString



161
# File 'app/models/spree/app_configuration.rb', line 161

preference :logo, :string, default: 'logo/solidus_logo.png'

#mails_fromString



257
# File 'app/models/spree/app_configuration.rb', line 257

preference :mails_from, :string, default: '[email protected]'

#max_level_in_taxons_menuInteger



174
# File 'app/models/spree/app_configuration.rb', line 174

preference :max_level_in_taxons_menu, :integer, default: 1

#order_bill_address_usedBoolean

bill addresses on payment sources. (default: true)



166
# File 'app/models/spree/app_configuration.rb', line 166

preference :order_bill_address_used, :boolean, default: true

#order_capturing_time_windowInteger



170
# File 'app/models/spree/app_configuration.rb', line 170

preference :order_capturing_time_window, :integer, default: 14

#order_merger_classClass

Allows providing your own class for merging two orders.



347
# File 'app/models/spree/app_configuration.rb', line 347

attr_writer :order_merger_class

#order_mutex_max_ageInteger



178
# File 'app/models/spree/app_configuration.rb', line 178

preference :order_mutex_max_age, :integer, default: 120

#orders_per_pageInteger



182
# File 'app/models/spree/app_configuration.rb', line 182

preference :orders_per_page, :integer, default: 15

#products_per_pageInteger



190
# File 'app/models/spree/app_configuration.rb', line 190

preference :products_per_page, :integer, default: 12

#promotion_chooser_classObject



312
313
314
# File 'app/models/spree/app_configuration.rb', line 312

def promotion_chooser_class
  @promotion_chooser_class ||= Spree::PromotionChooser
end

#promotions_per_pageInteger



194
# File 'app/models/spree/app_configuration.rb', line 194

preference :promotions_per_page, :integer, default: 15

#properties_per_pageInteger



186
# File 'app/models/spree/app_configuration.rb', line 186

preference :properties_per_page, :integer, default: 15

#require_master_priceBoolean



202
# File 'app/models/spree/app_configuration.rb', line 202

preference :require_master_price, :boolean, default: true

#require_payment_to_shipBoolean



206
# File 'app/models/spree/app_configuration.rb', line 206

preference :require_payment_to_ship, :boolean, default: true

#return_eligibility_number_of_daysInteger



210
# File 'app/models/spree/app_configuration.rb', line 210

preference :return_eligibility_number_of_days, :integer, default: 365

#roles_for_auto_api_keyArray

at role_user creation is desired when user has one of these roles. (default: [‘admin’])



216
# File 'app/models/spree/app_configuration.rb', line 216

preference :roles_for_auto_api_key, :array, default: ['admin']

#searcher_classObject



279
280
281
# File 'app/models/spree/app_configuration.rb', line 279

def searcher_class
  @searcher_class ||= Spree::Core::Search::Base
end

#send_core_emailsBoolean



253
# File 'app/models/spree/app_configuration.rb', line 253

preference :send_core_emails, :boolean, default: true

#shipping_instructionsBoolean



220
# File 'app/models/spree/app_configuration.rb', line 220

preference :shipping_instructions, :boolean, default: false

#shipping_rate_selector_classObject



322
323
324
# File 'app/models/spree/app_configuration.rb', line 322

def shipping_rate_selector_class
  @shipping_rate_selector_class ||= Spree::Stock::ShippingRateSelector
end

#shipping_rate_sorter_classObject



317
318
319
# File 'app/models/spree/app_configuration.rb', line 317

def shipping_rate_sorter_class
  @shipping_rate_sorter_class ||= Spree::Stock::ShippingRateSorter
end

#shipping_rate_taxer_classObject



327
328
329
# File 'app/models/spree/app_configuration.rb', line 327

def shipping_rate_taxer_class
  @shipping_rate_taxer_class ||= Spree::Tax::ShippingRateTaxer
end

#show_only_complete_orders_by_defaultBoolean



224
# File 'app/models/spree/app_configuration.rb', line 224

preference :show_only_complete_orders_by_default, :boolean, default: true

#show_products_without_priceBoolean



232
# File 'app/models/spree/app_configuration.rb', line 232

preference :show_products_without_price, :boolean, default: false

#show_raw_product_descriptionBoolean



236
# File 'app/models/spree/app_configuration.rb', line 236

preference :show_raw_product_description, :boolean, default: false

#show_variant_full_priceBoolean



228
# File 'app/models/spree/app_configuration.rb', line 228

preference :show_variant_full_price, :boolean, default: false

#tax_using_ship_addressBoolean



240
# File 'app/models/spree/app_configuration.rb', line 240

preference :tax_using_ship_address, :boolean, default: true

#track_inventory_levelsObject

Determines whether to track on_hand values for variants / products. If you do not track inventory, or have effectively unlimited inventory for all products you can turn this on.



247
# File 'app/models/spree/app_configuration.rb', line 247

preference :track_inventory_levels, :boolean, default: true

#variant_price_selector_classClass

Allows implementing custom pricing for variants



288
# File 'app/models/spree/app_configuration.rb', line 288

attr_writer :variant_price_selector_class

#variant_search_classObject



306
307
308
# File 'app/models/spree/app_configuration.rb', line 306

def variant_search_class
  @variant_search_class ||= Spree::Core::Search::Variant
end

Instance Method Details

#admin_vat_locationSpree::Tax::TaxLocation

Default admin VAT location

An object that responds to :state_id and :country_id so it can double as a Spree::Address in Spree::Zone.for_address. Takes the admin_vat_country_iso as input.



367
368
369
370
371
# File 'app/models/spree/app_configuration.rb', line 367

def admin_vat_location
  @default_tax_location ||= Spree::Tax::TaxLocation.new(
    country: Spree::Country.find_by(iso: admin_vat_country_iso)
  )
end

#default_pricing_optionsvariant_price_selector_class

Shortcut for the default pricing options



301
302
303
# File 'app/models/spree/app_configuration.rb', line 301

def default_pricing_options
  pricing_options_class.new
end

#pricing_options_classClass

Shortcut for getting the variant price selector’s pricing options class



296
# File 'app/models/spree/app_configuration.rb', line 296

delegate :pricing_options_class, to: :variant_price_selector_class

#static_model_preferencesObject



352
353
354
# File 'app/models/spree/app_configuration.rb', line 352

def static_model_preferences
  @static_model_preferences ||= Spree::Preferences::StaticModelPreferences.new
end

#stockObject



356
357
358
# File 'app/models/spree/app_configuration.rb', line 356

def stock
  @stock_configuration ||= Spree::Core::StockConfiguration.new
end