spree_core 4.0.0 → 4.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (716) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spree/base_controller.rb +2 -2
  3. data/app/finders/concerns/spree/product_filterable.rb +9 -0
  4. data/app/finders/spree/addresses/find.rb +6 -0
  5. data/app/finders/spree/base_finder.rb +14 -0
  6. data/app/finders/spree/cms_pages/find.rb +41 -0
  7. data/app/finders/spree/countries/find.rb +11 -3
  8. data/app/finders/spree/credit_cards/find.rb +2 -2
  9. data/app/finders/spree/menus/find.rb +11 -0
  10. data/app/finders/spree/option_values/find_available.rb +28 -0
  11. data/app/finders/spree/orders/find_complete.rb +14 -2
  12. data/app/finders/spree/orders/find_current.rb +2 -14
  13. data/app/finders/spree/product_properties/find_available.rb +20 -0
  14. data/app/finders/spree/products/find.rb +147 -27
  15. data/app/finders/spree/stores/find_current.rb +24 -0
  16. data/app/finders/spree/taxons/find.rb +28 -8
  17. data/app/finders/spree/variants/option_types_finder.rb +21 -0
  18. data/app/finders/spree/variants/visible_finder.rb +22 -0
  19. data/app/helpers/spree/base_helper.rb +185 -29
  20. data/app/helpers/spree/currency_helper.rb +34 -0
  21. data/app/helpers/spree/locale_helper.rb +39 -0
  22. data/app/helpers/spree/products_helper.rb +112 -21
  23. data/app/jobs/spree/base_job.rb +4 -0
  24. data/app/jobs/spree/stock_locations/stock_items/create_job.rb +13 -0
  25. data/app/jobs/spree/variants/remove_from_incomplete_orders_job.rb +9 -0
  26. data/app/jobs/spree/variants/remove_line_item_job.rb +9 -0
  27. data/app/models/concerns/spree/calculated_adjustments.rb +1 -1
  28. data/app/models/concerns/spree/default_price.rb +3 -6
  29. data/app/models/concerns/spree/display_link.rb +30 -0
  30. data/app/models/concerns/spree/display_money.rb +8 -2
  31. data/app/models/concerns/spree/filter_param.rb +21 -0
  32. data/app/models/concerns/spree/image_methods.rb +36 -0
  33. data/app/models/concerns/spree/memoized_data.rb +24 -0
  34. data/app/models/concerns/spree/metadata.rb +23 -0
  35. data/app/models/concerns/spree/multi_store_resource.rb +24 -0
  36. data/app/models/concerns/spree/named_type.rb +1 -1
  37. data/app/models/concerns/spree/number_identifier.rb +18 -0
  38. data/app/models/concerns/spree/product_scopes.rb +127 -32
  39. data/app/models/concerns/spree/single_store_resource.rb +19 -0
  40. data/app/models/concerns/spree/unique_name.rb +10 -0
  41. data/app/models/concerns/spree/user_address.rb +19 -0
  42. data/app/models/concerns/spree/user_methods.rb +40 -12
  43. data/app/models/concerns/spree/user_payment_source.rb +1 -1
  44. data/app/models/concerns/spree/user_reporting.rb +35 -10
  45. data/app/models/concerns/spree/user_roles.rb +43 -0
  46. data/app/models/spree/ability.rb +58 -37
  47. data/app/models/spree/address.rb +56 -9
  48. data/app/models/spree/adjustment.rb +2 -0
  49. data/app/models/spree/asset/support/active_storage.rb +3 -2
  50. data/app/models/spree/asset.rb +4 -0
  51. data/app/models/spree/base.rb +37 -0
  52. data/app/models/spree/calculator/flat_rate.rb +1 -1
  53. data/app/models/spree/calculator/flexi_rate.rb +1 -1
  54. data/app/models/spree/calculator/price_sack.rb +1 -1
  55. data/app/models/spree/calculator/shipping/digital_delivery.rb +22 -0
  56. data/app/models/spree/calculator/shipping/flat_rate.rb +1 -1
  57. data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -1
  58. data/app/models/spree/calculator/shipping/per_item.rb +1 -1
  59. data/app/models/spree/calculator/shipping/price_sack.rb +1 -1
  60. data/app/models/spree/calculator.rb +2 -2
  61. data/app/models/spree/classification.rb +3 -0
  62. data/app/models/spree/cms/pages/feature_page.rb +7 -0
  63. data/app/models/spree/cms/pages/homepage.rb +20 -0
  64. data/app/models/spree/cms/pages/standard_page.rb +4 -0
  65. data/app/models/spree/cms/sections/featured_article.rb +22 -0
  66. data/app/models/spree/cms/sections/hero_image.rb +38 -0
  67. data/app/models/spree/cms/sections/image_gallery.rb +103 -0
  68. data/app/models/spree/cms/sections/product_carousel.rb +14 -0
  69. data/app/models/spree/cms/sections/rich_text_content.rb +13 -0
  70. data/app/models/spree/cms/sections/side_by_side_images.rb +74 -0
  71. data/app/models/spree/cms_page.rb +70 -0
  72. data/app/models/spree/cms_section.rb +69 -0
  73. data/app/models/spree/cms_section_image.rb +15 -0
  74. data/app/models/spree/cms_section_image_one.rb +4 -0
  75. data/app/models/spree/cms_section_image_three.rb +4 -0
  76. data/app/models/spree/cms_section_image_two.rb +4 -0
  77. data/app/models/spree/country.rb +18 -8
  78. data/app/models/spree/credit_card.rb +33 -13
  79. data/app/models/spree/customer_return.rb +14 -3
  80. data/app/models/spree/digital.rb +19 -0
  81. data/app/models/spree/digital_link.rb +57 -0
  82. data/app/models/spree/fulfilment_changer.rb +58 -16
  83. data/app/models/spree/gateway/bogus.rb +11 -5
  84. data/app/models/spree/icon.rb +13 -0
  85. data/app/models/spree/image/configuration/active_storage.rb +17 -20
  86. data/app/models/spree/image.rb +33 -3
  87. data/app/models/spree/inventory_unit.rb +8 -10
  88. data/app/models/spree/legacy_user.rb +2 -2
  89. data/app/models/spree/line_item.rb +34 -14
  90. data/app/models/spree/linkable/homepage.rb +3 -0
  91. data/app/models/spree/linkable/uri.rb +3 -0
  92. data/app/models/spree/log_entry.rb +9 -1
  93. data/app/models/spree/menu.rb +66 -0
  94. data/app/models/spree/menu_item.rb +72 -0
  95. data/app/models/spree/option_type.rb +18 -4
  96. data/app/models/spree/option_value.rb +18 -0
  97. data/app/models/spree/option_value_variant.rb +1 -1
  98. data/app/models/spree/order/address_book.rb +11 -25
  99. data/app/models/spree/order/checkout.rb +7 -1
  100. data/app/models/spree/order/currency_updater.rb +1 -1
  101. data/app/models/spree/order/digital.rb +33 -0
  102. data/app/models/spree/order/emails.rb +32 -0
  103. data/app/models/spree/order/payments.rb +11 -3
  104. data/app/models/spree/order/store_credit.rb +3 -1
  105. data/app/models/spree/order.rb +126 -61
  106. data/app/models/spree/order_inventory.rb +1 -1
  107. data/app/models/spree/order_merger.rb +1 -1
  108. data/app/models/spree/order_promotion.rb +1 -1
  109. data/app/models/spree/payment/processing.rb +4 -3
  110. data/app/models/spree/payment.rb +57 -9
  111. data/app/models/spree/payment_capture_event.rb +4 -0
  112. data/app/models/spree/payment_method/store_credit.rb +1 -1
  113. data/app/models/spree/payment_method.rb +29 -0
  114. data/app/models/spree/payment_source.rb +10 -0
  115. data/app/models/spree/preference.rb +6 -1
  116. data/app/models/spree/price.rb +30 -8
  117. data/app/models/spree/product.rb +160 -47
  118. data/app/models/spree/product_property.rb +20 -4
  119. data/app/models/spree/promotion/actions/create_item_adjustments.rb +1 -1
  120. data/app/models/spree/promotion/rules/country.rb +1 -1
  121. data/app/models/spree/promotion/rules/first_order.rb +4 -3
  122. data/app/models/spree/promotion/rules/option_value.rb +3 -3
  123. data/app/models/spree/promotion/rules/product.rb +3 -2
  124. data/app/models/spree/promotion/rules/taxon.rb +10 -7
  125. data/app/models/spree/promotion/rules/user.rb +2 -1
  126. data/app/models/spree/promotion.rb +18 -24
  127. data/app/models/spree/promotion_action.rb +1 -1
  128. data/app/models/spree/promotion_handler/cart.rb +7 -2
  129. data/app/models/spree/promotion_handler/coupon.rb +6 -6
  130. data/app/models/spree/promotion_handler/free_shipping.rb +5 -6
  131. data/app/models/spree/promotion_handler/page.rb +3 -2
  132. data/app/models/spree/promotion_handler/promotion_duplicator.rb +10 -3
  133. data/app/models/spree/promotion_rule.rb +3 -1
  134. data/app/models/spree/promotion_rule_user.rb +1 -1
  135. data/app/models/spree/property.rb +32 -1
  136. data/app/models/spree/prototype.rb +5 -0
  137. data/app/models/spree/refund.rb +12 -2
  138. data/app/models/spree/reimbursement.rb +9 -2
  139. data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +2 -1
  140. data/app/models/spree/return_authorization.rb +7 -2
  141. data/app/models/spree/return_item/eligibility_validator/base_validator.rb +1 -1
  142. data/app/models/spree/return_item/eligibility_validator/default.rb +0 -2
  143. data/app/models/spree/return_item.rb +5 -1
  144. data/app/models/spree/role.rb +3 -3
  145. data/app/models/spree/role_user.rb +1 -1
  146. data/app/models/spree/shipment.rb +15 -36
  147. data/app/models/spree/shipment_handler.rb +4 -2
  148. data/app/models/spree/shipping_category.rb +4 -1
  149. data/app/models/spree/shipping_method.rb +9 -5
  150. data/app/models/spree/shipping_rate.rb +2 -11
  151. data/app/models/spree/state.rb +1 -1
  152. data/app/models/spree/state_change.rb +1 -1
  153. data/app/models/spree/stock/availability_validator.rb +9 -4
  154. data/app/models/spree/stock/content_item.rb +1 -1
  155. data/app/models/spree/stock/quantifier.rb +7 -7
  156. data/app/models/spree/stock/splitter/digital.rb +35 -0
  157. data/app/models/spree/stock_item.rb +8 -7
  158. data/app/models/spree/stock_location.rb +32 -13
  159. data/app/models/spree/stock_movement.rb +7 -0
  160. data/app/models/spree/stock_transfer.rb +6 -6
  161. data/app/models/spree/store.rb +209 -9
  162. data/app/models/spree/store_credit.rb +18 -7
  163. data/app/models/spree/store_credit_category.rb +2 -0
  164. data/app/models/spree/store_credit_event.rb +4 -9
  165. data/app/models/spree/store_credit_type.rb +2 -0
  166. data/app/models/spree/store_favicon_image.rb +17 -0
  167. data/app/models/spree/store_logo.rb +9 -0
  168. data/app/models/spree/store_mailer_logo.rb +13 -0
  169. data/app/models/spree/store_payment_method.rb +11 -0
  170. data/app/models/spree/store_product.rb +11 -0
  171. data/app/models/spree/store_promotion.rb +11 -0
  172. data/app/models/spree/tax_category.rb +9 -1
  173. data/app/models/spree/tax_rate.rb +9 -2
  174. data/app/models/spree/taxon.rb +45 -7
  175. data/app/models/spree/taxon_image/configuration/active_storage.rb +8 -12
  176. data/app/models/spree/taxon_image.rb +4 -2
  177. data/app/models/spree/taxonomy.rb +14 -2
  178. data/app/models/spree/variant.rb +117 -51
  179. data/app/models/spree/wished_item.rb +33 -0
  180. data/app/models/spree/wishlist.rb +38 -0
  181. data/app/models/spree/zone.rb +33 -12
  182. data/app/paginators/spree/shared/paginate.rb +8 -1
  183. data/app/presenters/spree/filters/options_presenter.rb +47 -0
  184. data/app/presenters/spree/filters/price_presenter.rb +22 -0
  185. data/app/presenters/spree/filters/price_range_presenter.rb +29 -0
  186. data/app/presenters/spree/filters/properties_presenter.rb +23 -0
  187. data/app/presenters/spree/filters/property_presenter.rb +42 -0
  188. data/app/presenters/spree/filters/quantified_price_range_presenter.rb +44 -0
  189. data/app/presenters/spree/product_summary_presenter.rb +26 -0
  190. data/app/presenters/spree/variant_presenter.rb +80 -0
  191. data/app/presenters/spree/variants/option_types_presenter.rb +87 -0
  192. data/app/presenters/spree/variants/options_presenter.rb +49 -0
  193. data/app/services/spree/account/addresses/create.rb +8 -0
  194. data/app/services/spree/account/addresses/update.rb +8 -0
  195. data/app/services/spree/account/create.rb +17 -0
  196. data/app/services/spree/account/update.rb +15 -0
  197. data/app/services/spree/addresses/create.rb +24 -0
  198. data/app/services/spree/addresses/helper.rb +41 -0
  199. data/app/services/spree/addresses/update.rb +32 -0
  200. data/app/services/spree/cart/add_item.rb +4 -2
  201. data/app/services/spree/cart/associate.rb +16 -0
  202. data/app/services/spree/cart/change_currency.rb +27 -0
  203. data/app/services/spree/cart/create.rb +9 -5
  204. data/app/services/spree/cart/destroy.rb +40 -0
  205. data/app/services/spree/cart/empty.rb +36 -0
  206. data/app/services/spree/cart/estimate_shipping_rates.rb +3 -3
  207. data/app/services/spree/cart/remove_line_item.rb +1 -0
  208. data/app/services/spree/cart/update.rb +2 -2
  209. data/app/services/spree/checkout/add_store_credit.rb +5 -2
  210. data/app/services/spree/checkout/get_shipping_rates.rb +7 -10
  211. data/app/services/spree/checkout/select_shipping_method.rb +49 -0
  212. data/app/services/spree/checkout/update.rb +11 -7
  213. data/app/services/spree/classifications/reposition.rb +18 -0
  214. data/app/services/spree/compare_line_items.rb +4 -2
  215. data/app/services/spree/credit_cards/destroy.rb +41 -0
  216. data/app/services/spree/line_items/create.rb +20 -0
  217. data/app/services/spree/line_items/destroy.rb +18 -0
  218. data/app/services/spree/line_items/helper.rb +11 -0
  219. data/app/services/spree/line_items/update.rb +17 -0
  220. data/app/services/spree/orders/approve.rb +18 -0
  221. data/app/services/spree/orders/cancel.rb +18 -0
  222. data/app/services/spree/payments/create.rb +66 -0
  223. data/app/services/spree/seeds/all.rb +26 -0
  224. data/app/services/spree/seeds/countries.rb +50 -0
  225. data/app/services/spree/seeds/default_reimbursement_types.rb +12 -0
  226. data/app/services/spree/seeds/roles.rb +11 -0
  227. data/app/services/spree/seeds/shipping_categories.rb +12 -0
  228. data/app/services/spree/seeds/states.rb +72 -0
  229. data/app/services/spree/seeds/stock_locations.rb +18 -0
  230. data/app/services/spree/seeds/store_credit_categories.rb +14 -0
  231. data/app/services/spree/seeds/stores.rb +31 -0
  232. data/app/services/spree/seeds/zones.rb +39 -0
  233. data/app/services/spree/shipments/add_item.rb +32 -0
  234. data/app/services/spree/shipments/change_state.rb +14 -0
  235. data/app/services/spree/shipments/create.rb +48 -0
  236. data/app/services/spree/shipments/helper.rb +23 -0
  237. data/app/services/spree/shipments/remove_item.rb +55 -0
  238. data/app/services/spree/shipments/update.rb +40 -0
  239. data/app/services/spree/stock_locations/stock_items/create.rb +31 -0
  240. data/app/services/spree/variants/remove_line_items.rb +15 -0
  241. data/app/services/spree/wallet/create_payment_source.rb +26 -0
  242. data/app/sorters/spree/base_sorter.rb +47 -0
  243. data/app/sorters/spree/orders/sort.rb +1 -37
  244. data/app/sorters/spree/products/sort.rb +28 -35
  245. data/app/validators/db_maximum_length_validator.rb +5 -0
  246. data/app/validators/email_validator.rb +4 -2
  247. data/app/validators/spree/url_validator.rb +23 -0
  248. data/brakeman.ignore +20 -0
  249. data/config/initializers/active_storage.rb +1 -5
  250. data/config/initializers/inflections.rb +3 -0
  251. data/config/initializers/rails61_fixes.rb +3 -0
  252. data/config/locales/en.yml +319 -71
  253. data/config/routes.rb +41 -2
  254. data/db/migrate/20210914000000_spree_four_three.rb +1205 -0
  255. data/db/migrate/20210915064321_add_metadata_to_spree_orders.rb +13 -0
  256. data/db/migrate/20210915064322_add_metadata_to_spree_products.rb +13 -0
  257. data/db/migrate/20210915064323_add_metadata_to_spree_variants.rb +13 -0
  258. data/db/migrate/20210915064324_add_metadata_to_spree_line_items.rb +13 -0
  259. data/db/migrate/20210915064325_add_metadata_to_spree_shipments.rb +13 -0
  260. data/db/migrate/20210915064326_add_metadata_to_spree_payments.rb +13 -0
  261. data/db/migrate/20210915064327_add_metadata_to_spree_taxons_and_taxonomies.rb +18 -0
  262. data/db/migrate/20210915064328_add_metadata_to_spree_stock_transfers.rb +13 -0
  263. data/db/migrate/20210915064329_add_metadata_to_spree_multiple_tables.rb +30 -0
  264. data/db/migrate/20210920090344_add_deleted_at_to_spree_stores.rb +8 -0
  265. data/db/migrate/20210921070812_rename_column_access_hash_to_token.rb +8 -0
  266. data/db/migrate/20210921070813_create_spree_wishlists.rb +18 -0
  267. data/db/migrate/20210921070814_create_spree_wished_products.rb +16 -0
  268. data/db/migrate/20210921070815_rename_spree_wished_products_to_spree_wished_items.rb +5 -0
  269. data/db/migrate/20210921090344_add_unique_stock_item_stock_location_variant_deleted_at_index.rb +5 -0
  270. data/db/migrate/20210929090344_create_stock_item_stock_location_id_variant_id_coalesce_deleted_at_unique_index.rb +32 -0
  271. data/db/migrate/20210929091444_create_spree_digital_links.rb +13 -0
  272. data/db/migrate/20210929093238_create_spree_digitals.rb +9 -0
  273. data/db/migrate/20210930143043_rename_secret_to_token_on_spree_digital_links.rb +5 -0
  274. data/db/migrate/20210930155649_add_settings_to_spree_stores.rb +11 -0
  275. data/db/migrate/20211201202851_update_linkable_resource_types.rb +10 -0
  276. data/db/migrate/20211203082008_add_settings_to_payment_methods.rb +11 -0
  277. data/db/migrate/20211229162122_disable_propagate_all_variants_by_default.rb +5 -0
  278. data/db/migrate/20220103082046_add_status_and_make_active_at_to_spree_products.rb +7 -0
  279. data/db/migrate/20220106230929_add_internal_note_to_spree_orders.rb +5 -0
  280. data/db/migrate/20220113052823_create_payment_sources.rb +22 -0
  281. data/db/migrate/20220117100333_add_make_active_at_to_spree_products.rb +17 -0
  282. data/db/migrate/20220120092821_add_metadata_to_spree_tax_rates.rb +13 -0
  283. data/db/migrate/20220201103922_add_first_name_and_last_name_to_spree_users.rb +9 -0
  284. data/db/migrate/20220222083546_add_barcode_to_spree_variants.rb +6 -0
  285. data/db/migrate/20220329113557_fix_cms_pages_unique_indexes.rb +8 -0
  286. data/db/migrate/20220613133029_add_metadata_to_spree_stock_items.rb +13 -0
  287. data/db/seeds.rb +1 -5
  288. data/lib/friendly_id/paranoia.rb +4 -0
  289. data/lib/generators/spree/dummy/dummy_generator.rb +25 -9
  290. data/lib/generators/spree/dummy/templates/package.json +12 -0
  291. data/lib/generators/spree/dummy/templates/rails/database.yml +20 -18
  292. data/lib/generators/spree/dummy/templates/rails/test.rb +4 -0
  293. data/lib/generators/spree/dummy_model/templates/model.rb.tt +1 -1
  294. data/lib/generators/spree/install/install_generator.rb +25 -26
  295. data/lib/generators/spree/install/templates/config/initializers/spree.rb +1 -0
  296. data/lib/spree/core/components.rb +8 -0
  297. data/lib/spree/core/configuration.rb +90 -0
  298. data/lib/spree/core/controller_helpers/auth.rb +14 -4
  299. data/lib/spree/core/controller_helpers/common.rb +22 -9
  300. data/lib/spree/core/controller_helpers/currency.rb +56 -0
  301. data/lib/spree/core/controller_helpers/locale.rb +60 -0
  302. data/lib/spree/core/controller_helpers/order.rb +28 -15
  303. data/lib/spree/core/controller_helpers/search.rb +3 -2
  304. data/lib/spree/core/controller_helpers/store.rb +32 -8
  305. data/lib/spree/core/dependencies.rb +130 -0
  306. data/lib/spree/core/engine.rb +54 -39
  307. data/lib/spree/core/importer/order.rb +9 -9
  308. data/lib/spree/core/importer/product.rb +4 -2
  309. data/lib/spree/core/number_generator.rb +5 -6
  310. data/{app/models/spree → lib/spree/core}/preferences/configuration.rb +5 -2
  311. data/{app/models/spree → lib/spree/core}/preferences/preferable.rb +16 -1
  312. data/{app/models/spree → lib/spree/core}/preferences/preferable_class_methods.rb +12 -1
  313. data/{app/models/spree → lib/spree/core}/preferences/store.rb +2 -2
  314. data/lib/spree/core/product_duplicator.rb +1 -0
  315. data/lib/spree/core/product_filters.rb +3 -3
  316. data/lib/spree/core/search/base.rb +74 -38
  317. data/lib/spree/core/version.rb +3 -1
  318. data/lib/spree/core.rb +53 -17
  319. data/lib/spree/database_type_utilities.rb +12 -0
  320. data/lib/spree/i18n.rb +17 -19
  321. data/lib/spree/money.rb +11 -3
  322. data/lib/spree/permitted_attributes.rb +60 -18
  323. data/lib/spree/service_module.rb +8 -4
  324. data/lib/spree/testing_support/authorization_helpers.rb +15 -7
  325. data/lib/spree/testing_support/capybara_config.rb +14 -17
  326. data/lib/spree/testing_support/capybara_ext.rb +1 -51
  327. data/lib/spree/testing_support/common_rake.rb +39 -7
  328. data/lib/spree/testing_support/controller_requests.rb +10 -10
  329. data/lib/spree/testing_support/extension_rake.rb +2 -2
  330. data/lib/spree/testing_support/factories/address_factory.rb +1 -1
  331. data/lib/spree/testing_support/factories/asset_factory.rb +15 -0
  332. data/lib/spree/testing_support/factories/classification_factory.rb +8 -0
  333. data/lib/spree/testing_support/factories/cms_page_factory.rb +20 -0
  334. data/lib/spree/testing_support/factories/cms_section_factory.rb +31 -0
  335. data/lib/spree/testing_support/factories/customer_return_factory.rb +24 -17
  336. data/lib/spree/testing_support/factories/digital_factory.rb +10 -0
  337. data/lib/spree/testing_support/factories/digital_link_factory.rb +6 -0
  338. data/lib/spree/testing_support/factories/favicon_image_factory.rb +9 -0
  339. data/lib/spree/testing_support/factories/icon_factory.rb +9 -0
  340. data/lib/spree/testing_support/factories/image_factory.rb +3 -1
  341. data/lib/spree/testing_support/factories/line_item_factory.rb +6 -2
  342. data/lib/spree/testing_support/factories/log_entry_factory.rb +6 -0
  343. data/lib/spree/testing_support/factories/menu_factory.rb +16 -0
  344. data/lib/spree/testing_support/factories/menu_item_factory.rb +10 -0
  345. data/lib/spree/testing_support/factories/options_factory.rb +15 -0
  346. data/lib/spree/testing_support/factories/order_factory.rb +17 -4
  347. data/lib/spree/testing_support/factories/payment_capture_event_factory.rb +6 -0
  348. data/lib/spree/testing_support/factories/payment_factory.rb +3 -3
  349. data/lib/spree/testing_support/factories/payment_method_factory.rb +21 -4
  350. data/lib/spree/testing_support/factories/product_factory.rb +23 -2
  351. data/lib/spree/testing_support/factories/product_property_factory.rb +2 -1
  352. data/lib/spree/testing_support/factories/promotion_action_factory.rb +5 -0
  353. data/lib/spree/testing_support/factories/promotion_factory.rb +44 -23
  354. data/lib/spree/testing_support/factories/property_factory.rb +22 -0
  355. data/lib/spree/testing_support/factories/refund_factory.rb +1 -1
  356. data/lib/spree/testing_support/factories/reimbursement_credit_factory.rb +7 -0
  357. data/lib/spree/testing_support/factories/return_authorization_factory.rb +1 -1
  358. data/lib/spree/testing_support/factories/role_factory.rb +1 -1
  359. data/lib/spree/testing_support/factories/shipment_factory.rb +7 -9
  360. data/lib/spree/testing_support/factories/shipping_category_factory.rb +1 -1
  361. data/lib/spree/testing_support/factories/shipping_rate_factory.rb +7 -0
  362. data/lib/spree/testing_support/factories/state_change_factory.rb +8 -0
  363. data/lib/spree/testing_support/factories/stock_item_factory.rb +7 -0
  364. data/lib/spree/testing_support/factories/stock_location_factory.rb +6 -4
  365. data/lib/spree/testing_support/factories/stock_transfer_factory.rb +9 -0
  366. data/lib/spree/testing_support/factories/store_credit_factory.rb +1 -0
  367. data/lib/spree/testing_support/factories/store_credit_type_factory.rb +5 -0
  368. data/lib/spree/testing_support/factories/store_factory.rb +23 -5
  369. data/lib/spree/testing_support/factories/tax_rate_factory.rb +1 -0
  370. data/lib/spree/testing_support/factories/taxon_factory.rb +3 -1
  371. data/lib/spree/testing_support/factories/taxon_image_factory.rb +9 -0
  372. data/lib/spree/testing_support/factories/taxonomy_factory.rb +1 -0
  373. data/lib/spree/testing_support/factories/user_factory.rb +13 -2
  374. data/lib/spree/testing_support/factories/variant_factory.rb +6 -2
  375. data/lib/spree/testing_support/factories/wished_variant_factory.rb +6 -0
  376. data/lib/spree/testing_support/factories/wishlist_factory.rb +18 -0
  377. data/lib/spree/testing_support/factories/zone_factory.rb +16 -13
  378. data/lib/spree/testing_support/flatpickr_capybara.rb +124 -0
  379. data/lib/spree/testing_support/i18n.rb +1 -1
  380. data/lib/spree/testing_support/jobs.rb +9 -0
  381. data/lib/spree/testing_support/locale_helpers.rb +78 -0
  382. data/lib/spree/testing_support/metadata.rb +54 -0
  383. data/lib/spree/testing_support/next_instance_of.rb +38 -0
  384. data/lib/spree/testing_support/order_walkthrough.rb +16 -7
  385. data/lib/spree/testing_support/rspec_retry_config.rb +15 -0
  386. data/lib/spree_core.rb +2 -1
  387. data/lib/tasks/core.rake +17 -5
  388. data/spec/fixtures/favicon.ico +0 -0
  389. data/spec/fixtures/files/icon_256x256.gif +0 -0
  390. data/spec/fixtures/files/icon_256x256.png +0 -0
  391. data/spec/fixtures/files/icon_512x512.png +0 -0
  392. data/spec/fixtures/files/img_256x128.png +0 -0
  393. data/spree_core.gemspec +34 -26
  394. metadata +370 -441
  395. data/app/assets/images/logo/spree_50.png +0 -0
  396. data/app/assets/images/noimage/large.png +0 -0
  397. data/app/assets/images/noimage/mini.png +0 -0
  398. data/app/assets/images/noimage/product.png +0 -0
  399. data/app/assets/images/noimage/small.png +0 -0
  400. data/app/assets/javascripts/spree.js +0 -60
  401. data/app/mailers/spree/base_mailer.rb +0 -32
  402. data/app/mailers/spree/order_mailer.rb +0 -17
  403. data/app/mailers/spree/reimbursement_mailer.rb +0 -10
  404. data/app/mailers/spree/shipment_mailer.rb +0 -10
  405. data/app/mailers/spree/test_mailer.rb +0 -8
  406. data/app/models/friendly_id/slug_decorator.rb +0 -9
  407. data/app/models/spree/app_configuration.rb +0 -76
  408. data/app/models/spree/app_dependencies.rb +0 -74
  409. data/app/models/spree/validations/db_maximum_length_validator.rb +0 -22
  410. data/app/views/layouts/spree/base_mailer.html.erb +0 -41
  411. data/app/views/spree/order_mailer/_adjustment.html.erb +0 -8
  412. data/app/views/spree/order_mailer/_subtotal.html.erb +0 -8
  413. data/app/views/spree/order_mailer/_total.html.erb +0 -8
  414. data/app/views/spree/order_mailer/cancel_email.html.erb +0 -30
  415. data/app/views/spree/order_mailer/cancel_email.text.erb +0 -16
  416. data/app/views/spree/order_mailer/confirm_email.html.erb +0 -70
  417. data/app/views/spree/order_mailer/confirm_email.text.erb +0 -38
  418. data/app/views/spree/reimbursement_mailer/reimbursement_email.html.erb +0 -61
  419. data/app/views/spree/reimbursement_mailer/reimbursement_email.text.erb +0 -22
  420. data/app/views/spree/shared/_base_mailer_footer.html.erb +0 -20
  421. data/app/views/spree/shared/_base_mailer_header.html.erb +0 -33
  422. data/app/views/spree/shared/_base_mailer_stylesheets.html.erb +0 -777
  423. data/app/views/spree/shared/_error_messages.html.erb +0 -11
  424. data/app/views/spree/shared/_mailer_line_item.html.erb +0 -16
  425. data/app/views/spree/shared/_paths.html.erb +0 -8
  426. data/app/views/spree/shipment_mailer/shipped_email.html.erb +0 -41
  427. data/app/views/spree/shipment_mailer/shipped_email.text.erb +0 -16
  428. data/app/views/spree/test_mailer/test_email.html.erb +0 -40
  429. data/app/views/spree/test_mailer/test_email.text.erb +0 -4
  430. data/config/initializers/assets.rb +0 -1
  431. data/config/initializers/premailer_assets.rb +0 -1
  432. data/config/initializers/premailer_rails.rb +0 -3
  433. data/db/default/spree/countries.rb +0 -18
  434. data/db/default/spree/default_reimbursement_type.rb +0 -1
  435. data/db/default/spree/roles.rb +0 -2
  436. data/db/default/spree/states.rb +0 -12
  437. data/db/default/spree/stores.rb +0 -10
  438. data/db/default/spree/zones.rb +0 -26
  439. data/db/migrate/20120831092320_spree_one_two.rb +0 -481
  440. data/db/migrate/20120831092359_spree_promo_one_two.rb +0 -45
  441. data/db/migrate/20120905145253_add_tax_rate_label.rb +0 -5
  442. data/db/migrate/20120905151823_add_toggle_tax_rate_display.rb +0 -5
  443. data/db/migrate/20120929093553_remove_unused_preference_columns.rb +0 -8
  444. data/db/migrate/20121009142519_add_lock_version_to_variant.rb +0 -5
  445. data/db/migrate/20121010142909_add_states_required_to_countries.rb +0 -5
  446. data/db/migrate/20121012071449_add_on_demand_to_product_and_variant.rb +0 -6
  447. data/db/migrate/20121017010007_remove_not_null_constraint_from_products_on_hand.rb +0 -11
  448. data/db/migrate/20121031162139_split_prices_from_variants.rb +0 -31
  449. data/db/migrate/20121107003422_remove_not_null_from_spree_prices_amount.rb +0 -9
  450. data/db/migrate/20121107184631_add_currency_to_line_items.rb +0 -5
  451. data/db/migrate/20121107194006_add_currency_to_orders.rb +0 -5
  452. data/db/migrate/20121109173623_add_cost_currency_to_variants.rb +0 -5
  453. data/db/migrate/20121111231553_remove_display_on_from_payment_methods.rb +0 -5
  454. data/db/migrate/20121124203911_add_position_to_taxonomies.rb +0 -5
  455. data/db/migrate/20121126040517_add_last_ip_to_spree_orders.rb +0 -5
  456. data/db/migrate/20121213162028_add_state_to_spree_adjustments.rb +0 -6
  457. data/db/migrate/20130114053446_add_display_on_to_spree_payment_methods.rb +0 -9
  458. data/db/migrate/20130120201805_add_position_to_product_properties.spree.rb +0 -6
  459. data/db/migrate/20130203232234_add_identifier_to_spree_payments.rb +0 -5
  460. data/db/migrate/20130207155350_add_order_id_index_to_payments.rb +0 -9
  461. data/db/migrate/20130208032954_add_primary_to_spree_products_taxons.rb +0 -5
  462. data/db/migrate/20130211190146_create_spree_stock_items.rb +0 -14
  463. data/db/migrate/20130211191120_create_spree_stock_locations.rb +0 -11
  464. data/db/migrate/20130213191427_create_default_stock.rb +0 -33
  465. data/db/migrate/20130222032153_add_order_id_index_to_shipments.rb +0 -5
  466. data/db/migrate/20130226032817_change_meta_description_on_spree_products_to_text.rb +0 -5
  467. data/db/migrate/20130226191231_add_stock_location_id_to_spree_shipments.rb +0 -5
  468. data/db/migrate/20130227143905_add_pending_to_inventory_unit.rb +0 -6
  469. data/db/migrate/20130228164411_remove_on_demand_from_product_and_variant.rb +0 -6
  470. data/db/migrate/20130228210442_create_shipping_method_zone.rb +0 -21
  471. data/db/migrate/20130301162745_remove_shipping_category_id_from_shipping_method.rb +0 -5
  472. data/db/migrate/20130301162924_create_shipping_method_categories.rb +0 -13
  473. data/db/migrate/20130301205200_add_tracking_url_to_spree_shipping_methods.rb +0 -5
  474. data/db/migrate/20130304162240_create_spree_shipping_rates.rb +0 -24
  475. data/db/migrate/20130304192936_remove_category_match_attributes_from_shipping_method.rb +0 -7
  476. data/db/migrate/20130305143310_create_stock_movements.rb +0 -12
  477. data/db/migrate/20130306181701_add_address_fields_to_stock_location.rb +0 -22
  478. data/db/migrate/20130306191917_add_active_field_to_stock_locations.rb +0 -5
  479. data/db/migrate/20130306195650_add_backorderable_to_stock_item.rb +0 -5
  480. data/db/migrate/20130307161754_add_default_quantity_to_stock_movement.rb +0 -5
  481. data/db/migrate/20130318151756_add_source_and_destination_to_stock_movements.rb +0 -8
  482. data/db/migrate/20130319062004_change_orders_total_precision.rb +0 -8
  483. data/db/migrate/20130319063911_change_spree_payments_amount_precision.rb +0 -7
  484. data/db/migrate/20130319064308_change_spree_return_authorization_amount_precision.rb +0 -7
  485. data/db/migrate/20130319082943_change_adjustments_amount_precision.rb +0 -7
  486. data/db/migrate/20130319183250_add_originator_to_stock_movement.rb +0 -7
  487. data/db/migrate/20130319190507_drop_source_and_destination_from_stock_movement.rb +0 -15
  488. data/db/migrate/20130325163316_migrate_inventory_unit_sold_to_on_hand.rb +0 -9
  489. data/db/migrate/20130326175857_add_stock_location_to_rma.rb +0 -5
  490. data/db/migrate/20130328130308_update_shipment_state_for_canceled_orders.rb +0 -15
  491. data/db/migrate/20130328195253_add_seo_metas_to_taxons.rb +0 -9
  492. data/db/migrate/20130329134939_remove_stock_item_and_variant_lock.rb +0 -14
  493. data/db/migrate/20130413230529_add_name_to_spree_credit_cards.rb +0 -5
  494. data/db/migrate/20130414000512_update_name_fields_on_spree_credit_cards.rb +0 -13
  495. data/db/migrate/20130417120034_add_index_to_source_columns_on_adjustments.rb +0 -5
  496. data/db/migrate/20130417120035_update_adjustment_states.rb +0 -16
  497. data/db/migrate/20130417123427_add_shipping_rates_to_shipments.rb +0 -15
  498. data/db/migrate/20130418125341_create_spree_stock_transfers.rb +0 -14
  499. data/db/migrate/20130423110707_drop_products_count_on_hand.rb +0 -5
  500. data/db/migrate/20130423223847_set_default_shipping_rate_cost.rb +0 -5
  501. data/db/migrate/20130509115210_add_number_to_stock_transfer.rb +0 -23
  502. data/db/migrate/20130514151929_add_sku_index_to_spree_variants.rb +0 -5
  503. data/db/migrate/20130515180736_add_backorderable_default_to_spree_stock_location.rb +0 -5
  504. data/db/migrate/20130516151222_add_propage_all_variants_to_spree_stock_location.rb +0 -5
  505. data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +0 -5
  506. data/db/migrate/20130611185927_add_user_id_index_to_spree_orders.rb +0 -5
  507. data/db/migrate/20130618041418_add_updated_at_to_spree_countries.rb +0 -9
  508. data/db/migrate/20130619012236_add_updated_at_to_spree_states.rb +0 -9
  509. data/db/migrate/20130626232741_add_cvv_result_code_and_cvv_result_message_to_spree_payments.rb +0 -6
  510. data/db/migrate/20130628021056_add_unique_index_to_permalink_on_spree_products.rb +0 -5
  511. data/db/migrate/20130628022817_add_unique_index_to_orders_shipments_and_stock_transfers.rb +0 -7
  512. data/db/migrate/20130708052307_add_deleted_at_to_spree_tax_rates.rb +0 -5
  513. data/db/migrate/20130711200933_remove_lock_version_from_inventory_units.rb +0 -6
  514. data/db/migrate/20130718042445_add_cost_price_to_line_item.rb +0 -5
  515. data/db/migrate/20130718233855_set_backorderable_to_default_to_false.rb +0 -6
  516. data/db/migrate/20130725031716_add_created_by_id_to_spree_orders.rb +0 -5
  517. data/db/migrate/20130729214043_index_completed_at_on_spree_orders.rb +0 -5
  518. data/db/migrate/20130802014537_add_tax_category_id_to_spree_line_items.rb +0 -5
  519. data/db/migrate/20130802022321_migrate_tax_categories_to_line_items.rb +0 -10
  520. data/db/migrate/20130806022521_drop_spree_mail_methods.rb +0 -12
  521. data/db/migrate/20130806145853_set_default_stock_location_on_shipments.rb +0 -8
  522. data/db/migrate/20130807024301_upgrade_adjustments.rb +0 -46
  523. data/db/migrate/20130807024302_rename_adjustment_fields.rb +0 -20
  524. data/db/migrate/20130809164245_add_admin_name_column_to_spree_shipping_methods.rb +0 -5
  525. data/db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb +0 -5
  526. data/db/migrate/20130813004002_add_shipment_total_to_spree_orders.rb +0 -5
  527. data/db/migrate/20130813140619_expand_order_number_size.rb +0 -9
  528. data/db/migrate/20130813232134_rename_activators_to_promotions.rb +0 -5
  529. data/db/migrate/20130815000406_add_adjustment_total_to_line_items.rb +0 -5
  530. data/db/migrate/20130815024413_add_adjustment_total_to_shipments.rb +0 -5
  531. data/db/migrate/20130826062534_add_depth_to_spree_taxons.rb +0 -16
  532. data/db/migrate/20130828234942_add_tax_total_to_line_items_shipments_and_orders.rb +0 -8
  533. data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +0 -15
  534. data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +0 -19
  535. data/db/migrate/20130903183026_add_code_to_spree_promotion_rules.rb +0 -5
  536. data/db/migrate/20130909115621_change_states_required_for_countries.rb +0 -9
  537. data/db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb +0 -5
  538. data/db/migrate/20130917024658_remove_promotions_event_name_field.rb +0 -5
  539. data/db/migrate/20130924040529_add_promo_total_to_line_items_and_shipments_and_orders.rb +0 -7
  540. data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +0 -16
  541. data/db/migrate/20131026154747_add_track_inventory_to_variant.rb +0 -5
  542. data/db/migrate/20131107132123_add_tax_category_to_variants.rb +0 -6
  543. data/db/migrate/20131113035136_add_channel_to_spree_orders.rb +0 -5
  544. data/db/migrate/20131118043959_add_included_to_adjustments.rb +0 -5
  545. data/db/migrate/20131118050234_rename_tax_total_fields.rb +0 -11
  546. data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +0 -21
  547. data/db/migrate/20131120234456_add_updated_at_to_variants.rb +0 -5
  548. data/db/migrate/20131127001002_add_position_to_classifications.rb +0 -5
  549. data/db/migrate/20131211112807_create_spree_orders_promotions.rb +0 -8
  550. data/db/migrate/20131211192741_unique_shipping_method_categories.rb +0 -24
  551. data/db/migrate/20131218054603_add_item_count_to_spree_orders.rb +0 -5
  552. data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +0 -8
  553. data/db/migrate/20140106224208_rename_permalink_to_slug_for_products.rb +0 -5
  554. data/db/migrate/20140120160805_add_index_to_variant_id_and_currency_on_prices.rb +0 -5
  555. data/db/migrate/20140124023232_rename_activator_id_in_rules_and_actions_to_promotion_id.rb +0 -6
  556. data/db/migrate/20140129024326_add_deleted_at_to_spree_prices.rb +0 -5
  557. data/db/migrate/20140203161722_add_approver_id_and_approved_at_to_orders.rb +0 -6
  558. data/db/migrate/20140204115338_add_confirmation_delivered_to_spree_orders.rb +0 -5
  559. data/db/migrate/20140204192230_add_auto_capture_to_payment_methods.rb +0 -5
  560. data/db/migrate/20140205120320_create_spree_payment_capture_events.rb +0 -12
  561. data/db/migrate/20140205144710_add_uncaptured_amount_to_payments.rb +0 -5
  562. data/db/migrate/20140205181631_default_variant_weight_to_zero.rb +0 -11
  563. data/db/migrate/20140207085910_add_tax_category_id_to_shipping_methods.rb +0 -5
  564. data/db/migrate/20140207093021_add_tax_rate_id_to_shipping_rates.rb +0 -5
  565. data/db/migrate/20140211040159_add_pre_tax_amount_to_line_items_and_shipments.rb +0 -6
  566. data/db/migrate/20140213184916_add_more_indexes.rb +0 -13
  567. data/db/migrate/20140219060952_add_considered_risky_to_orders.rb +0 -5
  568. data/db/migrate/20140227112348_add_preference_store_to_everything.rb +0 -8
  569. data/db/migrate/20140307235515_add_user_id_to_spree_credit_cards.rb +0 -13
  570. data/db/migrate/20140309023735_migrate_old_preferences.rb +0 -27
  571. data/db/migrate/20140309024355_create_spree_stores.rb +0 -25
  572. data/db/migrate/20140309033438_create_store_from_preferences.rb +0 -37
  573. data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +0 -6
  574. data/db/migrate/20140318191500_create_spree_taxons_promotion_rules.rb +0 -8
  575. data/db/migrate/20140331100557_add_additional_store_fields.rb +0 -8
  576. data/db/migrate/20140410141842_add_many_missing_indexes.rb +0 -18
  577. data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +0 -66
  578. data/db/migrate/20140415041315_add_user_id_created_by_id_index_to_order.rb +0 -5
  579. data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +0 -8
  580. data/db/migrate/20140518174634_add_token_to_spree_orders.rb +0 -5
  581. data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +0 -29
  582. data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +0 -10
  583. data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +0 -6
  584. data/db/migrate/20140609201656_add_deleted_at_to_spree_promotion_actions.rb +0 -6
  585. data/db/migrate/20140616202624_remove_uncaptured_amount_from_spree_payments.rb +0 -5
  586. data/db/migrate/20140625214618_create_spree_refunds.rb +0 -12
  587. data/db/migrate/20140702140656_create_spree_return_authorization_inventory_unit.rb +0 -12
  588. data/db/migrate/20140707125621_rename_return_authorization_inventory_unit_to_return_items.rb +0 -5
  589. data/db/migrate/20140709160534_backfill_line_item_pre_tax_amount.rb +0 -10
  590. data/db/migrate/20140710041921_recreate_spree_return_authorizations.rb +0 -55
  591. data/db/migrate/20140710181204_add_amount_fields_to_return_items.rb +0 -7
  592. data/db/migrate/20140710190048_drop_return_authorization_amount.rb +0 -5
  593. data/db/migrate/20140713140455_create_spree_return_authorization_reasons.rb +0 -28
  594. data/db/migrate/20140713140527_create_spree_refund_reasons.rb +0 -14
  595. data/db/migrate/20140713142214_rename_return_authorization_reason.rb +0 -5
  596. data/db/migrate/20140715182625_create_spree_promotion_categories.rb +0 -11
  597. data/db/migrate/20140716204111_drop_received_at_on_return_items.rb +0 -9
  598. data/db/migrate/20140716212330_add_reception_and_acceptance_status_to_return_items.rb +0 -6
  599. data/db/migrate/20140717155155_create_default_refund_reason.rb +0 -9
  600. data/db/migrate/20140717185932_add_default_to_spree_stock_locations.rb +0 -7
  601. data/db/migrate/20140718133010_create_spree_customer_returns.rb +0 -9
  602. data/db/migrate/20140718133349_add_customer_return_id_to_return_item.rb +0 -6
  603. data/db/migrate/20140718195325_create_friendly_id_slugs.rb +0 -15
  604. data/db/migrate/20140723004419_rename_spree_refund_return_authorization_id.rb +0 -5
  605. data/db/migrate/20140723152808_increase_return_item_pre_tax_amount_precision.rb +0 -13
  606. data/db/migrate/20140723214541_copy_product_slugs_to_slug_history.rb +0 -15
  607. data/db/migrate/20140725131539_create_spree_reimbursements.rb +0 -21
  608. data/db/migrate/20140728225422_add_promotionable_to_spree_products.rb +0 -5
  609. data/db/migrate/20140729133613_add_exchange_inventory_unit_foreign_keys.rb +0 -7
  610. data/db/migrate/20140730155938_add_acceptance_status_errors_to_return_item.rb +0 -5
  611. data/db/migrate/20140731150017_create_spree_reimbursement_types.rb +0 -20
  612. data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +0 -10
  613. data/db/migrate/20140805171035_add_default_to_spree_credit_cards.rb +0 -5
  614. data/db/migrate/20140805171219_make_existing_credit_cards_default.rb +0 -10
  615. data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +0 -9
  616. data/db/migrate/20140808184039_create_spree_reimbursement_credits.rb +0 -10
  617. data/db/migrate/20140827170513_add_meta_title_to_spree_products.rb +0 -7
  618. data/db/migrate/20140911173301_add_kind_to_zone.rb +0 -11
  619. data/db/migrate/20140924164824_add_code_to_spree_tax_categories.rb +0 -5
  620. data/db/migrate/20140927193717_default_pre_tax_amount_should_be_zero.rb +0 -6
  621. data/db/migrate/20141002191113_add_code_to_spree_shipping_methods.rb +0 -5
  622. data/db/migrate/20141007230328_add_cancel_audit_fields_to_spree_orders.rb +0 -6
  623. data/db/migrate/20141009204607_add_store_id_to_orders.rb +0 -8
  624. data/db/migrate/20141012083513_create_spree_taxons_prototypes.rb +0 -8
  625. data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +0 -5
  626. data/db/migrate/20141023005240_add_counter_cache_from_spree_variants_to_spree_stock_items.rb +0 -8
  627. data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +0 -13
  628. data/db/migrate/20141105213646_update_classifications_positions.rb +0 -9
  629. data/db/migrate/20141120135441_add_guest_token_index_to_spree_orders.rb +0 -5
  630. data/db/migrate/20141215232040_remove_token_permissions_table.rb +0 -6
  631. data/db/migrate/20141215235502_remove_extra_products_slug_index.rb +0 -5
  632. data/db/migrate/20141217215630_update_product_slug_index.rb +0 -6
  633. data/db/migrate/20141218025915_rename_identifier_to_number_for_payment.rb +0 -5
  634. data/db/migrate/20150118210639_create_spree_store_credits.rb +0 -24
  635. data/db/migrate/20150118211500_create_spree_store_credit_categories.rb +0 -8
  636. data/db/migrate/20150118212051_create_spree_store_credit_events.rb +0 -17
  637. data/db/migrate/20150118212101_create_spree_store_credit_types.rb +0 -10
  638. data/db/migrate/20150121022521_remove_environment_from_payment_method.rb +0 -6
  639. data/db/migrate/20150122145607_add_resellable_to_return_items.rb +0 -5
  640. data/db/migrate/20150122202432_add_code_to_spree_promotion_categories.rb +0 -5
  641. data/db/migrate/20150128032538_remove_environment_from_tracker.rb +0 -8
  642. data/db/migrate/20150128060325_remove_spree_configurations.rb +0 -16
  643. data/db/migrate/20150216173445_add_index_to_spree_stock_items_variant_id.rb +0 -13
  644. data/db/migrate/20150309161154_ensure_payments_have_numbers.rb +0 -13
  645. data/db/migrate/20150314013438_add_missing_indexes_on_spree_tables.rb +0 -67
  646. data/db/migrate/20150317174308_remove_duplicated_indexes_from_multi_columns.rb +0 -18
  647. data/db/migrate/20150324104002_remove_user_index_from_spree_state_changes.rb +0 -14
  648. data/db/migrate/20150515211137_fix_adjustment_order_id.rb +0 -70
  649. data/db/migrate/20150522071831_add_position_to_spree_payment_methods.rb +0 -5
  650. data/db/migrate/20150522181728_add_deleted_at_to_friendly_id_slugs.rb +0 -6
  651. data/db/migrate/20150609093816_increase_scale_on_pre_tax_amounts.rb +0 -16
  652. data/db/migrate/20150626181949_add_taxable_adjustment_total_to_line_item.rb +0 -19
  653. data/db/migrate/20150627090949_migrate_payment_methods_display.rb +0 -12
  654. data/db/migrate/20150707204155_enable_acts_as_paranoid_on_calculators.rb +0 -6
  655. data/db/migrate/20150714154102_spree_payment_method_store_credits.rb +0 -12
  656. data/db/migrate/20150726141425_rename_has_and_belongs_to_associations_to_model_names.rb +0 -18
  657. data/db/migrate/20150727191614_spree_store_credit_types.rb +0 -11
  658. data/db/migrate/20150819154308_add_discontinued_to_products_and_variants.rb +0 -68
  659. data/db/migrate/20151220072838_remove_shipping_method_id_from_spree_orders.rb +0 -13
  660. data/db/migrate/20160207191757_add_id_column_to_earlier_habtm_tables.rb +0 -16
  661. data/db/migrate/20160219165458_add_indexes.rb +0 -14
  662. data/db/migrate/20160509064646_remove_counter_cache_from_spree_variants_to_spree_stock_items.rb +0 -10
  663. data/db/migrate/20160608090604_add_zipcode_required_to_spree_countries.rb +0 -7
  664. data/db/migrate/20161014145148_add_created_at_to_variant.rb +0 -8
  665. data/db/migrate/20161014152814_add_null_false_to_spree_variants_timestamps.rb +0 -6
  666. data/db/migrate/20161125065505_add_quantity_to_inventory_units.rb +0 -5
  667. data/db/migrate/20170119122701_add_original_return_item_id_to_spree_inventory_units.rb +0 -29
  668. data/db/migrate/20170315152755_add_unique_index_on_number_to_spree_orders.rb +0 -16
  669. data/db/migrate/20170316154338_add_unique_index_on_number_to_spree_stock_transfer.rb +0 -16
  670. data/db/migrate/20170316205511_add_unique_index_on_number_to_spree_shipment.rb +0 -16
  671. data/db/migrate/20170320134043_add_unique_index_on_number_to_spree_payments.rb +0 -17
  672. data/db/migrate/20170320142750_add_unique_index_on_number_to_spree_return_authorizations.rb +0 -16
  673. data/db/migrate/20170320145040_add_unique_index_on_number_to_spree_customer_returns.rb +0 -16
  674. data/db/migrate/20170320145518_add_unique_index_on_number_to_spree_reimbursements.rb +0 -16
  675. data/db/migrate/20170323151450_add_missing_unique_indexes_for_unique_attributes.rb +0 -37
  676. data/db/migrate/20170329110859_add_index_on_stock_location_to_spree_customer_returns.rb +0 -5
  677. data/db/migrate/20170329113917_add_index_on_prototype_to_spree_option_type_prototype.rb +0 -19
  678. data/db/migrate/20170330082155_add_indexes_to_spree_option_value_variant.rb +0 -19
  679. data/db/migrate/20170330132215_add_index_on_promotion_id_to_order_promotions.rb +0 -5
  680. data/db/migrate/20170331101758_add_indexes_for_property_prototype.rb +0 -20
  681. data/db/migrate/20170331103334_add_index_for_prototype_id_to_prototype_taxons.rb +0 -5
  682. data/db/migrate/20170331110454_add_indexes_to_refunds.rb +0 -6
  683. data/db/migrate/20170331111757_add_indexes_to_reimbursement_credits.rb +0 -6
  684. data/db/migrate/20170331115246_add_indexes_to_return_authorizations.rb +0 -6
  685. data/db/migrate/20170331120125_add_indexes_to_return_items.rb +0 -11
  686. data/db/migrate/20170331121725_add_index_to_role_users.rb +0 -18
  687. data/db/migrate/20170331123625_add_index_to_shipping_method_categories.rb +0 -5
  688. data/db/migrate/20170331123832_add_index_to_shipping_method_zones.rb +0 -20
  689. data/db/migrate/20170331124251_add_index_to_spree_shipping_rates.rb +0 -6
  690. data/db/migrate/20170331124513_add_index_to_spree_stock_items.rb +0 -5
  691. data/db/migrate/20170331124924_add_index_to_spree_stock_movement.rb +0 -5
  692. data/db/migrate/20170413211707_change_indexes_on_friendly_id_slugs.rb +0 -10
  693. data/db/migrate/20170722102643_add_analytics_kind_to_spree_trackers.rb +0 -5
  694. data/db/migrate/20170727103056_rename_tracker_kind_field.rb +0 -5
  695. data/db/migrate/20171004223836_remove_icon_from_taxons.rb +0 -8
  696. data/db/migrate/20180222133746_add_unique_index_on_spree_promotions_code.rb +0 -6
  697. data/db/migrate/20180613080857_rename_guest_token_to_token_in_orders.rb +0 -5
  698. data/db/migrate/20180915160001_add_timestamps_to_spree_prices.rb +0 -12
  699. data/db/migrate/20181024100754_add_deleted_at_to_spree_credit_cards.rb +0 -6
  700. data/db/migrate/20190305121659_add_iso_and_iso3_validation_on_presence_and_uniqueness.rb +0 -18
  701. data/db/migrate/20190523092729_add_user_id_and_deleted_at_to_spree_addresses.rb +0 -12
  702. data/lib/friendly_id/slug_rails5_patch.rb +0 -11
  703. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/backend/all.js +0 -17
  704. data/lib/generators/spree/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -18
  705. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/backend/all.css +0 -16
  706. data/lib/generators/spree/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -16
  707. data/lib/spree/i18n/base.rb +0 -17
  708. data/lib/spree/i18n/initializer.rb +0 -1
  709. data/lib/tasks/email.rake +0 -10
  710. data/vendor/assets/javascripts/fetch.umd.js +0 -531
  711. data/vendor/assets/javascripts/jquery.payment.js +0 -652
  712. data/vendor/assets/javascripts/jsuri.js +0 -458
  713. data/vendor/assets/javascripts/polyfill.min.js +0 -1
  714. /data/app/models/spree/return_item/eligibility_validator/{r_m_a_required.rb → rma_required.rb} +0 -0
  715. /data/lib/spree/{dependencies_helper.rb → core/dependencies_helper.rb} +0 -0
  716. /data/{app/models/spree → lib/spree/core}/preferences/scoped_store.rb +0 -0
@@ -1,652 +0,0 @@
1
- // Generated by CoffeeScript 1.7.1
2
- (function() {
3
- var $, cardFromNumber, cardFromType, cards, defaultFormat, formatBackCardNumber, formatBackExpiry, formatCardNumber, formatExpiry, formatForwardExpiry, formatForwardSlashAndSpace, hasTextSelected, luhnCheck, reFormatCVC, reFormatCardNumber, reFormatExpiry, reFormatNumeric, replaceFullWidthChars, restrictCVC, restrictCardNumber, restrictExpiry, restrictNumeric, safeVal, setCardType,
4
- __slice = [].slice,
5
- __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
6
-
7
- $ = window.jQuery || window.Zepto || window.$;
8
-
9
- $.payment = {};
10
-
11
- $.payment.fn = {};
12
-
13
- $.fn.payment = function() {
14
- var args, method;
15
- method = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
16
- return $.payment.fn[method].apply(this, args);
17
- };
18
-
19
- defaultFormat = /(\d{1,4})/g;
20
-
21
- $.payment.cards = cards = [
22
- {
23
- type: 'maestro',
24
- patterns: [5018, 502, 503, 506, 56, 58, 639, 6220, 67],
25
- format: defaultFormat,
26
- length: [12, 13, 14, 15, 16, 17, 18, 19],
27
- cvcLength: [3],
28
- luhn: true
29
- }, {
30
- type: 'forbrugsforeningen',
31
- patterns: [600],
32
- format: defaultFormat,
33
- length: [16],
34
- cvcLength: [3],
35
- luhn: true
36
- }, {
37
- type: 'dankort',
38
- patterns: [5019],
39
- format: defaultFormat,
40
- length: [16],
41
- cvcLength: [3],
42
- luhn: true
43
- }, {
44
- type: 'visa',
45
- patterns: [4],
46
- format: defaultFormat,
47
- length: [13, 16],
48
- cvcLength: [3],
49
- luhn: true
50
- }, {
51
- type: 'mastercard',
52
- patterns: [51, 52, 53, 54, 55, 22, 23, 24, 25, 26, 27],
53
- format: defaultFormat,
54
- length: [16],
55
- cvcLength: [3],
56
- luhn: true
57
- }, {
58
- type: 'amex',
59
- patterns: [34, 37],
60
- format: /(\d{1,4})(\d{1,6})?(\d{1,5})?/,
61
- length: [15],
62
- cvcLength: [3, 4],
63
- luhn: true
64
- }, {
65
- type: 'dinersclub',
66
- patterns: [30, 36, 38, 39],
67
- format: /(\d{1,4})(\d{1,6})?(\d{1,4})?/,
68
- length: [14],
69
- cvcLength: [3],
70
- luhn: true
71
- }, {
72
- type: 'discover',
73
- patterns: [60, 64, 65, 622],
74
- format: defaultFormat,
75
- length: [16],
76
- cvcLength: [3],
77
- luhn: true
78
- }, {
79
- type: 'unionpay',
80
- patterns: [62, 88],
81
- format: defaultFormat,
82
- length: [16, 17, 18, 19],
83
- cvcLength: [3],
84
- luhn: false
85
- }, {
86
- type: 'jcb',
87
- patterns: [35],
88
- format: defaultFormat,
89
- length: [16],
90
- cvcLength: [3],
91
- luhn: true
92
- }
93
- ];
94
-
95
- cardFromNumber = function(num) {
96
- var card, p, pattern, _i, _j, _len, _len1, _ref;
97
- num = (num + '').replace(/\D/g, '');
98
- for (_i = 0, _len = cards.length; _i < _len; _i++) {
99
- card = cards[_i];
100
- _ref = card.patterns;
101
- for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
102
- pattern = _ref[_j];
103
- p = pattern + '';
104
- if (num.substr(0, p.length) === p) {
105
- return card;
106
- }
107
- }
108
- }
109
- };
110
-
111
- cardFromType = function(type) {
112
- var card, _i, _len;
113
- for (_i = 0, _len = cards.length; _i < _len; _i++) {
114
- card = cards[_i];
115
- if (card.type === type) {
116
- return card;
117
- }
118
- }
119
- };
120
-
121
- luhnCheck = function(num) {
122
- var digit, digits, odd, sum, _i, _len;
123
- odd = true;
124
- sum = 0;
125
- digits = (num + '').split('').reverse();
126
- for (_i = 0, _len = digits.length; _i < _len; _i++) {
127
- digit = digits[_i];
128
- digit = parseInt(digit, 10);
129
- if ((odd = !odd)) {
130
- digit *= 2;
131
- }
132
- if (digit > 9) {
133
- digit -= 9;
134
- }
135
- sum += digit;
136
- }
137
- return sum % 10 === 0;
138
- };
139
-
140
- hasTextSelected = function($target) {
141
- var _ref;
142
- if (($target.prop('selectionStart') != null) && $target.prop('selectionStart') !== $target.prop('selectionEnd')) {
143
- return true;
144
- }
145
- if ((typeof document !== "undefined" && document !== null ? (_ref = document.selection) != null ? _ref.createRange : void 0 : void 0) != null) {
146
- if (document.selection.createRange().text) {
147
- return true;
148
- }
149
- }
150
- return false;
151
- };
152
-
153
- safeVal = function(value, $target) {
154
- var currPair, cursor, digit, error, last, prevPair;
155
- try {
156
- cursor = $target.prop('selectionStart');
157
- } catch (_error) {
158
- error = _error;
159
- cursor = null;
160
- }
161
- last = $target.val();
162
- $target.val(value);
163
- if (cursor !== null && $target.is(":focus")) {
164
- if (cursor === last.length) {
165
- cursor = value.length;
166
- }
167
- if (last !== value) {
168
- prevPair = last.slice(cursor - 1, +cursor + 1 || 9e9);
169
- currPair = value.slice(cursor - 1, +cursor + 1 || 9e9);
170
- digit = value[cursor];
171
- if (/\d/.test(digit) && prevPair === ("" + digit + " ") && currPair === (" " + digit)) {
172
- cursor = cursor + 1;
173
- }
174
- }
175
- $target.prop('selectionStart', cursor);
176
- return $target.prop('selectionEnd', cursor);
177
- }
178
- };
179
-
180
- replaceFullWidthChars = function(str) {
181
- var chars, chr, fullWidth, halfWidth, idx, value, _i, _len;
182
- if (str == null) {
183
- str = '';
184
- }
185
- fullWidth = '\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19';
186
- halfWidth = '0123456789';
187
- value = '';
188
- chars = str.split('');
189
- for (_i = 0, _len = chars.length; _i < _len; _i++) {
190
- chr = chars[_i];
191
- idx = fullWidth.indexOf(chr);
192
- if (idx > -1) {
193
- chr = halfWidth[idx];
194
- }
195
- value += chr;
196
- }
197
- return value;
198
- };
199
-
200
- reFormatNumeric = function(e) {
201
- var $target;
202
- $target = $(e.currentTarget);
203
- return setTimeout(function() {
204
- var value;
205
- value = $target.val();
206
- value = replaceFullWidthChars(value);
207
- value = value.replace(/\D/g, '');
208
- return safeVal(value, $target);
209
- });
210
- };
211
-
212
- reFormatCardNumber = function(e) {
213
- var $target;
214
- $target = $(e.currentTarget);
215
- return setTimeout(function() {
216
- var value;
217
- value = $target.val();
218
- value = replaceFullWidthChars(value);
219
- value = $.payment.formatCardNumber(value);
220
- return safeVal(value, $target);
221
- });
222
- };
223
-
224
- formatCardNumber = function(e) {
225
- var $target, card, digit, length, re, upperLength, value;
226
- digit = String.fromCharCode(e.which);
227
- if (!/^\d+$/.test(digit)) {
228
- return;
229
- }
230
- $target = $(e.currentTarget);
231
- value = $target.val();
232
- card = cardFromNumber(value + digit);
233
- length = (value.replace(/\D/g, '') + digit).length;
234
- upperLength = 16;
235
- if (card) {
236
- upperLength = card.length[card.length.length - 1];
237
- }
238
- if (length >= upperLength) {
239
- return;
240
- }
241
- if (($target.prop('selectionStart') != null) && $target.prop('selectionStart') !== value.length) {
242
- return;
243
- }
244
- if (card && card.type === 'amex') {
245
- re = /^(\d{4}|\d{4}\s\d{6})$/;
246
- } else {
247
- re = /(?:^|\s)(\d{4})$/;
248
- }
249
- if (re.test(value)) {
250
- e.preventDefault();
251
- return setTimeout(function() {
252
- return $target.val(value + ' ' + digit);
253
- });
254
- } else if (re.test(value + digit)) {
255
- e.preventDefault();
256
- return setTimeout(function() {
257
- return $target.val(value + digit + ' ');
258
- });
259
- }
260
- };
261
-
262
- formatBackCardNumber = function(e) {
263
- var $target, value;
264
- $target = $(e.currentTarget);
265
- value = $target.val();
266
- if (e.which !== 8) {
267
- return;
268
- }
269
- if (($target.prop('selectionStart') != null) && $target.prop('selectionStart') !== value.length) {
270
- return;
271
- }
272
- if (/\d\s$/.test(value)) {
273
- e.preventDefault();
274
- return setTimeout(function() {
275
- return $target.val(value.replace(/\d\s$/, ''));
276
- });
277
- } else if (/\s\d?$/.test(value)) {
278
- e.preventDefault();
279
- return setTimeout(function() {
280
- return $target.val(value.replace(/\d$/, ''));
281
- });
282
- }
283
- };
284
-
285
- reFormatExpiry = function(e) {
286
- var $target;
287
- $target = $(e.currentTarget);
288
- return setTimeout(function() {
289
- var value;
290
- value = $target.val();
291
- value = replaceFullWidthChars(value);
292
- value = $.payment.formatExpiry(value);
293
- return safeVal(value, $target);
294
- });
295
- };
296
-
297
- formatExpiry = function(e) {
298
- var $target, digit, val;
299
- digit = String.fromCharCode(e.which);
300
- if (!/^\d+$/.test(digit)) {
301
- return;
302
- }
303
- $target = $(e.currentTarget);
304
- val = $target.val() + digit;
305
- if (/^\d$/.test(val) && (val !== '0' && val !== '1')) {
306
- e.preventDefault();
307
- return setTimeout(function() {
308
- return $target.val("0" + val + " / ");
309
- });
310
- } else if (/^\d\d$/.test(val)) {
311
- e.preventDefault();
312
- return setTimeout(function() {
313
- var m1, m2;
314
- m1 = parseInt(val[0], 10);
315
- m2 = parseInt(val[1], 10);
316
- if (m2 > 2 && m1 !== 0) {
317
- return $target.val("0" + m1 + " / " + m2);
318
- } else {
319
- return $target.val("" + val + " / ");
320
- }
321
- });
322
- }
323
- };
324
-
325
- formatForwardExpiry = function(e) {
326
- var $target, digit, val;
327
- digit = String.fromCharCode(e.which);
328
- if (!/^\d+$/.test(digit)) {
329
- return;
330
- }
331
- $target = $(e.currentTarget);
332
- val = $target.val();
333
- if (/^\d\d$/.test(val)) {
334
- return $target.val("" + val + " / ");
335
- }
336
- };
337
-
338
- formatForwardSlashAndSpace = function(e) {
339
- var $target, val, which;
340
- which = String.fromCharCode(e.which);
341
- if (!(which === '/' || which === ' ')) {
342
- return;
343
- }
344
- $target = $(e.currentTarget);
345
- val = $target.val();
346
- if (/^\d$/.test(val) && val !== '0') {
347
- return $target.val("0" + val + " / ");
348
- }
349
- };
350
-
351
- formatBackExpiry = function(e) {
352
- var $target, value;
353
- $target = $(e.currentTarget);
354
- value = $target.val();
355
- if (e.which !== 8) {
356
- return;
357
- }
358
- if (($target.prop('selectionStart') != null) && $target.prop('selectionStart') !== value.length) {
359
- return;
360
- }
361
- if (/\d\s\/\s$/.test(value)) {
362
- e.preventDefault();
363
- return setTimeout(function() {
364
- return $target.val(value.replace(/\d\s\/\s$/, ''));
365
- });
366
- }
367
- };
368
-
369
- reFormatCVC = function(e) {
370
- var $target;
371
- $target = $(e.currentTarget);
372
- return setTimeout(function() {
373
- var value;
374
- value = $target.val();
375
- value = replaceFullWidthChars(value);
376
- value = value.replace(/\D/g, '').slice(0, 4);
377
- return safeVal(value, $target);
378
- });
379
- };
380
-
381
- restrictNumeric = function(e) {
382
- var input;
383
- if (e.metaKey || e.ctrlKey) {
384
- return true;
385
- }
386
- if (e.which === 32) {
387
- return false;
388
- }
389
- if (e.which === 0) {
390
- return true;
391
- }
392
- if (e.which < 33) {
393
- return true;
394
- }
395
- input = String.fromCharCode(e.which);
396
- return !!/[\d\s]/.test(input);
397
- };
398
-
399
- restrictCardNumber = function(e) {
400
- var $target, card, digit, value;
401
- $target = $(e.currentTarget);
402
- digit = String.fromCharCode(e.which);
403
- if (!/^\d+$/.test(digit)) {
404
- return;
405
- }
406
- if (hasTextSelected($target)) {
407
- return;
408
- }
409
- value = ($target.val() + digit).replace(/\D/g, '');
410
- card = cardFromNumber(value);
411
- if (card) {
412
- return value.length <= card.length[card.length.length - 1];
413
- } else {
414
- return value.length <= 16;
415
- }
416
- };
417
-
418
- restrictExpiry = function(e) {
419
- var $target, digit, value;
420
- $target = $(e.currentTarget);
421
- digit = String.fromCharCode(e.which);
422
- if (!/^\d+$/.test(digit)) {
423
- return;
424
- }
425
- if (hasTextSelected($target)) {
426
- return;
427
- }
428
- value = $target.val() + digit;
429
- value = value.replace(/\D/g, '');
430
- if (value.length > 6) {
431
- return false;
432
- }
433
- };
434
-
435
- restrictCVC = function(e) {
436
- var $target, digit, val;
437
- $target = $(e.currentTarget);
438
- digit = String.fromCharCode(e.which);
439
- if (!/^\d+$/.test(digit)) {
440
- return;
441
- }
442
- if (hasTextSelected($target)) {
443
- return;
444
- }
445
- val = $target.val() + digit;
446
- return val.length <= 4;
447
- };
448
-
449
- setCardType = function(e) {
450
- var $target, allTypes, card, cardType, val;
451
- $target = $(e.currentTarget);
452
- val = $target.val();
453
- cardType = $.payment.cardType(val) || 'unknown';
454
- if (!$target.hasClass(cardType)) {
455
- allTypes = (function() {
456
- var _i, _len, _results;
457
- _results = [];
458
- for (_i = 0, _len = cards.length; _i < _len; _i++) {
459
- card = cards[_i];
460
- _results.push(card.type);
461
- }
462
- return _results;
463
- })();
464
- $target.removeClass('unknown');
465
- $target.removeClass(allTypes.join(' '));
466
- $target.addClass(cardType);
467
- $target.toggleClass('identified', cardType !== 'unknown');
468
- return $target.trigger('payment.cardType', cardType);
469
- }
470
- };
471
-
472
- $.payment.fn.formatCardCVC = function() {
473
- this.on('keypress', restrictNumeric);
474
- this.on('keypress', restrictCVC);
475
- this.on('paste', reFormatCVC);
476
- this.on('change', reFormatCVC);
477
- this.on('input', reFormatCVC);
478
- return this;
479
- };
480
-
481
- $.payment.fn.formatCardExpiry = function() {
482
- this.on('keypress', restrictNumeric);
483
- this.on('keypress', restrictExpiry);
484
- this.on('keypress', formatExpiry);
485
- this.on('keypress', formatForwardSlashAndSpace);
486
- this.on('keypress', formatForwardExpiry);
487
- this.on('keydown', formatBackExpiry);
488
- this.on('change', reFormatExpiry);
489
- this.on('input', reFormatExpiry);
490
- return this;
491
- };
492
-
493
- $.payment.fn.formatCardNumber = function() {
494
- this.on('keypress', restrictNumeric);
495
- this.on('keypress', restrictCardNumber);
496
- this.on('keypress', formatCardNumber);
497
- this.on('keydown', formatBackCardNumber);
498
- this.on('keyup', setCardType);
499
- this.on('paste', reFormatCardNumber);
500
- this.on('change', reFormatCardNumber);
501
- this.on('input', reFormatCardNumber);
502
- this.on('input', setCardType);
503
- return this;
504
- };
505
-
506
- $.payment.fn.restrictNumeric = function() {
507
- this.on('keypress', restrictNumeric);
508
- this.on('paste', reFormatNumeric);
509
- this.on('change', reFormatNumeric);
510
- this.on('input', reFormatNumeric);
511
- return this;
512
- };
513
-
514
- $.payment.fn.cardExpiryVal = function() {
515
- return $.payment.cardExpiryVal($(this).val());
516
- };
517
-
518
- $.payment.cardExpiryVal = function(value) {
519
- var month, prefix, year, _ref;
520
- _ref = value.split(/[\s\/]+/, 2), month = _ref[0], year = _ref[1];
521
- if ((year != null ? year.length : void 0) === 2 && /^\d+$/.test(year)) {
522
- prefix = (new Date).getFullYear();
523
- prefix = prefix.toString().slice(0, 2);
524
- year = prefix + year;
525
- }
526
- month = parseInt(month, 10);
527
- year = parseInt(year, 10);
528
- return {
529
- month: month,
530
- year: year
531
- };
532
- };
533
-
534
- $.payment.validateCardNumber = function(num) {
535
- var card, _ref;
536
- num = (num + '').replace(/\s+|-/g, '');
537
- if (!/^\d+$/.test(num)) {
538
- return false;
539
- }
540
- card = cardFromNumber(num);
541
- if (!card) {
542
- return false;
543
- }
544
- return (_ref = num.length, __indexOf.call(card.length, _ref) >= 0) && (card.luhn === false || luhnCheck(num));
545
- };
546
-
547
- $.payment.validateCardExpiry = function(month, year) {
548
- var currentTime, expiry, _ref;
549
- if (typeof month === 'object' && 'month' in month) {
550
- _ref = month, month = _ref.month, year = _ref.year;
551
- }
552
- if (!(month && year)) {
553
- return false;
554
- }
555
- month = $.trim(month);
556
- year = $.trim(year);
557
- if (!/^\d+$/.test(month)) {
558
- return false;
559
- }
560
- if (!/^\d+$/.test(year)) {
561
- return false;
562
- }
563
- if (!((1 <= month && month <= 12))) {
564
- return false;
565
- }
566
- if (year.length === 2) {
567
- if (year < 70) {
568
- year = "20" + year;
569
- } else {
570
- year = "19" + year;
571
- }
572
- }
573
- if (year.length !== 4) {
574
- return false;
575
- }
576
- expiry = new Date(year, month);
577
- currentTime = new Date;
578
- expiry.setMonth(expiry.getMonth() - 1);
579
- expiry.setMonth(expiry.getMonth() + 1, 1);
580
- return expiry > currentTime;
581
- };
582
-
583
- $.payment.validateCardCVC = function(cvc, type) {
584
- var card, _ref;
585
- cvc = $.trim(cvc);
586
- if (!/^\d+$/.test(cvc)) {
587
- return false;
588
- }
589
- card = cardFromType(type);
590
- if (card != null) {
591
- return _ref = cvc.length, __indexOf.call(card.cvcLength, _ref) >= 0;
592
- } else {
593
- return cvc.length >= 3 && cvc.length <= 4;
594
- }
595
- };
596
-
597
- $.payment.cardType = function(num) {
598
- var _ref;
599
- if (!num) {
600
- return null;
601
- }
602
- return ((_ref = cardFromNumber(num)) != null ? _ref.type : void 0) || null;
603
- };
604
-
605
- $.payment.formatCardNumber = function(num) {
606
- var card, groups, upperLength, _ref;
607
- num = num.replace(/\D/g, '');
608
- card = cardFromNumber(num);
609
- if (!card) {
610
- return num;
611
- }
612
- upperLength = card.length[card.length.length - 1];
613
- num = num.slice(0, upperLength);
614
- if (card.format.global) {
615
- return (_ref = num.match(card.format)) != null ? _ref.join(' ') : void 0;
616
- } else {
617
- groups = card.format.exec(num);
618
- if (groups == null) {
619
- return;
620
- }
621
- groups.shift();
622
- groups = $.grep(groups, function(n) {
623
- return n;
624
- });
625
- return groups.join(' ');
626
- }
627
- };
628
-
629
- $.payment.formatExpiry = function(expiry) {
630
- var mon, parts, sep, year;
631
- parts = expiry.match(/^\D*(\d{1,2})(\D+)?(\d{1,4})?/);
632
- if (!parts) {
633
- return '';
634
- }
635
- mon = parts[1] || '';
636
- sep = parts[2] || '';
637
- year = parts[3] || '';
638
- if (year.length > 0) {
639
- sep = ' / ';
640
- } else if (sep === ' /') {
641
- mon = mon.substring(0, 1);
642
- sep = '';
643
- } else if (mon.length === 2 || sep.length > 0) {
644
- sep = ' / ';
645
- } else if (mon.length === 1 && (mon !== '0' && mon !== '1')) {
646
- mon = "0" + mon;
647
- sep = ' / ';
648
- }
649
- return mon + sep + year;
650
- };
651
-
652
- }).call(this);