Class: Spree::AppConfiguration
- Inherits:
-
Preferences::Configuration
- Object
- Preferences::Configuration
- Spree::AppConfiguration
- 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
-
#address_requires_state ⇒ Boolean
Should state/state_name be required.
-
#admin_interface_logo ⇒ String
URL of logo used in admin (default: ‘logo/solidus_logo.png’).
-
#admin_products_per_page ⇒ Integer
Number of products to display in admin (default:
10
). -
#admin_variants_per_page ⇒ Integer
Number of variants to display in admin (default:
20
). -
#admin_vat_country_iso ⇒ String?
Set this if you want to enter prices in the backend including value added tax.
-
#allow_checkout_on_gateway_error ⇒ Boolean
Allow checkout to complete after a failed payment (default:
false
). -
#allow_guest_checkout ⇒ Boolean
When false, customers must create an account to complete an order (default:
true
). -
#allow_return_item_amount_editing ⇒ Boolean
Determines whether an admin is allowed to change a return item’s pre-calculated amount (default:
false
). -
#alternative_billing_phone ⇒ Boolean
Request an extra phone number for bill address (default:
false
). -
#alternative_shipping_phone ⇒ Boolean
Request an extra phone number for shipping address (default:
false
). -
#always_put_site_name_in_title ⇒ Boolean
When true, site name is always appended to titles on the frontend (default:
true
). -
#auto_capture ⇒ Boolean
Perform a sale/purchase transaction at checkout instead of a authorize and capture.
-
#auto_capture_exchanges ⇒ Boolean
Automatically capture the credit card (as opposed to just authorize and capture later) (default:
false
). -
#automatic_default_address ⇒ Boolean
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.
-
#binary_inventory_cache ⇒ Boolean
deprecated
Deprecated.
-
use inventory_cache_threshold instead
-
-
#can_restrict_stock_management ⇒ Boolean
Indicates if stock management can be restricted by location.
-
#carton_shipped_email_class ⇒ ActionMailer::Base
Allows providing your own Mailer for shipped cartons.
-
#checkout_zone ⇒ String
Name of a Zone, which limits available countries to those included in that zone.
-
#company ⇒ Boolean
Request company field for billing and shipping addresses.
-
#completable_order_created_cutoff ⇒ Integer
The number of days to look back for updated orders which get returned to the user as last completed.
-
#create_rma_for_unreturned_exchange ⇒ Boolean
Allows rma to be created for items after unreturned exchange charge has been made (default:
false
). -
#credit_to_new_allocation ⇒ Boolean
Creates a new allocation anytime StoreCredit#credit is called.
-
#currency ⇒ String
Currency to use by default when not defined on the site (default: “USD”).
-
#customer_returns_per_page ⇒ Integer
Customer returns to show per-page in the admin (default:
15
). -
#default_country_id ⇒ Integer?
deprecated
Deprecated.
Use the default country ISO preference instead
-
#default_country_iso ⇒ String
Default customer country ISO code.
-
#expedited_exchanges ⇒ Boolean
Kicks off an exchange shipment upon return authorization save.
-
#expedited_exchanges_days_window ⇒ Integer
Number of days the customer has to return their item after the expedited exchange is shipped in order to avoid being charged (default:
14
). -
#generate_api_key_for_all_roles ⇒ Boolean
at role_user creation for all roles.
-
#inventory_cache_threshold ⇒ Integer
Only invalidate product caches when the count on hand for a stock item falls below or rises about the inventory_cache_threshold.
-
#layout ⇒ String
Template to use for layout on the frontend (default: “spree/layouts/spree_application”).
-
#logo ⇒ String
URL of logo used on frontend (default: ‘logo/solidus_logo.png’).
-
#mails_from ⇒ String
Email address used as
From:
field in transactional emails. -
#max_level_in_taxons_menu ⇒ Integer
Maximum nesting level in taxons menu (default:
1
). -
#order_bill_address_used ⇒ Boolean
bill addresses on payment sources.
-
#order_capturing_time_window ⇒ Integer
The number of days to look back for fully-shipped/cancelled orders in order to charge for them.
-
#order_merger_class ⇒ Class
Allows providing your own class for merging two orders.
-
#order_mutex_max_age ⇒ Integer
Max age of OrderMutex in seconds (default: 2 minutes).
-
#orders_per_page ⇒ Integer
Orders to show per-page in the admin (default:
15
). -
#products_per_page ⇒ Integer
Products to show per-page in the frontend (default:
12
). - #promotion_chooser_class ⇒ Object
-
#promotions_per_page ⇒ Integer
Promotions to show per-page in the admin (default:
15
). -
#properties_per_page ⇒ Integer
Properties to show per-page in the admin (default:
15
). -
#require_master_price ⇒ Boolean
Require a price on the master variant of a product (default:
true
). -
#require_payment_to_ship ⇒ Boolean
Allows shipments to be ready to ship regardless of the order being paid if false (default:
true
). -
#return_eligibility_number_of_days ⇒ Integer
Default: 365.
-
#roles_for_auto_api_key ⇒ Array
at role_user creation is desired when user has one of these roles.
- #searcher_class ⇒ Object
-
#send_core_emails ⇒ Boolean
Whether to send transactional emails (default: true).
-
#shipping_instructions ⇒ Boolean
Request instructions/info for shipping (default:
false
). - #shipping_rate_selector_class ⇒ Object
- #shipping_rate_sorter_class ⇒ Object
- #shipping_rate_taxer_class ⇒ Object
-
#show_only_complete_orders_by_default ⇒ Boolean
Only show completed orders by default in the admin (default:
true
). -
#show_products_without_price ⇒ Boolean
Whether products without a price are visible in the frontend (default:
false
). -
#show_raw_product_description ⇒ Boolean
Don’t escape HTML of product descriptions.
-
#show_variant_full_price ⇒ Boolean
Displays variant full price or difference with product price.
-
#tax_using_ship_address ⇒ Boolean
Use the shipping address rather than the billing address to determine tax (default:
true
). -
#track_inventory_levels ⇒ Object
Determines whether to track on_hand values for variants / products.
-
#variant_price_selector_class ⇒ Class
Allows implementing custom pricing for variants.
- #variant_search_class ⇒ Object
Attributes inherited from Preferences::Configuration
Instance Method Summary collapse
-
#admin_vat_location ⇒ Spree::Tax::TaxLocation
Default admin VAT location.
-
#default_pricing_options ⇒ variant_price_selector_class
Shortcut for the default pricing options.
-
#pricing_options_class ⇒ Class
Shortcut for getting the variant price selector’s pricing options class.
- #static_model_preferences ⇒ Object
- #stock ⇒ Object
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_state ⇒ Boolean
Returns should state/state_name be required.
27 |
# File 'app/models/spree/app_configuration.rb', line 27 preference :address_requires_state, :boolean, default: true |
#admin_interface_logo ⇒ String
Returns URL of logo used in admin (default: ‘logo/solidus_logo.png’).
31 |
# File 'app/models/spree/app_configuration.rb', line 31 preference :admin_interface_logo, :string, default: 'logo/solidus_logo.png' |
#admin_products_per_page ⇒ Integer
Returns Number of products to display in admin (default: 10
).
35 |
# File 'app/models/spree/app_configuration.rb', line 35 preference :admin_products_per_page, :integer, default: 10 |
#admin_variants_per_page ⇒ Integer
Returns Number of variants to display in admin (default: 20
).
39 |
# File 'app/models/spree/app_configuration.rb', line 39 preference :admin_variants_per_page, :integer, default: 20 |
#admin_vat_country_iso ⇒ String?
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_error ⇒ Boolean
Returns Allow checkout to complete after a failed payment (default: false
).
43 |
# File 'app/models/spree/app_configuration.rb', line 43 preference :allow_checkout_on_gateway_error, :boolean, default: false |
#allow_guest_checkout ⇒ Boolean
Returns When false, customers must create an account to complete an order (default: true
).
47 |
# File 'app/models/spree/app_configuration.rb', line 47 preference :allow_guest_checkout, :boolean, default: true |
#allow_return_item_amount_editing ⇒ Boolean
Returns Determines whether an admin is allowed to change a return item’s pre-calculated amount (default: false
).
51 |
# File 'app/models/spree/app_configuration.rb', line 51 preference :allow_return_item_amount_editing, :boolean, default: false |
#alternative_billing_phone ⇒ Boolean
Returns Request an extra phone number for bill address (default: false
).
55 |
# File 'app/models/spree/app_configuration.rb', line 55 preference :alternative_billing_phone, :boolean, default: false |
#alternative_shipping_phone ⇒ Boolean
Returns Request an extra phone number for shipping address (default: false
).
59 |
# File 'app/models/spree/app_configuration.rb', line 59 preference :alternative_shipping_phone, :boolean, default: false |
#always_put_site_name_in_title ⇒ Boolean
Returns When true, site name is always appended to titles on the frontend (default: true
).
63 |
# File 'app/models/spree/app_configuration.rb', line 63 preference :always_put_site_name_in_title, :boolean, default: true |
#auto_capture ⇒ Boolean
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_exchanges ⇒ Boolean
Returns automatically capture the credit card (as opposed to just authorize and capture later) (default: false
).
75 |
# File 'app/models/spree/app_configuration.rb', line 75 preference :auto_capture_exchanges, :boolean, default: false |
#automatic_default_address ⇒ Boolean
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_cache ⇒ Boolean
-
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_management ⇒ Boolean
Returns Indicates if stock management can be restricted by location.
275 |
# File 'app/models/spree/app_configuration.rb', line 275 preference :can_restrict_stock_management, :boolean, default: false |
#carton_shipped_email_class ⇒ ActionMailer::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_zone ⇒ String
Returns Name of a Zone, which limits available countries to those included in that zone. (default: nil
).
104 |
# File 'app/models/spree/app_configuration.rb', line 104 preference :checkout_zone, :string, default: nil |
#company ⇒ Boolean
Returns Request company field for billing and shipping addresses. (default: false
).
108 |
# File 'app/models/spree/app_configuration.rb', line 108 preference :company, :boolean, default: false |
#completable_order_created_cutoff ⇒ Integer
Returns the number of days to look back for updated orders which get returned to the user as last completed.
89 |
# File 'app/models/spree/app_configuration.rb', line 89 preference :completable_order_created_cutoff_days, :integer, default: nil |
#create_rma_for_unreturned_exchange ⇒ Boolean
Returns allows rma to be created for items after unreturned exchange charge has been made (default: false
).
112 |
# File 'app/models/spree/app_configuration.rb', line 112 preference :create_rma_for_unreturned_exchange, :boolean, default: false |
#credit_to_new_allocation ⇒ Boolean
Returns Creates a new allocation anytime StoreCredit#credit is called.
263 |
# File 'app/models/spree/app_configuration.rb', line 263 preference :credit_to_new_allocation, :boolean, default: false |
#currency ⇒ String
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_page ⇒ Integer
Returns Customer returns to show per-page in the admin (default: 15
).
198 |
# File 'app/models/spree/app_configuration.rb', line 198 preference :customer_returns_per_page, :integer, default: 15 |
#default_country_id ⇒ Integer?
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_iso ⇒ String
Default customer country ISO code
127 |
# File 'app/models/spree/app_configuration.rb', line 127 preference :default_country_iso, :string, default: 'US' |
#expedited_exchanges ⇒ Boolean
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_window ⇒ Integer
Returns Number of days the customer has to return their item after the expedited exchange is shipped in order to avoid being charged (default: 14
).
148 |
# File 'app/models/spree/app_configuration.rb', line 148 preference :expedited_exchanges_days_window, :integer, default: 14 |
#generate_api_key_for_all_roles ⇒ Boolean
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_threshold ⇒ Integer
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 |
#layout ⇒ String
Returns template to use for layout on the frontend (default: “spree/layouts/spree_application”).
157 |
# File 'app/models/spree/app_configuration.rb', line 157 preference :layout, :string, default: 'spree/layouts/spree_application' |
#logo ⇒ String
Returns URL of logo used on frontend (default: ‘logo/solidus_logo.png’).
161 |
# File 'app/models/spree/app_configuration.rb', line 161 preference :logo, :string, default: 'logo/solidus_logo.png' |
#mails_from ⇒ String
Returns Email address used as From:
field in transactional emails.
257 |
# File 'app/models/spree/app_configuration.rb', line 257 preference :mails_from, :string, default: '[email protected]' |
#max_level_in_taxons_menu ⇒ Integer
Returns maximum nesting level in taxons menu (default: 1
).
174 |
# File 'app/models/spree/app_configuration.rb', line 174 preference :max_level_in_taxons_menu, :integer, default: 1 |
#order_bill_address_used ⇒ Boolean
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_window ⇒ Integer
Returns the number of days to look back for fully-shipped/cancelled orders in order to charge for them.
170 |
# File 'app/models/spree/app_configuration.rb', line 170 preference :order_capturing_time_window, :integer, default: 14 |
#order_merger_class ⇒ Class
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_age ⇒ Integer
Returns Max age of OrderMutex in seconds (default: 2 minutes).
178 |
# File 'app/models/spree/app_configuration.rb', line 178 preference :order_mutex_max_age, :integer, default: 120 |
#orders_per_page ⇒ Integer
Returns Orders to show per-page in the admin (default: 15
).
182 |
# File 'app/models/spree/app_configuration.rb', line 182 preference :orders_per_page, :integer, default: 15 |
#products_per_page ⇒ Integer
Returns Products to show per-page in the frontend (default: 12
).
190 |
# File 'app/models/spree/app_configuration.rb', line 190 preference :products_per_page, :integer, default: 12 |
#promotion_chooser_class ⇒ Object
312 313 314 |
# File 'app/models/spree/app_configuration.rb', line 312 def promotion_chooser_class @promotion_chooser_class ||= Spree::PromotionChooser end |
#promotions_per_page ⇒ Integer
Returns Promotions to show per-page in the admin (default: 15
).
194 |
# File 'app/models/spree/app_configuration.rb', line 194 preference :promotions_per_page, :integer, default: 15 |
#properties_per_page ⇒ Integer
Returns Properties to show per-page in the admin (default: 15
).
186 |
# File 'app/models/spree/app_configuration.rb', line 186 preference :properties_per_page, :integer, default: 15 |
#require_master_price ⇒ Boolean
Returns Require a price on the master variant of a product (default: true
).
202 |
# File 'app/models/spree/app_configuration.rb', line 202 preference :require_master_price, :boolean, default: true |
#require_payment_to_ship ⇒ Boolean
Returns Allows shipments to be ready to ship regardless of the order being paid if false (default: true
).
206 |
# File 'app/models/spree/app_configuration.rb', line 206 preference :require_payment_to_ship, :boolean, default: true |
#return_eligibility_number_of_days ⇒ Integer
Returns default: 365.
210 |
# File 'app/models/spree/app_configuration.rb', line 210 preference :return_eligibility_number_of_days, :integer, default: 365 |
#roles_for_auto_api_key ⇒ Array
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_class ⇒ Object
279 280 281 |
# File 'app/models/spree/app_configuration.rb', line 279 def searcher_class @searcher_class ||= Spree::Core::Search::Base end |
#send_core_emails ⇒ Boolean
Returns Whether to send transactional emails (default: true).
253 |
# File 'app/models/spree/app_configuration.rb', line 253 preference :send_core_emails, :boolean, default: true |
#shipping_instructions ⇒ Boolean
Returns Request instructions/info for shipping (default: false
).
220 |
# File 'app/models/spree/app_configuration.rb', line 220 preference :shipping_instructions, :boolean, default: false |
#shipping_rate_selector_class ⇒ Object
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_class ⇒ Object
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_class ⇒ Object
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_default ⇒ Boolean
Returns Only show completed orders by default in the admin (default: true
).
224 |
# File 'app/models/spree/app_configuration.rb', line 224 preference :show_only_complete_orders_by_default, :boolean, default: true |
#show_products_without_price ⇒ Boolean
Returns Whether products without a price are visible in the frontend (default: false
).
232 |
# File 'app/models/spree/app_configuration.rb', line 232 preference :show_products_without_price, :boolean, default: false |
#show_raw_product_description ⇒ Boolean
Returns Don’t escape HTML of product descriptions. (default: false
).
236 |
# File 'app/models/spree/app_configuration.rb', line 236 preference :show_raw_product_description, :boolean, default: false |
#show_variant_full_price ⇒ Boolean
Returns Displays variant full price or difference with product price. (default: false
).
228 |
# File 'app/models/spree/app_configuration.rb', line 228 preference :show_variant_full_price, :boolean, default: false |
#tax_using_ship_address ⇒ Boolean
Returns Use the shipping address rather than the billing address to determine tax (default: true
).
240 |
# File 'app/models/spree/app_configuration.rb', line 240 preference :tax_using_ship_address, :boolean, default: true |
#track_inventory_levels ⇒ Object
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_class ⇒ Class
Allows implementing custom pricing for variants
288 |
# File 'app/models/spree/app_configuration.rb', line 288 attr_writer :variant_price_selector_class |
Instance Method Details
#admin_vat_location ⇒ Spree::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_options ⇒ variant_price_selector_class
Shortcut for the default pricing options
301 302 303 |
# File 'app/models/spree/app_configuration.rb', line 301 def .new end |
#pricing_options_class ⇒ Class
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_preferences ⇒ Object
352 353 354 |
# File 'app/models/spree/app_configuration.rb', line 352 def static_model_preferences @static_model_preferences ||= Spree::Preferences::StaticModelPreferences.new end |
#stock ⇒ Object
356 357 358 |
# File 'app/models/spree/app_configuration.rb', line 356 def stock @stock_configuration ||= Spree::Core::StockConfiguration.new end |