synergy 0.50.0.rc1 → 0.50.0.rc2
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.
- data/README.md +3 -3
- data/app/models/order_decorator.rb +29 -0
- data/app/views/order_mailer/cancel_email.text.erb +16 -0
- data/app/views/order_mailer/confirm_email.text.erb +19 -0
- data/app/views/shipment_mailer/shipped_email.text.erb +16 -0
- data/lib/synergy.rb +2 -0
- data/public/javascripts/admin/inline_help.js +25 -4
- data/synergy.gemspec +2 -2
- metadata +8 -4
    
        data/README.md
    CHANGED
    
    | @@ -7,9 +7,9 @@ Synergy | |
| 7 7 | 
             
            Установка
         | 
| 8 8 | 
             
            =========
         | 
| 9 9 |  | 
| 10 | 
            -
            1. Установите Rails 3.0. | 
| 10 | 
            +
            1. Установите Rails 3.0.7
         | 
| 11 11 |  | 
| 12 | 
            -
                    gem install rails -v 3.0. | 
| 12 | 
            +
                    gem install rails -v 3.0.7
         | 
| 13 13 |  | 
| 14 14 | 
             
            1. Создайте новое приложение
         | 
| 15 15 |  | 
| @@ -28,7 +28,7 @@ Synergy | |
| 28 28 | 
             
                    gem 'spree_yandex_market'
         | 
| 29 29 | 
             
                    gem 'spree_address_book'
         | 
| 30 30 | 
             
                    gem 'spree_dynamic_sitemaps'
         | 
| 31 | 
            -
                    gem 'synergy',  | 
| 31 | 
            +
                    gem 'synergy', '~> 0.50.0.rc1'
         | 
| 32 32 |  | 
| 33 33 | 
             
            1. Выполните следующие команды:
         | 
| 34 34 |  | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            Order.class_eval do
         | 
| 2 | 
            +
              # Updates the +payment_state+ attribute according to the following logic:
         | 
| 3 | 
            +
              #
         | 
| 4 | 
            +
              # paid          when +payment_total+ is equal to +total+
         | 
| 5 | 
            +
              # balance_due   when +payment_total+ is less than +total+
         | 
| 6 | 
            +
              # credit_owed   when +payment_total+ is greater than +total+
         | 
| 7 | 
            +
              # failed        when most recent payment is in the failed state
         | 
| 8 | 
            +
              #
         | 
| 9 | 
            +
              # The +payment_state+ value helps with reporting, etc. since it provides a quick and easy way to locate Orders needing attention.
         | 
| 10 | 
            +
              def update_payment_state
         | 
| 11 | 
            +
                if payment_total < total
         | 
| 12 | 
            +
                  self.payment_state = payment_total > 0 ? "balance_due" : "pending"
         | 
| 13 | 
            +
                  self.payment_state = "failed" if payments.present? and payments.last.state == "failed"
         | 
| 14 | 
            +
                elsif payment_total > total
         | 
| 15 | 
            +
                  self.payment_state = "credit_owed"
         | 
| 16 | 
            +
                else
         | 
| 17 | 
            +
                  self.payment_state = "paid"
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                if old_payment_state = self.changed_attributes["payment_state"]
         | 
| 21 | 
            +
                  self.state_events.create({
         | 
| 22 | 
            +
                    :previous_state => old_payment_state,
         | 
| 23 | 
            +
                    :next_state     => self.payment_state,
         | 
| 24 | 
            +
                    :name           => "payment" ,
         | 
| 25 | 
            +
                    :user_id        =>  (User.respond_to?(:current) && User.current && User.current.id) || self.user_id
         | 
| 26 | 
            +
                  })
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            Уважаемый Покупатель!
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Ваш заказ <%= @order.number %> был ОТМЕНЕН. Пожалуйста, ознакомьтесь и сохраните следующую информацию по Вашему заказу.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ============================================================
         | 
| 6 | 
            +
            Сводка по заказу <%= @order.number %> [ОТМЕНЕН]
         | 
| 7 | 
            +
            ============================================================
         | 
| 8 | 
            +
            <% for item in @order.line_items %>
         | 
| 9 | 
            +
            <%=item.variant.sku %> <%=item.variant.product.name%> <%= variant_options(item.variant) %> (<%=item.quantity%>) @ <%= number_to_currency item.price %> = <%= number_to_currency(item.price * item.quantity) %>
         | 
| 10 | 
            +
            <% end %>
         | 
| 11 | 
            +
            ============================================================
         | 
| 12 | 
            +
            Стоимость товаров: <%= number_to_currency @order.item_total %>
         | 
| 13 | 
            +
            <% @order.adjustments.each do |adjustment| %>
         | 
| 14 | 
            +
            <%= "#{adjustment.label}: #{number_to_currency adjustment.amount}"%>
         | 
| 15 | 
            +
            <% end %>
         | 
| 16 | 
            +
            Итого заказ: <%= number_to_currency @order.total %>
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            Уважаемый Покупатель!
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Пожалуйста, ознакомьтесь и сохраните следующую информацию по Вашему заказу.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ============================================================
         | 
| 6 | 
            +
            Сводка по заказу <%= @order.number %>
         | 
| 7 | 
            +
            ============================================================
         | 
| 8 | 
            +
            <% for item in @order.line_items %>
         | 
| 9 | 
            +
            <%=item.variant.sku %> <%=item.variant.product.name%> <%= variant_options(item.variant) %> (<%=item.quantity%>) @ <%= number_to_currency item.price %> = <%= number_to_currency(item.price * item.quantity) %>
         | 
| 10 | 
            +
            <% end %>
         | 
| 11 | 
            +
            ============================================================
         | 
| 12 | 
            +
            Стоимость товаров: <%= number_to_currency @order.item_total %>
         | 
| 13 | 
            +
            <% @order.adjustments.each do |adjustment| %>
         | 
| 14 | 
            +
            <%= "#{adjustment.label}: #{number_to_currency adjustment.amount}"%>
         | 
| 15 | 
            +
            <% end %>
         | 
| 16 | 
            +
            Итого заказ: <%= number_to_currency @order.total %>
         | 
| 17 | 
            +
             | 
| 18 | 
            +
             | 
| 19 | 
            +
            Мы благодарим вас за совершение покупки в нашем магазине!
         | 
| @@ -0,0 +1,16 @@ | |
| 1 | 
            +
            Уважаемый Покупатель!
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Ваш заказ <%= @shipment.order.number %> был успешно отправлен выбранным вами способом доставки.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ============================================================
         | 
| 6 | 
            +
            Состав посылки
         | 
| 7 | 
            +
            ============================================================
         | 
| 8 | 
            +
            <% for item in @shipment.line_items %>
         | 
| 9 | 
            +
            <%=item.variant.sku %> <%=item.variant.product.name%> <%= variant_options(item.variant) %> (<%=item.quantity%>)
         | 
| 10 | 
            +
            <% end %>
         | 
| 11 | 
            +
            ============================================================
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            <%= "Номер накладной для отслеживания: #{@shipment.tracking}" if @shipment.tracking %>
         | 
| 14 | 
            +
             | 
| 15 | 
            +
             | 
| 16 | 
            +
            Мы благодарим вас за совершение покупки в нашем магазине!
         | 
    
        data/lib/synergy.rb
    CHANGED
    
    | @@ -23,6 +23,8 @@ module Synergy | |
| 23 23 | 
             
                    Spree::Config.set(:default_country_id => 168)
         | 
| 24 24 | 
             
                    Spree::Config.set(:allow_ssl_in_production => false)
         | 
| 25 25 | 
             
                    Spree::Config.set(:disable_bill_address => true)
         | 
| 26 | 
            +
                    checkout_zone = Zone.first
         | 
| 27 | 
            +
                    Spree::Config.set(:checkout_zone => checkout_zone.name) if checkout_zone
         | 
| 26 28 | 
             
                  end
         | 
| 27 29 |  | 
| 28 30 | 
             
                  ADDRESS_FIELDS.clear << ["lastname", "firstname", "secondname", "country", "state", "city", "zipcode", "address1", "phone"]
         | 
| @@ -1,15 +1,36 @@ | |
| 1 1 | 
             
            fields = {
         | 
| 2 2 | 
             
               product_available_on: "Укажите, начиная с какой даты товар станет<br />доступен в публичной части магазина.",
         | 
| 3 | 
            -
               product_permalink: " | 
| 3 | 
            +
               product_permalink: "Часть URL, по которой данный товар<br />будет доступен (постоянная ссылка, SEO-атрибут).",
         | 
| 4 4 | 
             
               product_prototype_id: "Заранее определенный набор свойств товара.<br />Позволяет существенно сэкономить время при<br />добавлении товаров с одинаковыми наборами свойств.<br />Прототипы задаются в меню \"Товары\" – \"Прототипы\"",
         | 
| 5 5 | 
             
               product_price: "Дробная часть отделяется точкой.",
         | 
| 6 | 
            -
               product_shipping_category_id: "Набор способов доставки, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Способы доставки\" | 
| 7 | 
            -
               product_tax_category_id: "Набор налоговых ставок, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Налоговые ставки\" | 
| 6 | 
            +
               product_shipping_category_id: "Набор способов доставки, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Способы доставки\" – \"Категории доставки\"",
         | 
| 7 | 
            +
               product_tax_category_id: "Набор налоговых ставок, применимых к данному товару.<br />Определяется в меню \"Конфигурация\" –<br />\"Налоговые ставки\" – \"Категории налогов\"",
         | 
| 8 8 | 
             
               option_type_name: "Для внутреннего использования в административном интерфейсе.",
         | 
| 9 9 | 
             
               option_type_presentation: "Для отображения в магазине.",
         | 
| 10 10 | 
             
               property_name: "Для внутреннего использования в административном интерфейсе.",
         | 
| 11 11 | 
             
               property_presentation: "Для отображения в магазине.",
         | 
| 12 | 
            -
               prototype_name: "Для внутреннего использования в административном интерфейсе.<br />Старайтесь, чтобы название прототипа отражало товар, к которому<br />он будет применяться."
         | 
| 12 | 
            +
               prototype_name: "Для внутреннего использования в административном интерфейсе.<br />Старайтесь, чтобы название прототипа отражало товар, к которому<br />он будет применяться.",
         | 
| 13 | 
            +
               product_group_name: "Для внутреннего использования в административном интерфейсе.",
         | 
| 14 | 
            +
               product_group_order_scope: "Порядок, в котором товары данной группы<br />будут отображаться в магазине.",
         | 
| 15 | 
            +
               preferences_site_name: "Отображается в title всех страниц, а также<br />в теме email-уведомлений пользователям и т.п.",
         | 
| 16 | 
            +
               preferences_default_seo_title: "Добавляется к названию магазина в<br />title главной и текстовых страниц.",
         | 
| 17 | 
            +
               adjustment_amount: "Чтобы сделать скидку, установите отрицательное значение.",
         | 
| 18 | 
            +
               zone_name: "Для внутреннего использования в административном интерфейсе.",
         | 
| 19 | 
            +
               zone_description: "Для отображения в магазине.",
         | 
| 20 | 
            +
               payment_method_name: "Для отображения в магазине.",
         | 
| 21 | 
            +
               payment_method_description: "Дополнительное описание, показывается покупателю<br />на шаге выбора способа оплаты.",
         | 
| 22 | 
            +
               payment_method_display_on: "Везде: способ будет доступен как покупателю, так и администратору.<br />В публичном интерфейсе: способ будет доступен только покупателю.<br />В административном интерфейсе: способ будет доступен только администратору при редактировании заказа вручную.",
         | 
| 23 | 
            +
               taxonomy_name: "Для отображения в магазине.",   
         | 
| 24 | 
            +
               'calc-type': "Правило расчета стоимости доставки.",
         | 
| 25 | 
            +
               shipping_method_display_on: "Везде: способ будет доступен как покупателю, так и администратору.<br />В публичном интерфейсе: способ будет доступен только покупателю.<br />В административном интерфейсе: способ будет доступен только администратору при редактировании заказа вручную.",
         | 
| 26 | 
            +
               shipping_method_name: "Для отображения в магазине.",
         | 
| 27 | 
            +
               promotion_name: "Для отображения в магазине.",
         | 
| 28 | 
            +
               promotion_usage_limit: "Максимальное число использований данной акции.",
         | 
| 29 | 
            +
               page_slug: "Часть URL, по которой данная страница<br />будет доступна (постоянная ссылка, SEO-атрибут).",
         | 
| 30 | 
            +
               page_position: "Порядок отображения страницы относительно других страниц в одном меню.",
         | 
| 31 | 
            +
               page_layout: "Название макета для страниц с нестандартным макетом.",
         | 
| 32 | 
            +
               page_visible: "Если включено, страница будет видна покупателям.",
         | 
| 33 | 
            +
               page_foreign_link: "Если задано, данная ссылка меню будет вести на внешний сайт.<br />Например: http://www.example.com/index.php?from=synergy"
         | 
| 13 34 | 
             
            }
         | 
| 14 35 |  | 
| 15 36 | 
             
            function register_help() {
         | 
    
        data/synergy.gemspec
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            Gem::Specification.new do |s|
         | 
| 2 2 | 
             
              s.platform    = Gem::Platform::RUBY
         | 
| 3 3 | 
             
              s.name        = 'synergy'
         | 
| 4 | 
            -
              s.version     = '0.50.0. | 
| 4 | 
            +
              s.version     = '0.50.0.rc2'
         | 
| 5 5 | 
             
              s.summary     = 'Russian e-commerce solution based on Spree'
         | 
| 6 6 | 
             
              #s.description = 'Add (optional) gem description here'
         | 
| 7 7 | 
             
              s.required_ruby_version = '>= 1.8.7'
         | 
| @@ -19,7 +19,7 @@ Gem::Specification.new do |s| | |
| 19 19 | 
             
              s.add_dependency('russian', '0.2.7')
         | 
| 20 20 | 
             
              s.add_dependency('json', '1.5.1')
         | 
| 21 21 | 
             
              s.add_dependency('nokogiri', '1.4.4')
         | 
| 22 | 
            -
              s.add_dependency('spree', ' | 
| 22 | 
            +
              s.add_dependency('spree', '>= 0.50.2')
         | 
| 23 23 | 
             
              s.add_dependency('spree_static_content', '~> 0.40.2')
         | 
| 24 24 | 
             
              s.add_dependency('spree_editor', '~> 0.50.0')
         | 
| 25 25 | 
             
              s.add_dependency('spree_robokassa', '~> 0.50.0')
         | 
    
        metadata
    CHANGED
    
    | @@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version | |
| 6 6 | 
             
              - 0
         | 
| 7 7 | 
             
              - 50
         | 
| 8 8 | 
             
              - 0
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.50.0. | 
| 9 | 
            +
              - rc2
         | 
| 10 | 
            +
              version: 0.50.0.rc2
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Roman Smirnov
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2011-05- | 
| 18 | 
            +
            date: 2011-05-06 00:00:00 +04:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -65,7 +65,7 @@ dependencies: | |
| 65 65 | 
             
              prerelease: false
         | 
| 66 66 | 
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 67 67 | 
             
                requirements: 
         | 
| 68 | 
            -
                - -  | 
| 68 | 
            +
                - - ">="
         | 
| 69 69 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 70 70 | 
             
                    segments: 
         | 
| 71 71 | 
             
                    - 0
         | 
| @@ -188,10 +188,14 @@ files: | |
| 188 188 | 
             
            - app/controllers/admin/products_controller_decorator.rb
         | 
| 189 189 | 
             
            - app/controllers/checkout_controller_decorator.rb
         | 
| 190 190 | 
             
            - app/models/calculator/cash_on_delivery.rb
         | 
| 191 | 
            +
            - app/models/order_decorator.rb
         | 
| 191 192 | 
             
            - app/models/taxon_decorator.rb
         | 
| 192 193 | 
             
            - app/views/admin/overview/index.html.erb
         | 
| 193 194 | 
             
            - app/views/admin/products/index.html.erb
         | 
| 195 | 
            +
            - app/views/order_mailer/cancel_email.text.erb
         | 
| 196 | 
            +
            - app/views/order_mailer/confirm_email.text.erb
         | 
| 194 197 | 
             
            - app/views/shared/_filters.html.erb
         | 
| 198 | 
            +
            - app/views/shipment_mailer/shipped_email.text.erb
         | 
| 195 199 | 
             
            - config/initializers/secoint.rb
         | 
| 196 200 | 
             
            - config/locales/affiliate_ru.yml
         | 
| 197 201 | 
             
            - config/locales/devise.ru.yml
         |