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
|