spree_core 2.1.7 → 2.1.8
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/helpers/spree/base_helper.rb +1 -1
- data/app/models/spree/credit_card.rb +11 -6
- data/app/models/spree/order.rb +3 -6
- data/app/models/spree/payment.rb +1 -1
- data/app/models/spree/zone.rb +5 -5
- data/config/locales/en.yml +2 -0
- data/lib/spree/core/product_duplicator.rb +6 -2
- data/lib/spree/core/version.rb +1 -1
- metadata +7 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 43818b70db72f063df0a2ca6ec5a814bbee08e32
         | 
| 4 | 
            +
              data.tar.gz: f8cc6b3a6c23d6f8cef08b16a11cda8ef76041f6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7ca9edf26cea41ea8f52c020206da785cc243c808f2b1c6647310b2f44d23d661f9c18380b3eb4804162852bd5bdc6faec6bbb1c1bc751cc103dbef34bae5c89
         | 
| 7 | 
            +
              data.tar.gz: a7da9a9569a87f7a6025d1ca7c837a3bb2bfb7c458daccfdce8ca5c914c0e6b5f3e480c09e9cc574b3ce5ecfb54512f590b9eb129ded0a4f15298bcbf4aa8021
         | 
| @@ -120,7 +120,7 @@ module Spree | |
| 120 120 | 
             
                  countries.collect do |country|
         | 
| 121 121 | 
             
                    country.name = Spree.t(country.iso, scope: 'country_names', default: country.name)
         | 
| 122 122 | 
             
                    country
         | 
| 123 | 
            -
                  end. | 
| 123 | 
            +
                  end.sort_by { |c| c.name.parameterize }
         | 
| 124 124 | 
             
                end
         | 
| 125 125 |  | 
| 126 126 | 
             
                def seo_url(taxon)
         | 
| @@ -34,9 +34,10 @@ module Spree | |
| 34 34 | 
             
                  elsif match = expiry.match(/(\d{2})(\d{2,4})/) # will match mmyy and mmyyyy
         | 
| 35 35 | 
             
                    [match[1], match[2]]
         | 
| 36 36 | 
             
                  end
         | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 37 | 
            +
                  if self[:year]
         | 
| 38 | 
            +
                    self[:year] = "20" + self[:year] if self[:year].length == 2
         | 
| 39 | 
            +
                    self[:year] = self[:year].to_i
         | 
| 40 | 
            +
                  end
         | 
| 40 41 | 
             
                  self[:month] = self[:month].to_i
         | 
| 41 42 | 
             
                end
         | 
| 42 43 |  | 
| @@ -125,9 +126,13 @@ module Spree | |
| 125 126 |  | 
| 126 127 | 
             
                def expiry_not_in_the_past
         | 
| 127 128 | 
             
                  if year.present? && month.present?
         | 
| 128 | 
            -
                     | 
| 129 | 
            -
             | 
| 130 | 
            -
             | 
| 129 | 
            +
                    if month.to_i < 1 || month.to_i > 12
         | 
| 130 | 
            +
                      errors.add(:base, :expiry_invalid)
         | 
| 131 | 
            +
                    else
         | 
| 132 | 
            +
                      time = Time.zone.parse("#{year}-#{month}-1")
         | 
| 133 | 
            +
                      if time < Time.zone.now.to_time.beginning_of_month
         | 
| 134 | 
            +
                        errors.add(:base, :card_expired)
         | 
| 135 | 
            +
                      end
         | 
| 131 136 | 
             
                    end
         | 
| 132 137 | 
             
                  end
         | 
| 133 138 | 
             
                end
         | 
    
        data/app/models/spree/order.rb
    CHANGED
    
    | @@ -67,6 +67,7 @@ module Spree | |
| 67 67 |  | 
| 68 68 | 
             
                validates :email, presence: true, if: :require_email
         | 
| 69 69 | 
             
                validates :email, email: true, if: :require_email, allow_blank: true
         | 
| 70 | 
            +
                validates :number, uniqueness: true
         | 
| 70 71 | 
             
                validate :has_available_shipment
         | 
| 71 72 | 
             
                validate :has_available_payment
         | 
| 72 73 |  | 
| @@ -257,15 +258,11 @@ module Spree | |
| 257 258 | 
             
                  end
         | 
| 258 259 | 
             
                end
         | 
| 259 260 |  | 
| 260 | 
            -
                # FIXME refactor this method and implement validation using validates_* utilities
         | 
| 261 261 | 
             
                def generate_order_number
         | 
| 262 | 
            -
                   | 
| 263 | 
            -
                  while record
         | 
| 262 | 
            +
                  self.number ||= loop do
         | 
| 264 263 | 
             
                    random = "R#{Array.new(9){rand(9)}.join}"
         | 
| 265 | 
            -
                     | 
| 264 | 
            +
                    break random unless self.class.exists?(number: random)
         | 
| 266 265 | 
             
                  end
         | 
| 267 | 
            -
                  self.number = random if self.number.blank?
         | 
| 268 | 
            -
                  self.number
         | 
| 269 266 | 
             
                end
         | 
| 270 267 |  | 
| 271 268 | 
             
                def shipped_shipments
         | 
    
        data/app/models/spree/payment.rb
    CHANGED
    
    | @@ -83,7 +83,7 @@ module Spree | |
| 83 83 | 
             
                    case amount
         | 
| 84 84 | 
             
                    when String
         | 
| 85 85 | 
             
                      separator = I18n.t('number.currency.format.separator')
         | 
| 86 | 
            -
                      number    = amount.delete("^0-9-#{separator}").tr(separator, '.')
         | 
| 86 | 
            +
                      number    = amount.delete("^0-9-#{separator}\.").tr(separator, '.')
         | 
| 87 87 | 
             
                      number.to_d if number.present?
         | 
| 88 88 | 
             
                    end || amount
         | 
| 89 89 | 
             
                end
         | 
    
        data/app/models/spree/zone.rb
    CHANGED
    
    | @@ -67,12 +67,12 @@ module Spree | |
| 67 67 | 
             
                # All zoneables belonging to the zone members.  Will be a collection of either
         | 
| 68 68 | 
             
                # countries or states depending on the zone type.
         | 
| 69 69 | 
             
                def zoneables
         | 
| 70 | 
            -
                  members.collect(&:zoneable)
         | 
| 70 | 
            +
                  members.includes(:zoneable).collect(&:zoneable)
         | 
| 71 71 | 
             
                end
         | 
| 72 72 |  | 
| 73 73 | 
             
                def country_ids
         | 
| 74 74 | 
             
                  if kind == 'country'
         | 
| 75 | 
            -
                    members. | 
| 75 | 
            +
                    members.pluck(:zoneable_id)
         | 
| 76 76 | 
             
                  else
         | 
| 77 77 | 
             
                    []
         | 
| 78 78 | 
             
                  end
         | 
| @@ -80,7 +80,7 @@ module Spree | |
| 80 80 |  | 
| 81 81 | 
             
                def state_ids
         | 
| 82 82 | 
             
                  if kind == 'state'
         | 
| 83 | 
            -
                    members. | 
| 83 | 
            +
                    members.pluck(:zoneable_id)
         | 
| 84 84 | 
             
                  else
         | 
| 85 85 | 
             
                    []
         | 
| 86 86 | 
             
                  end
         | 
| @@ -117,9 +117,9 @@ module Spree | |
| 117 117 | 
             
                  return false if zone_members.empty? || target.zone_members.empty?
         | 
| 118 118 |  | 
| 119 119 | 
             
                  if kind == target.kind
         | 
| 120 | 
            -
                    return false if target.zoneables. | 
| 120 | 
            +
                    return false if (target.zoneables.collect(&:id) - zoneables.collect(&:id)).present?
         | 
| 121 121 | 
             
                  else
         | 
| 122 | 
            -
                    return false if target.zoneables. | 
| 122 | 
            +
                    return false if (target.zoneables.collect(&:country).collect(&:id) - zoneables.collect(&:id)).present?
         | 
| 123 123 | 
             
                  end
         | 
| 124 124 | 
             
                  true
         | 
| 125 125 | 
             
                end
         | 
    
        data/config/locales/en.yml
    CHANGED
    
    | @@ -225,6 +225,7 @@ en: | |
| 225 225 | 
             
                      attributes:
         | 
| 226 226 | 
             
                        base:
         | 
| 227 227 | 
             
                          card_expired: "Card has expired"
         | 
| 228 | 
            +
                          expiry_invalid: "Card expiration is invalid"
         | 
| 228 229 | 
             
              devise:
         | 
| 229 230 | 
             
                confirmations:
         | 
| 230 231 | 
             
                  confirmed: Your account was successfully confirmed. You are now signed in.
         | 
| @@ -383,6 +384,7 @@ en: | |
| 383 384 | 
             
                back_to_prototypes_list: Back To Prototypes List
         | 
| 384 385 | 
             
                back_to_reports_list: Back To Reports List
         | 
| 385 386 | 
             
                back_to_shipping_categories: Back To Shipping Categories
         | 
| 387 | 
            +
                back_to_shipping_categories_list: Back To Shipping Categories List
         | 
| 386 388 | 
             
                back_to_shipping_methods_list: Back To Shipping Methods List
         | 
| 387 389 | 
             
                back_to_states_list: Back To States List
         | 
| 388 390 | 
             
                back_to_stock_locations_list: Back to Stock Locations List
         | 
| @@ -2,8 +2,12 @@ module Spree | |
| 2 2 | 
             
              class ProductDuplicator
         | 
| 3 3 | 
             
                attr_accessor :product
         | 
| 4 4 |  | 
| 5 | 
            -
                 | 
| 5 | 
            +
                @@clone_images_default = true
         | 
| 6 | 
            +
                mattr_accessor :clone_images_default
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def initialize(product, include_images = @@clone_images_default)
         | 
| 6 9 | 
             
                  @product = product
         | 
| 10 | 
            +
                  @include_images = include_images
         | 
| 7 11 | 
             
                end
         | 
| 8 12 |  | 
| 9 13 | 
             
                def duplicate
         | 
| @@ -39,7 +43,7 @@ module Spree | |
| 39 43 | 
             
                  master.dup.tap do |new_master|
         | 
| 40 44 | 
             
                    new_master.sku = "COPY OF #{master.sku}"
         | 
| 41 45 | 
             
                    new_master.deleted_at = nil
         | 
| 42 | 
            -
                    new_master.images = master.images.map { |image| duplicate_image image }
         | 
| 46 | 
            +
                    new_master.images = master.images.map { |image| duplicate_image image } if @include_images
         | 
| 43 47 | 
             
                    new_master.price = master.price
         | 
| 44 48 | 
             
                    new_master.currency = master.currency
         | 
| 45 49 | 
             
                  end
         | 
    
        data/lib/spree/core/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: spree_core
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.1. | 
| 4 | 
            +
              version: 2.1.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sean Schofield
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-08-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activemerchant
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 1. | 
| 19 | 
            +
                    version: 1.43.1
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 1. | 
| 26 | 
            +
                    version: 1.43.1
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: acts_as_list
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -212,14 +212,14 @@ dependencies: | |
| 212 212 | 
             
                requirements:
         | 
| 213 213 | 
             
                - - "~>"
         | 
| 214 214 | 
             
                  - !ruby/object:Gem::Version
         | 
| 215 | 
            -
                    version: 4.0. | 
| 215 | 
            +
                    version: 4.0.5
         | 
| 216 216 | 
             
              type: :runtime
         | 
| 217 217 | 
             
              prerelease: false
         | 
| 218 218 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 219 219 | 
             
                requirements:
         | 
| 220 220 | 
             
                - - "~>"
         | 
| 221 221 | 
             
                  - !ruby/object:Gem::Version
         | 
| 222 | 
            -
                    version: 4.0. | 
| 222 | 
            +
                    version: 4.0.5
         | 
| 223 223 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 224 224 | 
             
              name: ransack
         | 
| 225 225 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -678,7 +678,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 678 678 | 
             
                  version: '0'
         | 
| 679 679 | 
             
            requirements: []
         | 
| 680 680 | 
             
            rubyforge_project: 
         | 
| 681 | 
            -
            rubygems_version: 2.2. | 
| 681 | 
            +
            rubygems_version: 2.2.2
         | 
| 682 682 | 
             
            signing_key: 
         | 
| 683 683 | 
             
            specification_version: 4
         | 
| 684 684 | 
             
            summary: The bare bones necessary for Spree.
         |