synergy 0.50.0.rc1 → 0.50.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -7,9 +7,9 @@ Synergy
7
7
  Установка
8
8
  =========
9
9
 
10
- 1. Установите Rails 3.0.5
10
+ 1. Установите Rails 3.0.7
11
11
 
12
- gem install rails -v 3.0.5
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', :git => 'git://github.com/secoint/synergy.git'
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
+ Мы благодарим вас за совершение покупки в нашем магазине!
@@ -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: "Постоянная ссылка на товар (SEO-атрибут).",
3
+ product_permalink: "Часть URL, по которой данный товар<br />будет доступен (постоянная ссылка, SEO-атрибут).",
4
4
  product_prototype_id: "Заранее определенный набор свойств товара.<br />Позволяет существенно сэкономить время при<br />добавлении товаров с одинаковыми наборами свойств.<br />Прототипы задаются в меню \"Товары\"&nbsp;&ndash;&nbsp;\"Прототипы\"",
5
5
  product_price: "Дробная часть отделяется точкой.",
6
- product_shipping_category_id: "Набор способов доставки, применимых к данному товару.<br />Определяется в меню \"Конфигурация\"&nbsp;&ndash;<br />\"Способы доставки\"/\"Категории доставки\"",
7
- product_tax_category_id: "Набор налоговых ставок, применимых к данному товару.<br />Определяется в меню \"Конфигурация\"&nbsp;&ndash;<br />\"Налоговые ставки\"/\"Категории налогов\"",
6
+ product_shipping_category_id: "Набор способов доставки, применимых к данному товару.<br />Определяется в меню \"Конфигурация\"&nbsp;&ndash;<br />\"Способы доставки\" &ndash;&nbsp;\"Категории доставки\"",
7
+ product_tax_category_id: "Набор налоговых ставок, применимых к данному товару.<br />Определяется в меню \"Конфигурация\"&nbsp;&ndash;<br />\"Налоговые ставки\" &ndash;&nbsp;\"Категории налогов\"",
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() {
@@ -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.rc1'
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', '~> 0.50.2')
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
- - rc1
10
- version: 0.50.0.rc1
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-01 00:00:00 +04:00
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