spree_core 3.1.14 → 3.2.0.rc1
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/app/assets/javascripts/{spree.js.coffee.erb → spree.js.coffee} +2 -2
- data/app/helpers/spree/base_helper.rb +1 -1
- data/app/helpers/spree/products_helper.rb +0 -6
- data/app/mailers/spree/reimbursement_mailer.rb +6 -6
- data/app/models/concerns/spree/acts_as_taggable.rb +11 -0
- data/app/models/concerns/spree/adjustment_source.rb +1 -1
- data/app/models/concerns/spree/ransackable_attributes.rb +0 -5
- data/app/models/spree/address.rb +67 -38
- data/app/models/spree/app_configuration.rb +9 -6
- data/app/models/spree/base.rb +1 -1
- data/app/models/spree/calculator.rb +1 -1
- data/app/models/spree/country.rb +5 -4
- data/app/models/spree/credit_card.rb +3 -3
- data/app/models/spree/gateway/bogus.rb +11 -11
- data/app/models/spree/gateway/bogus_simple.rb +4 -4
- data/app/models/spree/gateway.rb +1 -1
- data/app/models/spree/image.rb +2 -2
- data/app/models/spree/inventory_unit.rb +6 -10
- data/app/models/spree/line_item.rb +17 -6
- data/app/models/spree/order/checkout.rb +2 -2
- data/app/models/spree/order.rb +12 -25
- data/app/models/spree/order_contents.rb +7 -6
- data/app/models/spree/order_inventory.rb +12 -1
- data/app/models/spree/order_updater.rb +1 -2
- data/app/models/spree/payment/processing.rb +3 -3
- data/app/models/spree/payment_method.rb +7 -1
- data/app/models/spree/preferences/store.rb +3 -3
- data/app/models/spree/product/scopes.rb +16 -20
- data/app/models/spree/product.rb +11 -3
- data/app/models/spree/promotion/actions/create_line_items.rb +21 -3
- data/app/models/spree/promotion/rules/country.rb +23 -0
- data/app/models/spree/promotion/rules/option_value.rb +13 -10
- data/app/models/spree/promotion/rules/taxon.rb +1 -1
- data/app/models/spree/promotion.rb +35 -1
- data/app/models/spree/promotion_handler/cart.rb +3 -17
- data/app/models/spree/promotion_handler/coupon.rb +22 -22
- data/app/models/spree/promotion_handler/page.rb +2 -2
- data/app/models/spree/refund.rb +1 -1
- data/app/models/spree/refund_reason.rb +1 -1
- data/app/models/spree/reimbursement_type.rb +5 -1
- data/app/models/spree/return_item.rb +1 -1
- data/app/models/spree/shipment.rb +4 -6
- data/app/models/spree/shipment_handler.rb +1 -1
- data/app/models/spree/stock/adjuster.rb +9 -2
- data/app/models/spree/stock/coordinator.rb +11 -4
- data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
- data/app/models/spree/stock/package.rb +11 -3
- data/app/models/spree/stock/packer.rb +15 -5
- data/app/models/spree/stock/prioritizer.rb +25 -15
- data/app/models/spree/stock/splitter/shipping_category.rb +6 -1
- data/app/models/spree/stock_item.rb +2 -1
- data/app/models/spree/stock_movement.rb +11 -6
- data/app/models/spree/store.rb +1 -0
- data/app/models/spree/store_credit.rb +1 -1
- data/app/models/spree/tag.rb +4 -0
- data/app/models/spree/tax_rate.rb +6 -0
- data/app/models/spree/taxon.rb +3 -3
- data/app/models/spree/variant.rb +6 -3
- data/app/models/spree/zone.rb +2 -2
- data/app/views/spree/shared/_paths.html.erb +8 -0
- data/config/initializers/acts_as_taggable_on.rb +9 -0
- data/config/initializers/friendly_id.rb +0 -81
- data/config/locales/en.yml +11 -0
- data/db/default/spree/countries.rb +5 -1
- data/db/default/spree/roles.rb +2 -2
- data/db/default/spree/states.rb +1 -1
- data/db/migrate/20120831092320_spree_one_two.rb +101 -101
- data/db/migrate/20120831092359_spree_promo_one_two.rb +14 -14
- data/db/migrate/20120905145253_add_tax_rate_label.rb +1 -1
- data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +2 -2
- data/db/migrate/20120929093553_remove_unused_preference_columns.rb +4 -4
- data/db/migrate/20121009142519_add_lock_version_to_variant.rb +2 -2
- data/db/migrate/20121010142909_add_states_required_to_countries.rb +2 -2
- data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +3 -3
- data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +5 -5
- data/db/migrate/20121031162139_split_prices_from_variants.rb +10 -10
- data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +3 -3
- data/db/migrate/20121107184631_add_currency_to_line_items.rb +1 -1
- data/db/migrate/20121107194006_add_currency_to_orders.rb +1 -1
- data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +2 -2
- data/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb +1 -1
- data/db/migrate/20121124203911_add_position_to_taxonomies.rb +2 -2
- data/db/migrate/20121126040517_add_last_ip_to_spree_orders.rb +1 -1
- data/db/migrate/20121213162028_add_state_to_spree_adjustments.rb +1 -1
- data/db/migrate/20130114053446_add_display_on_to_spree_payment_methods.rb +1 -1
- data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +2 -2
- data/db/migrate/20130203232234_add_identifier_to_spree_payments.rb +1 -1
- data/db/migrate/20130207155350_add_order_id_index_to_payments.rb +1 -1
- data/db/migrate/20130208032954_add_primary_to_spree_products_taxons.rb +1 -1
- data/db/migrate/20130211190146_create_spree_stock_items.rb +2 -2
- data/db/migrate/20130211191120_create_spree_stock_locations.rb +1 -1
- data/db/migrate/20130213191427_create_default_stock.rb +1 -2
- data/db/migrate/20130222032153_add_order_id_index_to_shipments.rb +1 -1
- data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +2 -2
- data/db/migrate/20130226191231_add_stock_location_id_to_spree_shipments.rb +1 -1
- data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +3 -3
- data/db/migrate/20130228164411_remove_on_demand_from_product_and_variant.rb +1 -1
- data/db/migrate/20130228210442_create_shipping_method_zone.rb +3 -3
- data/db/migrate/20130301162745_remove_shipping_category_id_from_shipping_method.rb +1 -1
- data/db/migrate/20130301162924_create_shipping_method_categories.rb +3 -3
- data/db/migrate/20130301205200_add_tracking_url_to_spree_shipping_methods.rb +1 -1
- data/db/migrate/20130304162240_create_spree_shipping_rates.rb +5 -5
- data/db/migrate/20130304192936_remove_category_match_attributes_from_shipping_method.rb +1 -1
- data/db/migrate/20130305143310_create_stock_movements.rb +1 -1
- data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +3 -3
- data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +2 -2
- data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +2 -2
- data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +2 -2
- data/db/migrate/20130318151756_add_source_and_destination_to_stock_movements.rb +1 -1
- data/db/migrate/20130319062004_change_orders_total_precision.rb +5 -5
- data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +2 -2
- data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +2 -2
- data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +2 -2
- data/db/migrate/20130319183250_add_originator_to_stock_movement.rb +1 -1
- data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +3 -3
- data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +3 -3
- data/db/migrate/20130326175857_add_stock_location_to_rma.rb +1 -1
- data/db/migrate/20130328130308_update_shipment_state_for_canceled_orders.rb +1 -1
- data/db/migrate/20130328195253_add_seo_metas_to_taxons.rb +1 -1
- data/db/migrate/20130329134939_remove_stock_item_and_variant_lock.rb +1 -1
- data/db/migrate/20130413230529_add_name_to_spree_credit_cards.rb +1 -1
- data/db/migrate/20130414000512_update_name_fields_on_spree_credit_cards.rb +2 -2
- data/db/migrate/20130417120034_add_index_to_source_columns_on_adjustments.rb +1 -1
- data/db/migrate/20130417120035_update_adjustment_states.rb +3 -3
- data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +4 -4
- data/db/migrate/20130418125341_create_spree_stock_transfers.rb +1 -1
- data/db/migrate/20130423110707_drop_products_count_on_hand.rb +1 -1
- data/db/migrate/20130423223847_set_default_shipping_rate_cost.rb +1 -1
- data/db/migrate/20130509115210_add_number_to_stock_transfer.rb +1 -1
- data/db/migrate/20130514151929_add_sku_index_to_spree_variants.rb +1 -1
- data/db/migrate/20130515180736_add_backorderable_default_to_spree_stock_location.rb +1 -1
- data/db/migrate/20130516151222_add_propage_all_variants_to_spree_stock_location.rb +1 -1
- data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +1 -1
- data/db/migrate/20130611185927_add_user_id_index_to_spree_orders.rb +1 -1
- data/db/migrate/20130618041418_add_updated_at_to_spree_countries.rb +1 -1
- data/db/migrate/20130619012236_add_updated_at_to_spree_states.rb +1 -1
- data/db/migrate/20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb +1 -1
- data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +2 -2
- data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +4 -4
- data/db/migrate/20130708052307_add_deleted_at_to_spree_tax_rates.rb +1 -1
- data/db/migrate/20130711200933_remove_lock_version_from_inventory_units.rb +1 -1
- data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +2 -2
- data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +3 -3
- data/db/migrate/20130725031716_add_created_by_id_to_spree_orders.rb +1 -1
- data/db/migrate/20130729214043_index_completed_at_on_spree_orders.rb +1 -1
- data/db/migrate/20130802014537_add_tax_category_id_to_spree_line_items.rb +1 -1
- data/db/migrate/20130802022321_migrate_tax_categories_to_line_items.rb +1 -1
- data/db/migrate/20130806022521_drop_spree_mail_methods.rb +1 -1
- data/db/migrate/20130806145853_set_default_stock_location_on_shipments.rb +1 -1
- data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -4
- data/db/migrate/20130807024302_rename_adjustment_fields.rb +1 -1
- data/db/migrate/20130809164245_add_admin_name_column_to_spree_shipping_methods.rb +1 -1
- data/db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb +1 -1
- data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +2 -2
- data/db/migrate/20130813140619_expand_order_number_size.rb +3 -3
- data/db/migrate/20130813232134_rename_activators_to_promotions.rb +1 -1
- data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +2 -2
- data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +2 -2
- data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +1 -1
- data/db/migrate/20130828234942_add_tax_total_to_line_items_shipments_and_orders.rb +2 -2
- data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +2 -2
- data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +1 -1
- data/db/migrate/20130903183026_add_code_to_spree_promotion_rules.rb +1 -1
- data/db/migrate/20130909115621_change_states_required_for_countries.rb +1 -1
- data/db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb +1 -1
- data/db/migrate/20130917024658_remove_promotions_event_name_field.rb +1 -1
- data/db/migrate/20130924040529_add_promo_total_to_line_items_and_shipments_and_orders.rb +1 -1
- data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +2 -2
- data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +2 -2
- data/db/migrate/20131107132123_add_tax_category_to_variants.rb +1 -1
- data/db/migrate/20131113035136_add_channel_to_spree_orders.rb +1 -1
- data/db/migrate/20131118043959_add_included_to_adjustments.rb +2 -2
- data/db/migrate/20131118050234_rename_tax_total_fields.rb +1 -1
- data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
- data/db/migrate/20131120234456_add_updated_at_to_variants.rb +1 -1
- data/db/migrate/20131127001002_add_position_to_classifications.rb +1 -1
- data/db/migrate/20131211112807_create_spree_orders_promotions.rb +2 -2
- data/db/migrate/20131211192741_unique_shipping_method_categories.rb +1 -1
- data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +2 -2
- data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +1 -1
- data/db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb +1 -1
- data/db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb +1 -1
- data/db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb +1 -1
- data/db/migrate/20140129024326_add_deleted_at_to_spree_prices.rb +1 -1
- data/db/migrate/20140203161722_add_approver_id_and_approved_at_to_orders.rb +1 -1
- data/db/migrate/20140204115338_add_confirmation_delivered_to_spree_orders.rb +1 -1
- data/db/migrate/20140204192230_add_auto_capture_to_payment_methods.rb +1 -1
- data/db/migrate/20140205120320_create_spree_payment_capture_events.rb +1 -1
- data/db/migrate/20140205144710_add_uncaptured_amount_to_payments.rb +1 -1
- data/db/migrate/20140205181631_default_variant_weight_to_zero.rb +1 -1
- data/db/migrate/20140207085910_add_tax_category_id_to_shipping_methods.rb +1 -1
- data/db/migrate/20140207093021_add_tax_rate_id_to_shipping_rates.rb +1 -1
- data/db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb +1 -1
- data/db/migrate/20140213184916_add_more_indexes.rb +1 -1
- data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +2 -2
- data/db/migrate/20140227112348_add_preference_store_to_everything.rb +1 -1
- data/db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb +1 -1
- data/db/migrate/20140309023735_migrate_old_preferences.rb +1 -1
- data/db/migrate/20140309024355_create_spree_stores.rb +2 -2
- data/db/migrate/20140309033438_create_store_from_preferences.rb +2 -2
- data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +1 -1
- data/db/migrate/20140318191500_create_spree_taxons_promotion_rules.rb +1 -1
- data/db/migrate/20140331100557_add_additional_store_fields.rb +1 -1
- data/db/migrate/20140410141842_add_many_missing_indexes.rb +1 -1
- data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +1 -1
- data/db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb +1 -1
- data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +5 -5
- data/db/migrate/20140518174634_add_token_to_spree_orders.rb +1 -1
- data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +2 -2
- data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +1 -1
- data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +1 -1
- data/db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb +1 -1
- data/db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb +1 -1
- data/db/migrate/20140625214618_create_spree_refunds.rb +1 -1
- data/db/migrate/20140702140656_create_spree_return_authorization_inventory_unit.rb +1 -1
- data/db/migrate/20140707125621_rename_return_authorization_inventory_unit_to_return_items.rb +1 -1
- data/db/migrate/20140709160534_backfill_line_item_pre_tax_amount.rb +1 -1
- data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +2 -2
- data/db/migrate/20140710181204_add_amount_fields_to_return_items.rb +1 -1
- data/db/migrate/20140710190048_drop_return_authorization_amount.rb +1 -1
- data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +1 -1
- data/db/migrate/20140713140527_create_spree_refund_reasons.rb +1 -1
- data/db/migrate/20140713142214_rename_return_authorization_reason.rb +1 -1
- data/db/migrate/20140715182625_create_spree_promotion_categories.rb +1 -1
- data/db/migrate/20140716204111_drop_received_at_on_return_items.rb +1 -1
- data/db/migrate/20140716212330_add_reception_and_acceptance_status_to_return_items.rb +1 -1
- data/db/migrate/20140717155155_create_default_refund_reason.rb +1 -1
- data/db/migrate/20140717185932_add_default_to_spree_stock_locations.rb +1 -1
- data/db/migrate/20140718133010_create_spree_customer_returns.rb +1 -1
- data/db/migrate/20140718133349_add_customer_return_id_to_return_item.rb +1 -1
- data/db/migrate/20140718195325_create_friendly_id_slugs.rb +5 -5
- data/db/migrate/20140723004419_rename_spree_refund_return_authorization_id.rb +1 -1
- data/db/migrate/20140723152808_increase_return_item_pre_tax_amount_precision.rb +1 -1
- data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +2 -2
- data/db/migrate/20140725131539_create_spree_reimbursements.rb +1 -1
- data/db/migrate/20140728225422_add_promotionable_to_spree_products.rb +1 -1
- data/db/migrate/20140729133613_add_exchange_inventory_unit_foreign_keys.rb +1 -1
- data/db/migrate/20140730155938_add_acceptance_status_errors_to_return_item.rb +1 -1
- data/db/migrate/20140731150017_create_spree_reimbursement_types.rb +1 -1
- data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +1 -1
- data/db/migrate/20140805171035_add_default_to_spree_credit_cards.rb +1 -1
- data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +1 -1
- data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +1 -1
- data/db/migrate/20140808184039_create_spree_reimbursement_credits.rb +1 -1
- data/db/migrate/20140827170513_add_meta_title_to_spree_products.rb +1 -1
- data/db/migrate/20140911173301_add_kind_to_zone.rb +1 -1
- data/db/migrate/20140924164824_add_code_to_spree_tax_categories.rb +1 -1
- data/db/migrate/20140927193717_default_pre_tax_amount_should_be_zero.rb +1 -1
- data/db/migrate/20141002191113_add_code_to_spree_shipping_methods.rb +1 -1
- data/db/migrate/20141007230328_add_cancel_audit_fields_to_spree_orders.rb +1 -1
- data/db/migrate/20141009204607_add_store_id_to_orders.rb +1 -1
- data/db/migrate/20141012083513_create_spree_taxons_prototypes.rb +1 -1
- data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +1 -1
- data/db/migrate/20141023005240_add_counter_cache_from_spree_variants_to_spree_stock_items.rb +2 -7
- data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +1 -1
- data/db/migrate/20141105213646_update_classifications_positions.rb +1 -1
- data/db/migrate/20141120135441_add_guest_token_index_to_spree_orders.rb +1 -1
- data/db/migrate/20141215232040_remove_token_permissions_table.rb +1 -1
- data/db/migrate/20141215235502_remove_extra_products_slug_index.rb +1 -1
- data/db/migrate/20141217215630_update_product_slug_index.rb +1 -1
- data/db/migrate/20141218025915_rename_identifier_to_number_for_payment.rb +1 -1
- data/db/migrate/20150118210639_create_spree_store_credits.rb +1 -1
- data/db/migrate/20150118211500_create_spree_store_credit_categories.rb +1 -1
- data/db/migrate/20150118212051_create_spree_store_credit_events.rb +1 -1
- data/db/migrate/20150118212101_create_spree_store_credit_types.rb +1 -1
- data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +1 -1
- data/db/migrate/20150122145607_add_resellable_to_return_items.rb +1 -1
- data/db/migrate/20150122202432_add_code_to_spree_promotion_categories.rb +1 -1
- data/db/migrate/20150128032538_remove_environment_from_tracker.rb +1 -1
- data/db/migrate/20150128060325_remove_spree_configurations.rb +1 -1
- data/db/migrate/20150216173445_add_index_to_spree_stock_items_variant_id.rb +1 -1
- data/db/migrate/20150309161154_ensure_payments_have_numbers.rb +1 -1
- data/db/migrate/20150314013438_add_missing_indexes_on_spree_tables.rb +1 -1
- data/db/migrate/20150317174308_remove_duplicated_indexes_from_multi_columns.rb +1 -1
- data/db/migrate/20150324104002_remove_user_index_from_spree_state_changes.rb +1 -1
- data/db/migrate/20150515211137_fix_adjustment_order_id.rb +1 -1
- data/db/migrate/20150522071831_add_position_to_spree_payment_methods.rb +1 -1
- data/db/migrate/20150522181728_add_deleted_at_to_friendly_id_slugs.rb +1 -1
- data/db/migrate/20150609093816_increase_scale_on_pre_tax_amounts.rb +1 -1
- data/db/migrate/20150626181949_add_taxable_adjustment_total_to_line_item.rb +1 -1
- data/db/migrate/20150627090949_migrate_payment_methods_display.rb +1 -1
- data/db/migrate/20150707204155_enable_acts_as_paranoid_on_calculators.rb +1 -1
- data/db/migrate/20150714154102_spree_payment_method_store_credits.rb +1 -1
- data/db/migrate/20150726141425_rename_has_and_belongs_to_associations_to_model_names.rb +1 -1
- data/db/migrate/20150727191614_spree_store_credit_types.rb +1 -1
- data/db/migrate/20150819154308_add_discontinued_to_products_and_variants.rb +1 -1
- data/db/migrate/20151220072838_remove_shipping_method_id_from_spree_orders.rb +1 -1
- data/db/migrate/20160207191757_add_id_column_to_earlier_habtm_tables.rb +1 -1
- data/db/migrate/20160219165458_add_indexes.rb +1 -1
- data/db/migrate/20160509064646_remove_counter_cache_from_spree_variants_to_spree_stock_items.rb +10 -0
- data/db/migrate/20160511071954_acts_as_taggable_on_spree_migration.rb +40 -0
- data/db/migrate/20160511072249_change_collation_for_spree_tag_names.rb +9 -0
- data/db/migrate/20160511072335_add_missing_indexes_to_spree_taggings.rb +14 -0
- data/db/migrate/20160608090604_add_zipcode_required_to_spree_countries.rb +7 -0
- data/db/migrate/20161014145148_add_created_at_to_variant.rb +8 -0
- data/db/migrate/20161014152814_add_null_false_to_spree_variants_timestamps.rb +6 -0
- data/lib/generators/spree/custom_user/custom_user_generator.rb +1 -1
- data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +3 -3
- data/lib/generators/spree/custom_user/templates/migration.rb.tt +2 -2
- data/lib/generators/spree/dummy/dummy_generator.rb +11 -11
- data/lib/generators/spree/dummy/templates/rails/application.rb +1 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +9 -6
- data/lib/generators/spree/dummy/templates/rails/test.rb +2 -2
- data/lib/generators/spree/install/install_generator.rb +37 -13
- data/lib/spree/core/controller_helpers/common.rb +3 -3
- data/lib/spree/core/controller_helpers/order.rb +2 -5
- data/lib/spree/core/controller_helpers/respond_with.rb +1 -1
- data/lib/spree/core/delegate_belongs_to.rb +2 -2
- data/lib/spree/core/engine.rb +5 -4
- data/lib/spree/core/importer/product.rb +2 -2
- data/lib/spree/core/product_duplicator.rb +1 -1
- data/lib/spree/core/product_filters.rb +1 -1
- data/lib/spree/core/search/base.rb +1 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/i18n/initializer.rb +1 -1
- data/lib/spree/money.rb +1 -15
- data/lib/spree/permitted_attributes.rb +1 -1
- data/lib/spree/testing_support/caching.rb +3 -3
- data/lib/spree/testing_support/common_rake.rb +0 -2
- data/lib/spree/testing_support/controller_requests.rb +4 -4
- data/lib/spree/testing_support/factories/line_item_factory.rb +0 -1
- data/lib/spree/testing_support/factories/order_factory.rb +1 -0
- data/lib/spree/testing_support/factories/tag_factory.rb +5 -0
- data/lib/spree/testing_support/kernel.rb +18 -0
- data/lib/spree/testing_support/order_walkthrough.rb +4 -4
- data/lib/tasks/core.rake +2 -2
- data/spec/helpers/base_helper_spec.rb +200 -0
- data/spec/helpers/products_helper_spec.rb +289 -0
- data/spec/lib/calculated_adjustments_spec.rb +7 -0
- data/spec/lib/i18n_spec.rb +123 -0
- data/spec/lib/search/base_spec.rb +86 -0
- data/spec/lib/spree/core/controller_helpers/auth_spec.rb +103 -0
- data/spec/lib/spree/core/controller_helpers/order_spec.rb +110 -0
- data/spec/lib/spree/core/controller_helpers/search_spec.rb +17 -0
- data/spec/lib/spree/core/controller_helpers/store_spec.rb +72 -0
- data/spec/lib/spree/core/controller_helpers/strong_parameters_spec.rb +39 -0
- data/spec/lib/spree/core/delegate_belongs_to_spec.rb +22 -0
- data/spec/lib/spree/core/importer/order_spec.rb +605 -0
- data/spec/lib/spree/core/number_generator_spec.rb +175 -0
- data/spec/lib/spree/core/token_generator_spec.rb +24 -0
- data/spec/lib/spree/core/validators/email_spec.rb +53 -0
- data/spec/lib/spree/core_spec.rb +23 -0
- data/spec/lib/spree/localized_number_spec.rb +48 -0
- data/spec/lib/spree/migrations_spec.rb +36 -0
- data/spec/lib/spree/money_spec.rb +122 -0
- data/spec/lib/tasks/exchanges_spec.rb +136 -0
- data/spec/mailers/order_mailer_spec.rb +122 -0
- data/spec/mailers/reimbursement_mailer_spec.rb +47 -0
- data/spec/mailers/shipment_mailer_spec.rb +81 -0
- data/spec/mailers/test_mailer_spec.rb +38 -0
- data/spec/models/option_type_prototype_spec.rb +9 -0
- data/spec/models/spree/ability_spec.rb +251 -0
- data/spec/models/spree/address_spec.rb +402 -0
- data/spec/models/spree/adjustable/adjuster/base_spec.rb +10 -0
- data/spec/models/spree/adjustable/adjuster/promotion_spec.rb +211 -0
- data/spec/models/spree/adjustable/adjuster/tax_spec.rb +86 -0
- data/spec/models/spree/adjustable/adjustments_updater_spec.rb +26 -0
- data/spec/models/spree/adjustment_spec.rb +189 -0
- data/spec/models/spree/app_configuration_spec.rb +26 -0
- data/spec/models/spree/asset_spec.rb +28 -0
- data/spec/models/spree/calculator/default_tax_spec.rb +152 -0
- data/spec/models/spree/calculator/flat_percent_item_total_spec.rb +25 -0
- data/spec/models/spree/calculator/flat_rate_spec.rb +47 -0
- data/spec/models/spree/calculator/flexi_rate_spec.rb +41 -0
- data/spec/models/spree/calculator/percent_on_line_item_spec.rb +15 -0
- data/spec/models/spree/calculator/price_sack_spec.rb +30 -0
- data/spec/models/spree/calculator/refunds/default_refund_amount_spec.rb +47 -0
- data/spec/models/spree/calculator/shipping/flat_percent_item_total_spec.rb +23 -0
- data/spec/models/spree/calculator/shipping/flat_rate_spec.rb +13 -0
- data/spec/models/spree/calculator/shipping/flexi_rate_spec.rb +52 -0
- data/spec/models/spree/calculator/shipping/per_item_spec.rb +20 -0
- data/spec/models/spree/calculator/shipping/price_sack_spec.rb +29 -0
- data/spec/models/spree/calculator/shipping.rb +8 -0
- data/spec/models/spree/calculator/tiered_flat_rate_spec.rb +40 -0
- data/spec/models/spree/calculator/tiered_percent_spec.rb +51 -0
- data/spec/models/spree/calculator_spec.rb +69 -0
- data/spec/models/spree/classification_spec.rb +93 -0
- data/spec/models/spree/concerns/display_money_spec.rb +43 -0
- data/spec/models/spree/concerns/user_methods_spec.rb +82 -0
- data/spec/models/spree/concerns/vat_price_calculation_spec.rb +66 -0
- data/spec/models/spree/country_spec.rb +55 -0
- data/spec/models/spree/credit_card_spec.rb +328 -0
- data/spec/models/spree/customer_return_spec.rb +240 -0
- data/spec/models/spree/exchange_spec.rb +75 -0
- data/spec/models/spree/gateway/bogus_simple.rb +20 -0
- data/spec/models/spree/gateway/bogus_spec.rb +13 -0
- data/spec/models/spree/gateway_spec.rb +61 -0
- data/spec/models/spree/image_spec.rb +8 -0
- data/spec/models/spree/inventory_unit_spec.rb +256 -0
- data/spec/models/spree/line_item_spec.rb +346 -0
- data/spec/models/spree/option_type_spec.rb +14 -0
- data/spec/models/spree/option_value_spec.rb +18 -0
- data/spec/models/spree/order/address_spec.rb +50 -0
- data/spec/models/spree/order/adjustments_spec.rb +29 -0
- data/spec/models/spree/order/callbacks_spec.rb +42 -0
- data/spec/models/spree/order/checkout_spec.rb +770 -0
- data/spec/models/spree/order/currency_updater_spec.rb +32 -0
- data/spec/models/spree/order/finalizing_spec.rb +114 -0
- data/spec/models/spree/order/helpers_spec.rb +5 -0
- data/spec/models/spree/order/payment_spec.rb +214 -0
- data/spec/models/spree/order/risk_assessment_spec.rb +84 -0
- data/spec/models/spree/order/shipments_spec.rb +43 -0
- data/spec/models/spree/order/state_machine_spec.rb +212 -0
- data/spec/models/spree/order/store_credit_spec.rb +426 -0
- data/spec/models/spree/order/tax_spec.rb +84 -0
- data/spec/models/spree/order/totals_spec.rb +24 -0
- data/spec/models/spree/order/updating_spec.rb +18 -0
- data/spec/models/spree/order/validations_spec.rb +15 -0
- data/spec/models/spree/order_contents_spec.rb +297 -0
- data/spec/models/spree/order_inventory_spec.rb +239 -0
- data/spec/models/spree/order_merger_spec.rb +135 -0
- data/spec/models/spree/order_spec.rb +1046 -0
- data/spec/models/spree/order_updater_spec.rb +294 -0
- data/spec/models/spree/payment/gateway_options_spec.rb +127 -0
- data/spec/models/spree/payment/store_credit_spec.rb +60 -0
- data/spec/models/spree/payment_method/store_credit_spec.rb +291 -0
- data/spec/models/spree/payment_method_spec.rb +103 -0
- data/spec/models/spree/payment_spec.rb +919 -0
- data/spec/models/spree/preference_spec.rb +80 -0
- data/spec/models/spree/preferences/configuration_spec.rb +30 -0
- data/spec/models/spree/preferences/preferable_spec.rb +344 -0
- data/spec/models/spree/preferences/scoped_store_spec.rb +58 -0
- data/spec/models/spree/preferences/store_spec.rb +46 -0
- data/spec/models/spree/price_spec.rb +128 -0
- data/spec/models/spree/product/scopes_spec.rb +183 -0
- data/spec/models/spree/product_duplicator_spec.rb +103 -0
- data/spec/models/spree/product_filter_spec.rb +26 -0
- data/spec/models/spree/product_option_type_spec.rb +9 -0
- data/spec/models/spree/product_promotion_rule_spec.rb +9 -0
- data/spec/models/spree/product_property_spec.rb +22 -0
- data/spec/models/spree/product_spec.rb +619 -0
- data/spec/models/spree/promotion/actions/create_adjustment_spec.rb +50 -0
- data/spec/models/spree/promotion/actions/create_item_adjustments_spec.rb +148 -0
- data/spec/models/spree/promotion/actions/create_line_items_spec.rb +86 -0
- data/spec/models/spree/promotion/actions/free_shipping_spec.rb +36 -0
- data/spec/models/spree/promotion/rules/country_spec.rb +36 -0
- data/spec/models/spree/promotion/rules/first_order_spec.rb +75 -0
- data/spec/models/spree/promotion/rules/item_total_spec.rb +282 -0
- data/spec/models/spree/promotion/rules/one_use_per_user_spec.rb +42 -0
- data/spec/models/spree/promotion/rules/option_value_spec.rb +90 -0
- data/spec/models/spree/promotion/rules/product_spec.rb +143 -0
- data/spec/models/spree/promotion/rules/taxon_spec.rb +102 -0
- data/spec/models/spree/promotion/rules/user_logged_in_spec.rb +27 -0
- data/spec/models/spree/promotion/rules/user_spec.rb +45 -0
- data/spec/models/spree/promotion_action_spec.rb +10 -0
- data/spec/models/spree/promotion_category_spec.rb +17 -0
- data/spec/models/spree/promotion_handler/cart_spec.rb +102 -0
- data/spec/models/spree/promotion_handler/coupon_spec.rb +323 -0
- data/spec/models/spree/promotion_handler/free_shipping_spec.rb +48 -0
- data/spec/models/spree/promotion_handler/page_spec.rb +44 -0
- data/spec/models/spree/promotion_rule_spec.rb +29 -0
- data/spec/models/spree/promotion_rule_taxon_spec.rb +9 -0
- data/spec/models/spree/promotion_rule_user_spec.rb +9 -0
- data/spec/models/spree/promotion_spec.rb +679 -0
- data/spec/models/spree/property_prototype_spec.rb +9 -0
- data/spec/models/spree/property_spec.rb +5 -0
- data/spec/models/spree/prototype_spec.rb +5 -0
- data/spec/models/spree/prototype_taxon_spec.rb +9 -0
- data/spec/models/spree/refund_reason_spec.rb +20 -0
- data/spec/models/spree/refund_spec.rb +195 -0
- data/spec/models/spree/reimbursement/credit_spec.rb +36 -0
- data/spec/models/spree/reimbursement/reimbursement_type_engine_spec.rb +140 -0
- data/spec/models/spree/reimbursement/reimbursement_type_validator_spec.rb +83 -0
- data/spec/models/spree/reimbursement_performer_spec.rb +30 -0
- data/spec/models/spree/reimbursement_spec.rb +188 -0
- data/spec/models/spree/reimbursement_tax_calculator_spec.rb +63 -0
- data/spec/models/spree/reimbursement_type/credit_spec.rb +53 -0
- data/spec/models/spree/reimbursement_type/exchange_spec.rb +46 -0
- data/spec/models/spree/reimbursement_type/original_payment_spec.rb +55 -0
- data/spec/models/spree/reimbursement_type/store_credit_spec.rb +101 -0
- data/spec/models/spree/return_authorization_reason_spec.rb +7 -0
- data/spec/models/spree/return_authorization_spec.rb +230 -0
- data/spec/models/spree/return_item/eligibility_validator/default_spec.rb +77 -0
- data/spec/models/spree/return_item/eligibility_validator/inventory_shipped_spec.rb +58 -0
- data/spec/models/spree/return_item/eligibility_validator/no_reimbursements_spec.rb +61 -0
- data/spec/models/spree/return_item/eligibility_validator/order_completed_spec.rb +32 -0
- data/spec/models/spree/return_item/eligibility_validator/rma_required_spec.rb +29 -0
- data/spec/models/spree/return_item/eligibility_validator/time_since_purchase_spec.rb +35 -0
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_option_value_spec.rb +65 -0
- data/spec/models/spree/return_item/exchange_variant_eligibility/same_product_spec.rb +43 -0
- data/spec/models/spree/return_item_spec.rb +731 -0
- data/spec/models/spree/returns_calculator_spec.rb +14 -0
- data/spec/models/spree/role_spec.rb +7 -0
- data/spec/models/spree/shipment_spec.rb +742 -0
- data/spec/models/spree/shipping_calculator_spec.rb +45 -0
- data/spec/models/spree/shipping_category_spec.rb +19 -0
- data/spec/models/spree/shipping_method_spec.rb +95 -0
- data/spec/models/spree/shipping_rate_spec.rb +140 -0
- data/spec/models/spree/state_spec.rb +29 -0
- data/spec/models/spree/stock/availability_validator_spec.rb +36 -0
- data/spec/models/spree/stock/content_item_spec.rb +31 -0
- data/spec/models/spree/stock/coordinator_spec.rb +61 -0
- data/spec/models/spree/stock/differentiator_spec.rb +39 -0
- data/spec/models/spree/stock/estimator_spec.rb +202 -0
- data/spec/models/spree/stock/inventory_unit_builder_spec.rb +38 -0
- data/spec/models/spree/stock/package_spec.rb +182 -0
- data/spec/models/spree/stock/packer_spec.rb +70 -0
- data/spec/models/spree/stock/prioritizer_spec.rb +125 -0
- data/spec/models/spree/stock/quantifier_spec.rb +126 -0
- data/spec/models/spree/stock/splitter/backordered_spec.rb +29 -0
- data/spec/models/spree/stock/splitter/base_spec.rb +21 -0
- data/spec/models/spree/stock/splitter/shipping_category_spec.rb +47 -0
- data/spec/models/spree/stock/splitter/weight_spec.rb +32 -0
- data/spec/models/spree/stock_item_spec.rb +432 -0
- data/spec/models/spree/stock_location_spec.rb +243 -0
- data/spec/models/spree/stock_movement_spec.rb +120 -0
- data/spec/models/spree/stock_transfer_spec.rb +50 -0
- data/spec/models/spree/store_credit_event_spec.rb +101 -0
- data/spec/models/spree/store_credit_spec.rb +786 -0
- data/spec/models/spree/store_spec.rb +78 -0
- data/spec/models/spree/tax_category_spec.rb +32 -0
- data/spec/models/spree/tax_rate_spec.rb +561 -0
- data/spec/models/spree/taxon_spec.rb +85 -0
- data/spec/models/spree/taxonomy_spec.rb +18 -0
- data/spec/models/spree/tracker_spec.rb +21 -0
- data/spec/models/spree/user_spec.rb +203 -0
- data/spec/models/spree/variant_spec.rb +809 -0
- data/spec/models/spree/zone_member_spec.rb +38 -0
- data/spec/models/spree/zone_spec.rb +472 -0
- data/spec/spec_helper.rb +79 -0
- data/spec/support/big_decimal.rb +5 -0
- data/spec/support/concerns/adjustment_source.rb +23 -0
- data/spec/support/concerns/default_price.rb +37 -0
- data/spec/support/rake.rb +13 -0
- data/spec/support/test_gateway.rb +2 -0
- data/spree_core.gemspec +12 -12
- metadata +249 -43
- data/config/initializers/premailer_rails.rb +0 -3
@@ -1,88 +1,7 @@
|
|
1
|
-
# FriendlyId Global Configuration
|
2
|
-
#
|
3
|
-
# Use this to set up shared configuration options for your entire application.
|
4
|
-
# Any of the configuration options shown here can also be applied to single
|
5
|
-
# models by passing arguments to the `friendly_id` class method or defining
|
6
|
-
# methods in your model.
|
7
|
-
#
|
8
1
|
# To learn more, check out the guide:
|
9
|
-
#
|
10
2
|
# http://norman.github.io/friendly_id/file.Guide.html
|
11
|
-
|
12
3
|
FriendlyId.defaults do |config|
|
13
|
-
# ## Reserved Words
|
14
|
-
#
|
15
|
-
# Some words could conflict with Rails's routes when used as slugs, or are
|
16
|
-
# undesirable to allow as slugs. Edit this list as needed for your app.
|
17
4
|
config.use :reserved
|
18
|
-
|
19
5
|
config.reserved_words = %w(new edit index session login logout users admin
|
20
6
|
stylesheets assets javascripts images)
|
21
|
-
|
22
|
-
# ## Friendly Finders
|
23
|
-
#
|
24
|
-
# Uncomment this to use friendly finders in all models. By default, if
|
25
|
-
# you wish to find a record by its friendly id, you must do:
|
26
|
-
#
|
27
|
-
# MyModel.friendly.find('foo')
|
28
|
-
#
|
29
|
-
# If you uncomment this, you can do:
|
30
|
-
#
|
31
|
-
# MyModel.find('foo')
|
32
|
-
#
|
33
|
-
# This is significantly more convenient but may not be appropriate for
|
34
|
-
# all applications, so you must explicity opt-in to this behavior. You can
|
35
|
-
# always also configure it on a per-model basis if you prefer.
|
36
|
-
#
|
37
|
-
# Something else to consider is that using the :finders addon boosts
|
38
|
-
# performance because it will avoid Rails-internal code that makes runtime
|
39
|
-
# calls to `Module.extend`.
|
40
|
-
#
|
41
|
-
# config.use :finders
|
42
|
-
#
|
43
|
-
# ## Slugs
|
44
|
-
#
|
45
|
-
# Most applications will use the :slugged module everywhere. If you wish
|
46
|
-
# to do so, uncomment the following line.
|
47
|
-
#
|
48
|
-
# config.use :slugged
|
49
|
-
#
|
50
|
-
# By default, FriendlyId's :slugged addon expects the slug column to be named
|
51
|
-
# 'slug', but you can change it if you wish.
|
52
|
-
#
|
53
|
-
# config.slug_column = 'slug'
|
54
|
-
#
|
55
|
-
# When FriendlyId can not generate a unique ID from your base method, it appends
|
56
|
-
# a UUID, separated by a single dash. You can configure the character used as the
|
57
|
-
# separator. If you're upgrading from FriendlyId 4, you may wish to replace this
|
58
|
-
# with two dashes.
|
59
|
-
#
|
60
|
-
# config.sequence_separator = '-'
|
61
|
-
#
|
62
|
-
# ## Tips and Tricks
|
63
|
-
#
|
64
|
-
# ### Controlling when slugs are generated
|
65
|
-
#
|
66
|
-
# As of FriendlyId 5.0, new slugs are generated only when the slug field is
|
67
|
-
# nil, but if you're using a column as your base method can change this
|
68
|
-
# behavior by overriding the `should_generate_new_friendly_id` method that
|
69
|
-
# FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave
|
70
|
-
# more like 4.0.
|
71
|
-
#
|
72
|
-
# config.use Module.new {
|
73
|
-
# def should_generate_new_friendly_id?
|
74
|
-
# slug.blank? || <your_column_name_here>_changed?
|
75
|
-
# end
|
76
|
-
# }
|
77
|
-
#
|
78
|
-
# FriendlyId uses Rails's `parameterize` method to generate slugs, but for
|
79
|
-
# languages that don't use the Roman alphabet, that's not usually suffient. Here
|
80
|
-
# we use the Babosa library to transliterate Russian Cyrillic slugs to ASCII. If
|
81
|
-
# you use this, don't forget to add "babosa" to your Gemfile.
|
82
|
-
#
|
83
|
-
# config.use Module.new {
|
84
|
-
# def normalize_friendly_id(text)
|
85
|
-
# text.to_slug.normalize! :transliterations => [:russian, :latin]
|
86
|
-
# end
|
87
|
-
# }
|
88
7
|
end
|
data/config/locales/en.yml
CHANGED
@@ -612,8 +612,11 @@ en:
|
|
612
612
|
FRA: France
|
613
613
|
ITA: Italy
|
614
614
|
US: United States of America
|
615
|
+
country_rule:
|
616
|
+
label: Choose must be shipped to this country
|
615
617
|
coupon: Coupon
|
616
618
|
coupon_code: Coupon code
|
619
|
+
coupon_code_apply: Apply
|
617
620
|
coupon_code_already_applied: The coupon code has already been applied to this order
|
618
621
|
coupon_code_applied: The coupon code was successfully applied to your order.
|
619
622
|
coupon_code_better_exists: The previously applied coupon code results in a better deal
|
@@ -866,6 +869,7 @@ en:
|
|
866
869
|
meta_keywords: Meta Keywords
|
867
870
|
meta_title: Meta Title
|
868
871
|
metadata: Metadata
|
872
|
+
mutable: Mutable
|
869
873
|
minimal_amount: Minimal Amount
|
870
874
|
missing_return_authorization: ! 'Missing Return Authorization for %{item_name}.'
|
871
875
|
month: Month
|
@@ -894,6 +898,7 @@ en:
|
|
894
898
|
new_prototype: New Prototype
|
895
899
|
new_refund: New Refund
|
896
900
|
new_refund_reason: New Refund Reason
|
901
|
+
new_reimbursement_type: New Reimbursement Type
|
897
902
|
new_rma_reason: New RMA Reason
|
898
903
|
new_return_authorization: New Return Authorization
|
899
904
|
new_role: New Role
|
@@ -1096,6 +1101,9 @@ en:
|
|
1096
1101
|
promotion_label: 'Promotion (%{name})'
|
1097
1102
|
promotion_rule: Promotion Rule
|
1098
1103
|
promotion_rule_types:
|
1104
|
+
country:
|
1105
|
+
description: Order is shipped to proper (or default) country
|
1106
|
+
name: Country
|
1099
1107
|
first_order:
|
1100
1108
|
description: Must be the customer's first order
|
1101
1109
|
name: First order
|
@@ -1220,6 +1228,7 @@ en:
|
|
1220
1228
|
sales_totals: Sales Totals
|
1221
1229
|
save_and_continue: Save and Continue
|
1222
1230
|
save_my_address: Save my address
|
1231
|
+
saving: Saving
|
1223
1232
|
say_no: 'No'
|
1224
1233
|
say_yes: 'Yes'
|
1225
1234
|
scope: Scope
|
@@ -1413,6 +1422,8 @@ en:
|
|
1413
1422
|
match_any: at least one
|
1414
1423
|
taxonomies: Taxonomies
|
1415
1424
|
taxonomy: Taxonomy
|
1425
|
+
taxonomy_brands_name: Brands
|
1426
|
+
taxonomy_categories_name: Categories
|
1416
1427
|
taxonomy_edit: Edit taxonomy
|
1417
1428
|
taxonomy_tree_error: The requested change has not been accepted and the tree has been returned to its previous state, please try again.
|
1418
1429
|
taxonomy_tree_instruction: ! '* Right click a child in the tree to access the menu for adding, deleting or sorting a child.'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'carmen'
|
2
2
|
|
3
|
-
connection =
|
3
|
+
connection = ApplicationRecord.connection
|
4
4
|
country_inserts = []
|
5
5
|
|
6
6
|
country_values = -> do
|
@@ -27,3 +27,7 @@ connection.execute <<-SQL
|
|
27
27
|
SQL
|
28
28
|
|
29
29
|
Spree::Config[:default_country_id] = Spree::Country.find_by(iso: "US").id
|
30
|
+
|
31
|
+
# find countries that do not use postal codes (by iso) and set 'zipcode_required' to false for them.
|
32
|
+
|
33
|
+
Spree::Country.where(iso: Spree::Address::NO_ZIPCODE_ISO_CODES).update_all(zipcode_required: false)
|
data/db/default/spree/roles.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
Spree::Role.where(:
|
2
|
-
Spree::Role.where(:
|
1
|
+
Spree::Role.where(name: "admin").first_or_create
|
2
|
+
Spree::Role.where(name: "user").first_or_create
|
data/db/default/spree/states.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
class SpreeOneTwo < ActiveRecord::Migration
|
1
|
+
class SpreeOneTwo < ActiveRecord::Migration[4.2]
|
2
2
|
def up
|
3
3
|
# This migration is just a compressed version of all the previous
|
4
4
|
# migrations for spree_core. Do not run it if one of the core tables
|
5
5
|
# already exists. Assume the best.
|
6
|
-
return if
|
6
|
+
return if data_source_exists?(:spree_addresses)
|
7
7
|
|
8
8
|
|
9
9
|
create_table :spree_activators do |t|
|
@@ -14,9 +14,9 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
14
14
|
t.string :event_name
|
15
15
|
t.string :type
|
16
16
|
t.integer :usage_limit
|
17
|
-
t.string :match_policy, :
|
17
|
+
t.string :match_policy, default: 'all'
|
18
18
|
t.string :code
|
19
|
-
t.boolean :advertise, :
|
19
|
+
t.boolean :advertise, default: false
|
20
20
|
t.string :path
|
21
21
|
t.timestamps null: false
|
22
22
|
end
|
@@ -37,52 +37,52 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
37
37
|
t.timestamps null: false
|
38
38
|
end
|
39
39
|
|
40
|
-
add_index :spree_addresses, [:firstname], :
|
41
|
-
add_index :spree_addresses, [:lastname], :
|
40
|
+
add_index :spree_addresses, [:firstname], name: 'index_addresses_on_firstname'
|
41
|
+
add_index :spree_addresses, [:lastname], name: 'index_addresses_on_lastname'
|
42
42
|
|
43
43
|
create_table :spree_adjustments do |t|
|
44
|
-
t.references :source, :
|
45
|
-
t.references :adjustable, :
|
46
|
-
t.references :originator, :
|
47
|
-
t.decimal :amount, :
|
44
|
+
t.references :source, polymorphic: true
|
45
|
+
t.references :adjustable, polymorphic: true
|
46
|
+
t.references :originator, polymorphic: true
|
47
|
+
t.decimal :amount, precision: 8, scale: 2
|
48
48
|
t.string :label
|
49
49
|
t.boolean :mandatory
|
50
50
|
t.boolean :locked
|
51
|
-
t.boolean :eligible, :
|
51
|
+
t.boolean :eligible, default: true
|
52
52
|
t.timestamps null: false
|
53
53
|
end
|
54
54
|
|
55
|
-
add_index :spree_adjustments, [:adjustable_id], :
|
55
|
+
add_index :spree_adjustments, [:adjustable_id], name: 'index_adjustments_on_order_id'
|
56
56
|
|
57
57
|
create_table :spree_assets do |t|
|
58
|
-
t.references :viewable, :
|
58
|
+
t.references :viewable, polymorphic: true
|
59
59
|
t.integer :attachment_width
|
60
60
|
t.integer :attachment_height
|
61
61
|
t.integer :attachment_file_size
|
62
62
|
t.integer :position
|
63
63
|
t.string :attachment_content_type
|
64
64
|
t.string :attachment_file_name
|
65
|
-
t.string :type, :
|
65
|
+
t.string :type, limit: 75
|
66
66
|
t.datetime :attachment_updated_at
|
67
67
|
t.text :alt
|
68
68
|
end
|
69
69
|
|
70
|
-
add_index :spree_assets, [:viewable_id], :
|
71
|
-
add_index :spree_assets, [:viewable_type, :type], :
|
70
|
+
add_index :spree_assets, [:viewable_id], name: 'index_assets_on_viewable_id'
|
71
|
+
add_index :spree_assets, [:viewable_type, :type], name: 'index_assets_on_viewable_type_and_type'
|
72
72
|
|
73
73
|
create_table :spree_calculators do |t|
|
74
74
|
t.string :type
|
75
|
-
t.references :calculable, :
|
75
|
+
t.references :calculable, polymorphic: true
|
76
76
|
t.timestamps null: false
|
77
77
|
end
|
78
78
|
|
79
79
|
create_table :spree_configurations do |t|
|
80
80
|
t.string :name
|
81
|
-
t.string :type, :
|
81
|
+
t.string :type, limit: 50
|
82
82
|
t.timestamps null: false
|
83
83
|
end
|
84
84
|
|
85
|
-
add_index :spree_configurations, [:name, :type], :
|
85
|
+
add_index :spree_configurations, [:name, :type], name: 'index_spree_configurations_on_name_and_type'
|
86
86
|
|
87
87
|
create_table :spree_countries do |t|
|
88
88
|
t.string :iso_name
|
@@ -112,15 +112,15 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
112
112
|
t.string :type
|
113
113
|
t.string :name
|
114
114
|
t.text :description
|
115
|
-
t.boolean :active, :
|
116
|
-
t.string :environment, :
|
117
|
-
t.string :server, :
|
118
|
-
t.boolean :test_mode, :
|
115
|
+
t.boolean :active, default: true
|
116
|
+
t.string :environment, default: 'development'
|
117
|
+
t.string :server, default: 'test'
|
118
|
+
t.boolean :test_mode, default: true
|
119
119
|
t.timestamps null: false
|
120
120
|
end
|
121
121
|
|
122
122
|
create_table :spree_inventory_units do |t|
|
123
|
-
t.integer :lock_version, :
|
123
|
+
t.integer :lock_version, default: 0
|
124
124
|
t.string :state
|
125
125
|
t.references :variant
|
126
126
|
t.references :order
|
@@ -129,41 +129,41 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
129
129
|
t.timestamps null: false
|
130
130
|
end
|
131
131
|
|
132
|
-
add_index :spree_inventory_units, [:order_id], :
|
133
|
-
add_index :spree_inventory_units, [:shipment_id], :
|
134
|
-
add_index :spree_inventory_units, [:variant_id], :
|
132
|
+
add_index :spree_inventory_units, [:order_id], name: 'index_inventory_units_on_order_id'
|
133
|
+
add_index :spree_inventory_units, [:shipment_id], name: 'index_inventory_units_on_shipment_id'
|
134
|
+
add_index :spree_inventory_units, [:variant_id], name: 'index_inventory_units_on_variant_id'
|
135
135
|
|
136
136
|
create_table :spree_line_items do |t|
|
137
137
|
t.references :variant
|
138
138
|
t.references :order
|
139
|
-
t.integer :quantity, :
|
140
|
-
t.decimal :price, :
|
139
|
+
t.integer :quantity, null: false
|
140
|
+
t.decimal :price, precision: 8, scale: 2, null: false
|
141
141
|
t.timestamps null: false
|
142
142
|
end
|
143
143
|
|
144
|
-
add_index :spree_line_items, [:order_id], :
|
145
|
-
add_index :spree_line_items, [:variant_id], :
|
144
|
+
add_index :spree_line_items, [:order_id], name: 'index_spree_line_items_on_order_id'
|
145
|
+
add_index :spree_line_items, [:variant_id], name: 'index_spree_line_items_on_variant_id'
|
146
146
|
|
147
147
|
create_table :spree_log_entries do |t|
|
148
|
-
t.references :source, :
|
148
|
+
t.references :source, polymorphic: true
|
149
149
|
t.text :details
|
150
150
|
t.timestamps null: false
|
151
151
|
end
|
152
152
|
|
153
153
|
create_table :spree_mail_methods do |t|
|
154
154
|
t.string :environment
|
155
|
-
t.boolean :active, :
|
155
|
+
t.boolean :active, default: true
|
156
156
|
t.timestamps null: false
|
157
157
|
end
|
158
158
|
|
159
159
|
create_table :spree_option_types do |t|
|
160
|
-
t.string :name, :
|
161
|
-
t.string :presentation, :
|
162
|
-
t.integer :position, :
|
160
|
+
t.string :name, limit: 100
|
161
|
+
t.string :presentation, limit: 100
|
162
|
+
t.integer :position, default: 0, null: false
|
163
163
|
t.timestamps null: false
|
164
164
|
end
|
165
165
|
|
166
|
-
create_table :spree_option_types_prototypes, :
|
166
|
+
create_table :spree_option_types_prototypes, id: false do |t|
|
167
167
|
t.references :prototype
|
168
168
|
t.references :option_type
|
169
169
|
end
|
@@ -176,25 +176,25 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
176
176
|
t.timestamps null: false
|
177
177
|
end
|
178
178
|
|
179
|
-
create_table :spree_option_values_variants, :
|
179
|
+
create_table :spree_option_values_variants, id: false do |t|
|
180
180
|
t.references :variant
|
181
181
|
t.references :option_value
|
182
182
|
end
|
183
183
|
|
184
|
-
add_index :spree_option_values_variants, [:variant_id, :option_value_id], :
|
185
|
-
add_index :spree_option_values_variants, [:variant_id], :
|
184
|
+
add_index :spree_option_values_variants, [:variant_id, :option_value_id], name: 'index_option_values_variants_on_variant_id_and_option_value_id'
|
185
|
+
add_index :spree_option_values_variants, [:variant_id], name: 'index_spree_option_values_variants_on_variant_id'
|
186
186
|
|
187
187
|
create_table :spree_orders do |t|
|
188
|
-
t.string :number, :
|
189
|
-
t.decimal :item_total, :
|
190
|
-
t.decimal :total, :
|
188
|
+
t.string :number, limit: 15
|
189
|
+
t.decimal :item_total, precision: 8, scale: 2, default: 0.0, null: false
|
190
|
+
t.decimal :total, precision: 8, scale: 2, default: 0.0, null: false
|
191
191
|
t.string :state
|
192
|
-
t.decimal :adjustment_total, :
|
192
|
+
t.decimal :adjustment_total, precision: 8, scale: 2, default: 0.0, null: false
|
193
193
|
t.references :user
|
194
194
|
t.datetime :completed_at
|
195
195
|
t.references :bill_address
|
196
196
|
t.references :ship_address
|
197
|
-
t.decimal :payment_total, :
|
197
|
+
t.decimal :payment_total, precision: 8, scale: 2, default: 0.0
|
198
198
|
t.references :shipping_method
|
199
199
|
t.string :shipment_state
|
200
200
|
t.string :payment_state
|
@@ -203,23 +203,23 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
203
203
|
t.timestamps null: false
|
204
204
|
end
|
205
205
|
|
206
|
-
add_index :spree_orders, [:number], :
|
206
|
+
add_index :spree_orders, [:number], name: 'index_spree_orders_on_number'
|
207
207
|
|
208
208
|
create_table :spree_payment_methods do |t|
|
209
209
|
t.string :type
|
210
210
|
t.string :name
|
211
211
|
t.text :description
|
212
|
-
t.boolean :active, :
|
213
|
-
t.string :environment, :
|
212
|
+
t.boolean :active, default: true
|
213
|
+
t.string :environment, default: 'development'
|
214
214
|
t.datetime :deleted_at
|
215
215
|
t.string :display_on
|
216
216
|
t.timestamps null: false
|
217
217
|
end
|
218
218
|
|
219
219
|
create_table :spree_payments do |t|
|
220
|
-
t.decimal :amount, :
|
220
|
+
t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
|
221
221
|
t.references :order
|
222
|
-
t.references :source, :
|
222
|
+
t.references :source, polymorphic: true
|
223
223
|
t.references :payment_method
|
224
224
|
t.string :state
|
225
225
|
t.string :response_code
|
@@ -228,15 +228,15 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
228
228
|
end
|
229
229
|
|
230
230
|
create_table :spree_preferences do |t|
|
231
|
-
t.string :name, :
|
232
|
-
t.references :owner, :
|
231
|
+
t.string :name, limit: 100
|
232
|
+
t.references :owner, polymorphic: true
|
233
233
|
t.text :value
|
234
234
|
t.string :key
|
235
235
|
t.string :value_type
|
236
236
|
t.timestamps null: false
|
237
237
|
end
|
238
238
|
|
239
|
-
add_index :spree_preferences, [:key], :
|
239
|
+
add_index :spree_preferences, [:key], name: 'index_spree_preferences_on_key', unique: true
|
240
240
|
|
241
241
|
create_table :spree_product_option_types do |t|
|
242
242
|
t.integer :position
|
@@ -252,10 +252,10 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
252
252
|
t.timestamps null: false
|
253
253
|
end
|
254
254
|
|
255
|
-
add_index :spree_product_properties, [:product_id], :
|
255
|
+
add_index :spree_product_properties, [:product_id], name: 'index_product_properties_on_product_id'
|
256
256
|
|
257
257
|
create_table :spree_products do |t|
|
258
|
-
t.string :name, :
|
258
|
+
t.string :name, default: '', null: false
|
259
259
|
t.text :description
|
260
260
|
t.datetime :available_on
|
261
261
|
t.datetime :deleted_at
|
@@ -264,30 +264,30 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
264
264
|
t.string :meta_keywords
|
265
265
|
t.references :tax_category
|
266
266
|
t.references :shipping_category
|
267
|
-
t.integer :count_on_hand, :
|
267
|
+
t.integer :count_on_hand, default: 0, null: false
|
268
268
|
t.timestamps null: false
|
269
269
|
end
|
270
270
|
|
271
|
-
add_index :spree_products, [:available_on], :
|
272
|
-
add_index :spree_products, [:deleted_at], :
|
273
|
-
add_index :spree_products, [:name], :
|
274
|
-
add_index :spree_products, [:permalink], :
|
271
|
+
add_index :spree_products, [:available_on], name: 'index_spree_products_on_available_on'
|
272
|
+
add_index :spree_products, [:deleted_at], name: 'index_spree_products_on_deleted_at'
|
273
|
+
add_index :spree_products, [:name], name: 'index_spree_products_on_name'
|
274
|
+
add_index :spree_products, [:permalink], name: 'index_spree_products_on_permalink'
|
275
275
|
|
276
|
-
create_table :spree_products_taxons, :
|
276
|
+
create_table :spree_products_taxons, id: false do |t|
|
277
277
|
t.references :product
|
278
278
|
t.references :taxon
|
279
279
|
end
|
280
280
|
|
281
|
-
add_index :spree_products_taxons, [:product_id], :
|
282
|
-
add_index :spree_products_taxons, [:taxon_id], :
|
281
|
+
add_index :spree_products_taxons, [:product_id], name: 'index_spree_products_taxons_on_product_id'
|
282
|
+
add_index :spree_products_taxons, [:taxon_id], name: 'index_spree_products_taxons_on_taxon_id'
|
283
283
|
|
284
284
|
create_table :spree_properties do |t|
|
285
285
|
t.string :name
|
286
|
-
t.string :presentation, :
|
286
|
+
t.string :presentation, null: false
|
287
287
|
t.timestamps null: false
|
288
288
|
end
|
289
289
|
|
290
|
-
create_table :spree_properties_prototypes, :
|
290
|
+
create_table :spree_properties_prototypes, id: false do |t|
|
291
291
|
t.references :prototype
|
292
292
|
t.references :property
|
293
293
|
end
|
@@ -300,7 +300,7 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
300
300
|
create_table :spree_return_authorizations do |t|
|
301
301
|
t.string :number
|
302
302
|
t.string :state
|
303
|
-
t.decimal :amount, :
|
303
|
+
t.decimal :amount, precision: 8, scale: 2, default: 0.0, null: false
|
304
304
|
t.references :order
|
305
305
|
t.text :reason
|
306
306
|
t.timestamps null: false
|
@@ -310,18 +310,18 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
310
310
|
t.string :name
|
311
311
|
end
|
312
312
|
|
313
|
-
create_table :spree_roles_users, :
|
313
|
+
create_table :spree_roles_users, id: false do |t|
|
314
314
|
t.references :role
|
315
315
|
t.references :user
|
316
316
|
end
|
317
317
|
|
318
|
-
add_index :spree_roles_users, [:role_id], :
|
319
|
-
add_index :spree_roles_users, [:user_id], :
|
318
|
+
add_index :spree_roles_users, [:role_id], name: 'index_spree_roles_users_on_role_id'
|
319
|
+
add_index :spree_roles_users, [:user_id], name: 'index_spree_roles_users_on_user_id'
|
320
320
|
|
321
321
|
create_table :spree_shipments do |t|
|
322
322
|
t.string :tracking
|
323
323
|
t.string :number
|
324
|
-
t.decimal :cost, :
|
324
|
+
t.decimal :cost, precision: 8, scale: 2
|
325
325
|
t.datetime :shipped_at
|
326
326
|
t.references :order
|
327
327
|
t.references :shipping_method
|
@@ -330,7 +330,7 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
330
330
|
t.timestamps null: false
|
331
331
|
end
|
332
332
|
|
333
|
-
add_index :spree_shipments, [:number], :
|
333
|
+
add_index :spree_shipments, [:number], name: 'index_shipments_on_number'
|
334
334
|
|
335
335
|
create_table :spree_shipping_categories do |t|
|
336
336
|
t.string :name
|
@@ -368,28 +368,28 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
368
368
|
create_table :spree_tax_categories do |t|
|
369
369
|
t.string :name
|
370
370
|
t.string :description
|
371
|
-
t.boolean :is_default, :
|
371
|
+
t.boolean :is_default, default: false
|
372
372
|
t.datetime :deleted_at
|
373
373
|
t.timestamps null: false
|
374
374
|
end
|
375
375
|
|
376
376
|
create_table :spree_tax_rates do |t|
|
377
|
-
t.decimal :amount, :
|
377
|
+
t.decimal :amount, precision: 8, scale: 5
|
378
378
|
t.references :zone
|
379
379
|
t.references :tax_category
|
380
|
-
t.boolean :included_in_price, :
|
380
|
+
t.boolean :included_in_price, default: false
|
381
381
|
t.timestamps null: false
|
382
382
|
end
|
383
383
|
|
384
384
|
create_table :spree_taxonomies do |t|
|
385
|
-
t.string :name, :
|
385
|
+
t.string :name, null: false
|
386
386
|
t.timestamps null: false
|
387
387
|
end
|
388
388
|
|
389
389
|
create_table :spree_taxons do |t|
|
390
390
|
t.references :parent
|
391
|
-
t.integer :position, :
|
392
|
-
t.string :name, :
|
391
|
+
t.integer :position, default: 0
|
392
|
+
t.string :name, null: false
|
393
393
|
t.string :permalink
|
394
394
|
t.references :taxonomy
|
395
395
|
t.integer :lft
|
@@ -402,35 +402,35 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
402
402
|
t.timestamps null: false
|
403
403
|
end
|
404
404
|
|
405
|
-
add_index :spree_taxons, [:parent_id], :
|
406
|
-
add_index :spree_taxons, [:permalink], :
|
407
|
-
add_index :spree_taxons, [:taxonomy_id], :
|
405
|
+
add_index :spree_taxons, [:parent_id], name: 'index_taxons_on_parent_id'
|
406
|
+
add_index :spree_taxons, [:permalink], name: 'index_taxons_on_permalink'
|
407
|
+
add_index :spree_taxons, [:taxonomy_id], name: 'index_taxons_on_taxonomy_id'
|
408
408
|
|
409
|
-
create_table :spree_tokenized_permissions, :
|
410
|
-
t.references :permissable, :
|
409
|
+
create_table :spree_tokenized_permissions, force: true do |t|
|
410
|
+
t.references :permissable, polymorphic: true
|
411
411
|
t.string :token
|
412
412
|
t.timestamps null: false
|
413
413
|
end
|
414
414
|
|
415
|
-
add_index :spree_tokenized_permissions, [:permissable_id, :permissable_type], :
|
415
|
+
add_index :spree_tokenized_permissions, [:permissable_id, :permissable_type], name: 'index_tokenized_name_and_type'
|
416
416
|
|
417
417
|
create_table :spree_trackers do |t|
|
418
418
|
t.string :environment
|
419
419
|
t.string :analytics_id
|
420
|
-
t.boolean :active, :
|
420
|
+
t.boolean :active, default: true
|
421
421
|
t.timestamps null: false
|
422
422
|
end
|
423
423
|
|
424
424
|
create_table :spree_users do |t|
|
425
|
-
t.string :encrypted_password, :
|
426
|
-
t.string :password_salt, :
|
425
|
+
t.string :encrypted_password, limit: 128
|
426
|
+
t.string :password_salt, limit: 128
|
427
427
|
t.string :email
|
428
428
|
t.string :remember_token
|
429
429
|
t.string :persistence_token
|
430
430
|
t.string :reset_password_token
|
431
431
|
t.string :perishable_token
|
432
|
-
t.integer :sign_in_count, :
|
433
|
-
t.integer :failed_attempts, :
|
432
|
+
t.integer :sign_in_count, default: 0, null: false
|
433
|
+
t.integer :failed_attempts, default: 0, null: false
|
434
434
|
t.datetime :last_request_at
|
435
435
|
t.datetime :current_sign_in_at
|
436
436
|
t.datetime :last_sign_in_at
|
@@ -448,24 +448,24 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
448
448
|
end
|
449
449
|
|
450
450
|
create_table :spree_variants do |t|
|
451
|
-
t.string :sku, :
|
452
|
-
t.decimal :price, :
|
453
|
-
t.decimal :weight, :
|
454
|
-
t.decimal :height, :
|
455
|
-
t.decimal :width, :
|
456
|
-
t.decimal :depth, :
|
451
|
+
t.string :sku, default: '', null: false
|
452
|
+
t.decimal :price, precision: 8, scale: 2, null: false
|
453
|
+
t.decimal :weight, precision: 8, scale: 2
|
454
|
+
t.decimal :height, precision: 8, scale: 2
|
455
|
+
t.decimal :width, precision: 8, scale: 2
|
456
|
+
t.decimal :depth, precision: 8, scale: 2
|
457
457
|
t.datetime :deleted_at
|
458
|
-
t.boolean :is_master, :
|
458
|
+
t.boolean :is_master, default: false
|
459
459
|
t.references :product
|
460
|
-
t.integer :count_on_hand, :
|
461
|
-
t.decimal :cost_price, :
|
460
|
+
t.integer :count_on_hand, default: 0, null: false
|
461
|
+
t.decimal :cost_price, precision: 8, scale: 2
|
462
462
|
t.integer :position
|
463
463
|
end
|
464
464
|
|
465
|
-
add_index :spree_variants, [:product_id], :
|
465
|
+
add_index :spree_variants, [:product_id], name: 'index_spree_variants_on_product_id'
|
466
466
|
|
467
467
|
create_table :spree_zone_members do |t|
|
468
|
-
t.references :zoneable, :
|
468
|
+
t.references :zoneable, polymorphic: true
|
469
469
|
t.references :zone
|
470
470
|
t.timestamps null: false
|
471
471
|
end
|
@@ -473,8 +473,8 @@ class SpreeOneTwo < ActiveRecord::Migration
|
|
473
473
|
create_table :spree_zones do |t|
|
474
474
|
t.string :name
|
475
475
|
t.string :description
|
476
|
-
t.boolean :default_tax, :
|
477
|
-
t.integer :zone_members_count, :
|
476
|
+
t.boolean :default_tax, default: false
|
477
|
+
t.integer :zone_members_count, default: 0
|
478
478
|
t.timestamps null: false
|
479
479
|
end
|
480
480
|
end
|