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 +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
|