spree 0.10.0.beta → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of spree might be problematic. Click here for more details.
- data/README.markdown +36 -30
- data/app/controllers/admin/option_types_controller.rb +1 -1
- data/app/controllers/admin/payments_controller.rb +1 -1
- data/app/controllers/admin/products_controller.rb +4 -4
- data/app/controllers/admin/variants_controller.rb +2 -2
- data/app/controllers/checkouts_controller.rb +5 -11
- data/app/controllers/orders_controller.rb +10 -0
- data/app/controllers/user_sessions_controller.rb +16 -0
- data/app/models/product.rb +2 -1
- data/app/models/variant.rb +1 -1
- data/config/boot.rb +6 -6
- data/config/environment.rb +1 -1
- data/config/locales/cs-CZ.yml +12 -2
- data/config/locales/da.yml +12 -2
- data/config/locales/de-CH.yml +12 -2
- data/config/locales/de.yml +12 -2
- data/config/locales/en-AU.yml +12 -2
- data/config/locales/en-GB.yml +12 -2
- data/config/locales/en-US.yml +12 -2
- data/config/locales/es.yml +12 -2
- data/config/locales/fi.yml +12 -2
- data/config/locales/fr-FR.yml +12 -2
- data/config/locales/il.yml +12 -2
- data/config/locales/it.yml +12 -2
- data/config/locales/jp.yml +12 -2
- data/config/locales/mx.yml +12 -2
- data/config/locales/nb-NO.yml +12 -2
- data/config/locales/nl-BE.yml +12 -2
- data/config/locales/nl-NL.yml +12 -2
- data/config/locales/pl.yml +12 -2
- data/config/locales/pt-BR.yml +12 -2
- data/config/locales/pt-PT.yml +12 -2
- data/config/locales/ru-RU.yml +12 -2
- data/config/locales/th.yml +12 -2
- data/config/locales/vn.yml +12 -2
- data/db/migrate/20091021133257_charge_refactoring.rb +2 -2
- data/db/migrate/20100105132138_shipment_id_for_inventory_units.rb +4 -0
- data/db/schema.rb +1 -1
- data/lib/spree.rb +1 -1
- data/test/functional/admin/payments_controller_test.rb +7 -1
- data/test/integration/checkout_test.rb +59 -0
- data/test/test_helper.rb +1 -0
- data/test/unit/creditcard_test.rb +6 -0
- data/vendor/extensions/localization/app/controllers/locale_controller.rb +4 -1
- data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +1 -0
- data/vendor/extensions/theme_default/app/views/admin/option_types/selected.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/orders/edit.html.erb +1 -0
- data/vendor/extensions/theme_default/app/views/admin/orders/new.html.erb +1 -0
- data/vendor/extensions/theme_default/app/views/admin/payments/_form.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/payments/source_forms/_gateway.html.erb +2 -2
- data/vendor/extensions/theme_default/app/views/admin/products/_option_types.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/shipments/edit.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/shipments/index.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/states/_state_list.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/tax_categories/index.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/admin/zones/index.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/checkouts/_payment.html.erb +7 -11
- data/vendor/extensions/theme_default/app/views/checkouts/_summary.html.erb +9 -6
- data/vendor/extensions/theme_default/app/views/layouts/spree_application.html.erb +1 -1
- data/vendor/extensions/theme_default/app/views/shared/_login.html.erb +0 -1
- data/vendor/extensions/theme_default/app/views/users/_openid_identifier.html.erb +0 -1
- data/vendor/extensions/theme_default/public/javascripts/admin/orders/edit.js +1 -1
- data/vendor/extensions/theme_default/theme_default_extension.rb +0 -16
- data/vendor/plugins/resource_controller/lib/resource_controller/controller.rb +3 -3
- metadata +8 -9
data/README.markdown
CHANGED
@@ -5,42 +5,24 @@ Spree is a complete open source commerce solution for Ruby on Rails.
|
|
5
5
|
It was developed by Sean Schofield under the original name of Rails
|
6
6
|
Cart before changing its name to Spree.
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
Running from sources (latest and greatest features)
|
12
|
-
---------------------------------------------------
|
13
|
-
|
14
|
-
1. Clone the git repo
|
15
|
-
|
16
|
-
git clone git://github.com/railsdog/spree.git spree
|
8
|
+
Refer to the [Spree ecommerce project page](http://spreecommerce.com)
|
9
|
+
to learn more.
|
17
10
|
|
18
|
-
2. Create the necessary config/database.yml file
|
19
|
-
|
20
|
-
3. Install the gem dependencies
|
21
11
|
|
22
|
-
|
23
|
-
|
24
|
-
4. Bootstrap the database (run the migrations, create admin account, optionally load sample data.)
|
25
|
-
|
26
|
-
rake db:bootstrap
|
27
|
-
|
28
|
-
5. Start the server
|
29
|
-
|
30
|
-
script/server
|
12
|
+
QUICK START
|
13
|
+
===========
|
31
14
|
|
32
15
|
Running the Gem
|
33
16
|
---------------
|
34
17
|
|
35
|
-
1. Install spree Gem
|
36
|
-
|
37
|
-
sudo gem install spree
|
18
|
+
1. Install spree Gem (can take a while to install missing gem dependencies)
|
38
19
|
|
39
|
-
|
20
|
+
(sudo) gem install spree
|
40
21
|
|
41
|
-
2. Create Spree Application
|
22
|
+
2. Create Spree Application
|
42
23
|
|
43
24
|
spree <app_name>
|
25
|
+
cd <app-name>
|
44
26
|
|
45
27
|
3. Create your database and edit the _config/database.yml_ to taste.
|
46
28
|
|
@@ -50,21 +32,45 @@ Running the Gem
|
|
50
32
|
|
51
33
|
4. Bootstrap
|
52
34
|
|
53
|
-
cd <app-name>
|
54
35
|
rake db:bootstrap
|
55
36
|
|
56
37
|
5. Launch Application
|
57
38
|
|
58
39
|
script/server
|
59
40
|
|
41
|
+
|
60
42
|
Browse Store
|
61
43
|
------------
|
62
44
|
|
63
|
-
http://localhost:
|
45
|
+
http://localhost:nnnn/store
|
64
46
|
|
65
47
|
Browse Admin Interface
|
66
48
|
----------------------
|
67
49
|
|
68
|
-
http://localhost:
|
50
|
+
http://localhost:nnnn/admin
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
Running from edge sources (latest and greatest features)
|
55
|
+
--------------------------------------------------------
|
56
|
+
|
57
|
+
1. Clone the git repo
|
58
|
+
|
59
|
+
git clone git://github.com/railsdog/spree.git spree
|
60
|
+
cd spree
|
61
|
+
|
62
|
+
2. Create the necessary config/database.yml file
|
63
|
+
|
64
|
+
3. Install the gem dependencies
|
65
|
+
|
66
|
+
(sudo) rake gems:install
|
67
|
+
|
68
|
+
4. Bootstrap the database (run the migrations, create admin account, optionally load sample data.)
|
69
|
+
|
70
|
+
rake db:bootstrap
|
71
|
+
|
72
|
+
5. Start the server
|
73
|
+
|
74
|
+
script/server
|
75
|
+
|
69
76
|
|
70
|
-
Refer to the [Spree ecommerce project page](http://spreecommerce.com) to learn more about spree.
|
@@ -16,7 +16,7 @@ class Admin::OptionTypesController < Admin::BaseController
|
|
16
16
|
def remove
|
17
17
|
@product.option_types.delete(@option_type)
|
18
18
|
@product.save
|
19
|
-
flash[:notice] = "
|
19
|
+
flash[:notice] = I18n.t("notice_messages.option_type_removed")
|
20
20
|
redirect_to selected_admin_product_option_types_url(@product)
|
21
21
|
end
|
22
22
|
|
@@ -95,7 +95,7 @@ class Admin::PaymentsController < Admin::BaseController
|
|
95
95
|
@object = model.new(object_params)
|
96
96
|
@object.payable = parent_object.checkout
|
97
97
|
@payment = @object
|
98
|
-
if
|
98
|
+
if @object.payment_method.is_a?(Gateway) and @object.payment_method.payment_profiles_supported? and params[:card].present? and params[:card] != 'new'
|
99
99
|
@object.source = Creditcard.find_by_id(params[:card])
|
100
100
|
end
|
101
101
|
@object
|
@@ -38,9 +38,9 @@ class Admin::ProductsController < Admin::BaseController
|
|
38
38
|
end
|
39
39
|
|
40
40
|
if @product.save
|
41
|
-
flash[:notice] = "
|
41
|
+
flash[:notice] = I18n.t("notice_messages.product_deleted")
|
42
42
|
else
|
43
|
-
flash[:notice] = "
|
43
|
+
flash[:notice] = I18n.t("notice_messages.product_not_deleted")
|
44
44
|
end
|
45
45
|
|
46
46
|
respond_to do |format|
|
@@ -54,9 +54,9 @@ class Admin::ProductsController < Admin::BaseController
|
|
54
54
|
@new = @product.duplicate
|
55
55
|
|
56
56
|
if @new.save
|
57
|
-
flash[:notice] = "
|
57
|
+
flash[:notice] = I18n.t("notice_messages.product_cloned")
|
58
58
|
else
|
59
|
-
flash[:notice] = "
|
59
|
+
flash[:notice] = I18n.t("notice_messages.product_not_cloned")
|
60
60
|
end
|
61
61
|
|
62
62
|
redirect_to edit_admin_product_url(@new)
|
@@ -25,9 +25,9 @@ class Admin::VariantsController < Admin::BaseController
|
|
25
25
|
|
26
26
|
@variant.deleted_at = Time.now()
|
27
27
|
if @variant.save
|
28
|
-
flash[:notice] = "
|
28
|
+
flash[:notice] = I18n.t("notice_messages.variant_deleted")
|
29
29
|
else
|
30
|
-
flash[:notice] = "
|
30
|
+
flash[:notice] = I18n.t("notice_messages.variant_not_deleted")
|
31
31
|
end
|
32
32
|
|
33
33
|
respond_to do |format|
|
@@ -17,7 +17,7 @@ class CheckoutsController < Spree::BaseController
|
|
17
17
|
# GET /checkout is invalid but we'll assume a bookmark or user error and just redirect to edit (assuming checkout is still in progress)
|
18
18
|
show.wants.html { redirect_to edit_object_url }
|
19
19
|
|
20
|
-
edit.before :edit_hooks
|
20
|
+
edit.before :edit_hooks
|
21
21
|
delivery.edit_hook :load_available_methods
|
22
22
|
address.edit_hook :set_ip_address
|
23
23
|
payment.edit_hook :load_available_payment_methods
|
@@ -30,7 +30,8 @@ class CheckoutsController < Spree::BaseController
|
|
30
30
|
# call the edit hooks for the current step in case we experience validation failure and need to edit again
|
31
31
|
edit_hooks
|
32
32
|
@checkout.enable_validation_group(@checkout.state.to_sym)
|
33
|
-
|
33
|
+
@prev_state = @checkout.state
|
34
|
+
|
34
35
|
before :update
|
35
36
|
|
36
37
|
begin
|
@@ -77,7 +78,7 @@ class CheckoutsController < Spree::BaseController
|
|
77
78
|
def object_params
|
78
79
|
# For payment step, filter checkout parameters to produce the expected nested attributes for a single payment and its source, discarding attributes for payment methods other than the one selected
|
79
80
|
if object.payment?
|
80
|
-
if source_params = params.delete(:payment_source)[params[:checkout][:payments_attributes].first[:payment_method_id].underscore]
|
81
|
+
if params[:payment_source].present? && source_params = params.delete(:payment_source)[params[:checkout][:payments_attributes].first[:payment_method_id].underscore]
|
81
82
|
params[:checkout][:payments_attributes].first[:source_attributes] = source_params
|
82
83
|
end
|
83
84
|
params[:checkout][:payments_attributes].first[:amount] = @order.total
|
@@ -98,7 +99,7 @@ class CheckoutsController < Spree::BaseController
|
|
98
99
|
complete_order
|
99
100
|
order_params = {:checkout_complete => true}
|
100
101
|
session[:order_id] = nil
|
101
|
-
flash[:commerce_tracking] = "
|
102
|
+
flash[:commerce_tracking] = I18n.t("notice_messages.track_me_in_GA")
|
102
103
|
redirect_to order_url(@order, {:checkout_complete => true, :order_token => @order.token})
|
103
104
|
end
|
104
105
|
|
@@ -206,13 +207,6 @@ class CheckoutsController < Spree::BaseController
|
|
206
207
|
redirect_to register_order_checkout_url(parent_object)
|
207
208
|
end
|
208
209
|
|
209
|
-
def set_user
|
210
|
-
if object.order.user.nil? && current_user
|
211
|
-
object.order.user = current_user
|
212
|
-
object.order.save
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
210
|
def accurate_title
|
217
211
|
I18n.t(:checkout)
|
218
212
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
class OrdersController < Spree::BaseController
|
2
2
|
prepend_before_filter :reject_unknown_object, :only => [:show, :edit, :update, :checkout]
|
3
3
|
before_filter :prevent_editing_complete_order, :only => [:edit, :update, :checkout]
|
4
|
+
before_filter :set_user
|
4
5
|
|
5
6
|
ssl_required :show
|
6
7
|
|
@@ -76,6 +77,15 @@ class OrdersController < Spree::BaseController
|
|
76
77
|
redirect_to object_url if @order.checkout_complete
|
77
78
|
end
|
78
79
|
|
80
|
+
def set_user
|
81
|
+
if @order && @order.user != current_user
|
82
|
+
if @order.checkout
|
83
|
+
@order.checkout.update_attribute(:email, current_user && current_user.email)
|
84
|
+
end
|
85
|
+
@order.update_attribute(:user, current_user)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
79
89
|
def accurate_title
|
80
90
|
I18n.t(:shopping_cart)
|
81
91
|
end
|
@@ -23,6 +23,7 @@ class UserSessionsController < Spree::BaseController
|
|
23
23
|
|
24
24
|
def destroy
|
25
25
|
current_user_session.destroy
|
26
|
+
session.clear
|
26
27
|
flash[:notice] = t("logged_out")
|
27
28
|
redirect_to products_path
|
28
29
|
end
|
@@ -46,6 +47,21 @@ class UserSessionsController < Spree::BaseController
|
|
46
47
|
@user_session = UserSession.new(data)
|
47
48
|
@user_session.save do |result|
|
48
49
|
if result
|
50
|
+
# Should restore last uncompleted order and add current(guest) order to it, if exists.
|
51
|
+
order = @user_session.record.orders.last(:conditions => {:completed_at => nil})
|
52
|
+
if order
|
53
|
+
if (session[:order_token] && guest_order = Order.find_by_token(session[:order_token]))
|
54
|
+
guest_order.line_items.each do |line_item|
|
55
|
+
order.add_variant(line_item.variant, line_item.quantity)
|
56
|
+
end
|
57
|
+
order.save
|
58
|
+
session[:return_to].gsub!(guest_order.number, order.number) if session[:return_to]
|
59
|
+
guest_order.destroy
|
60
|
+
end
|
61
|
+
session[:order_token] = order.token
|
62
|
+
session[:order_id] = order.id
|
63
|
+
end
|
64
|
+
|
49
65
|
respond_to do |format|
|
50
66
|
format.html {
|
51
67
|
flash[:notice] = t("logged_in_succesfully") unless session[:return_to]
|
data/app/models/product.rb
CHANGED
@@ -33,7 +33,8 @@ class Product < ActiveRecord::Base
|
|
33
33
|
:class_name => 'Variant',
|
34
34
|
:conditions => ["variants.is_master = ? AND variants.deleted_at IS NULL", true]
|
35
35
|
|
36
|
-
delegate_belongs_to :master, :sku, :price, :weight, :height, :width, :depth, :is_master
|
36
|
+
delegate_belongs_to :master, :sku, :price, :weight, :height, :width, :depth, :is_master
|
37
|
+
delegate_belongs_to :master, :cost_price if Variant.column_names.include? "cost_price"
|
37
38
|
|
38
39
|
after_create :set_master_variant_defaults
|
39
40
|
after_create :add_properties_and_option_types_from_prototype
|
data/app/models/variant.rb
CHANGED
@@ -9,7 +9,7 @@ class Variant < ActiveRecord::Base
|
|
9
9
|
|
10
10
|
validate :check_price
|
11
11
|
validates_presence_of :price
|
12
|
-
validates_numericality_of :cost_price, :allow_nil => true
|
12
|
+
validates_numericality_of :cost_price, :allow_nil => true if Variant.column_names.include? "cost_price"
|
13
13
|
|
14
14
|
before_save :touch_product
|
15
15
|
|
data/config/boot.rb
CHANGED
@@ -37,17 +37,17 @@ module Spree
|
|
37
37
|
def load_rubygems
|
38
38
|
require 'rubygems'
|
39
39
|
|
40
|
+
unless rubygems_version >= '1.3.5'
|
41
|
+
$stderr.puts %(Spree requires RubyGems >= 1.3.5 (you have #{rubygems_version}). Please `gem update --system` and try again.)
|
42
|
+
exit 1
|
43
|
+
end
|
44
|
+
|
40
45
|
# Temporary workaround for annoying RubyGems warning. This can be removed once Rails 2.3.6 is released.
|
41
46
|
# See http://railsdog.lighthouseapp.com/projects/31096-spree/tickets/1209
|
42
47
|
Gem::Dependency.warned_version_requirement = true
|
43
48
|
|
44
|
-
unless rubygems_version >= '1.3.6'
|
45
|
-
$stderr.puts %(Spree requires RubyGems >= 1.3.6 (you have #{rubygems_version}). Please `gem update --system` and try again.)
|
46
|
-
exit 1
|
47
|
-
end
|
48
|
-
|
49
49
|
rescue LoadError
|
50
|
-
$stderr.puts %(Spree requires RubyGems >= 1.3.
|
50
|
+
$stderr.puts %(Spree requires RubyGems >= 1.3.5. Please install RubyGems and try again: http://rubygems.rubyforge.org)
|
51
51
|
exit 1
|
52
52
|
end
|
53
53
|
|
data/config/environment.rb
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# ENV['RAILS_ENV'] ||= 'production'
|
6
6
|
|
7
7
|
# Specifies gem version of Rails to use when vendor/rails is not present
|
8
|
-
SPREE_GEM_VERSION = '0.10.0
|
8
|
+
SPREE_GEM_VERSION = '0.10.0' unless defined? SPREE_GEM_VERSION
|
9
9
|
|
10
10
|
# Bootstrap the Rails environment, frameworks, and default configuration
|
11
11
|
require File.join(File.dirname(__FILE__), 'boot')
|
data/config/locales/cs-CZ.yml
CHANGED
@@ -515,6 +515,15 @@ cs-CZ:
|
|
515
515
|
none_available: "Žádný dostupný"
|
516
516
|
not: ne
|
517
517
|
note: "Poznámka"
|
518
|
+
notice_messages:
|
519
|
+
option_type_removed: "Succesfully removed option type."
|
520
|
+
product_cloned: "Product has been cloned"
|
521
|
+
product_deleted: "Product has been deleted"
|
522
|
+
product_not_cloned: "Product could not be cloned"
|
523
|
+
product_not_deleted: "Product could not be deleted"
|
524
|
+
track_me_in_GA: "Track Me in GA"
|
525
|
+
variant_deleted: "Variant has been deleted"
|
526
|
+
variant_not_deleted: "Variant could not be deleted"
|
518
527
|
on_hand: "Dostupný"
|
519
528
|
operation: Operace
|
520
529
|
option_Values: "Hodnoty volby"
|
@@ -609,12 +618,12 @@ cs-CZ:
|
|
609
618
|
name: "Vzestupně podle názvu výrobku"
|
610
619
|
ascend_by_updated_at:
|
611
620
|
name: "Vzestupně podle data poslední změny"
|
612
|
-
descend_by_popularity:
|
613
|
-
name: "Řadit podle popularity, nejvíce populární na začátek"
|
614
621
|
descend_by_master_price:
|
615
622
|
name: "Sestupně podle základní ceny"
|
616
623
|
descend_by_name:
|
617
624
|
name: "Sestupně podle názvu výrobku"
|
625
|
+
descend_by_popularity:
|
626
|
+
name: "Řadit podle popularity, nejvíce populární na začátek"
|
618
627
|
descend_by_updated_at:
|
619
628
|
name: "Sestupně podle data poslední změny"
|
620
629
|
in_name:
|
@@ -882,6 +891,7 @@ cs-CZ:
|
|
882
891
|
use_as_shipping_address: "Použít jako doručovací adresu"
|
883
892
|
use_billing_address: "Použít fakturační adresu"
|
884
893
|
use_different_shipping_address: "Použít jinou doručovací adresu"
|
894
|
+
use_new_cc: "Use a new card"
|
885
895
|
user: "Uživatel"
|
886
896
|
user_account: "Uživatelský účet"
|
887
897
|
user_created_successfully: "Uživatel byl úspěšně vytvořen"
|
data/config/locales/da.yml
CHANGED
@@ -515,6 +515,15 @@ da:
|
|
515
515
|
none_available: "None Available"
|
516
516
|
not: not
|
517
517
|
note: Note
|
518
|
+
notice_messages:
|
519
|
+
option_type_removed: "Succesfully removed option type."
|
520
|
+
product_cloned: "Product has been cloned"
|
521
|
+
product_deleted: "Product has been deleted"
|
522
|
+
product_not_cloned: "Product could not be cloned"
|
523
|
+
product_not_deleted: "Product could not be deleted"
|
524
|
+
track_me_in_GA: "Track Me in GA"
|
525
|
+
variant_deleted: "Variant has been deleted"
|
526
|
+
variant_not_deleted: "Variant could not be deleted"
|
518
527
|
on_hand: "On Hand"
|
519
528
|
operation: Operation
|
520
529
|
option_Values: "Option Values"
|
@@ -609,12 +618,12 @@ da:
|
|
609
618
|
name: Ascend by product name
|
610
619
|
ascend_by_updated_at:
|
611
620
|
name: Ascend by actualization date
|
612
|
-
descend_by_popularity:
|
613
|
-
name: Sort by popularity(most popular first)
|
614
621
|
descend_by_master_price:
|
615
622
|
name: Descend by product master price
|
616
623
|
descend_by_name:
|
617
624
|
name: Descend by product name
|
625
|
+
descend_by_popularity:
|
626
|
+
name: Sort by popularity(most popular first)
|
618
627
|
descend_by_updated_at:
|
619
628
|
name: Descend by actualization date
|
620
629
|
in_name:
|
@@ -882,6 +891,7 @@ da:
|
|
882
891
|
use_as_shipping_address: Use as Shipping Address
|
883
892
|
use_billing_address: Use Billing Address
|
884
893
|
use_different_shipping_address: "Use Different Shipping Address"
|
894
|
+
use_new_cc: "Use a new card"
|
885
895
|
user: User
|
886
896
|
user_account: User Account
|
887
897
|
user_created_successfully: "User created successfully"
|
data/config/locales/de-CH.yml
CHANGED
@@ -515,6 +515,15 @@ de-CH:
|
|
515
515
|
none_available: "keine verfügbar"
|
516
516
|
not: not
|
517
517
|
note: Note
|
518
|
+
notice_messages:
|
519
|
+
option_type_removed: "Succesfully removed option type."
|
520
|
+
product_cloned: "Product has been cloned"
|
521
|
+
product_deleted: "Product has been deleted"
|
522
|
+
product_not_cloned: "Product could not be cloned"
|
523
|
+
product_not_deleted: "Product could not be deleted"
|
524
|
+
track_me_in_GA: "Track Me in GA"
|
525
|
+
variant_deleted: "Variant has been deleted"
|
526
|
+
variant_not_deleted: "Variant could not be deleted"
|
518
527
|
on_hand: "Auf Lager"
|
519
528
|
operation: Operation
|
520
529
|
option_Values: "Optionswerte"
|
@@ -609,12 +618,12 @@ de-CH:
|
|
609
618
|
name: Ascend by product name
|
610
619
|
ascend_by_updated_at:
|
611
620
|
name: Ascend by actualization date
|
612
|
-
descend_by_popularity:
|
613
|
-
name: Sort by popularity(most popular first)
|
614
621
|
descend_by_master_price:
|
615
622
|
name: Descend by product master price
|
616
623
|
descend_by_name:
|
617
624
|
name: Descend by product name
|
625
|
+
descend_by_popularity:
|
626
|
+
name: Sort by popularity(most popular first)
|
618
627
|
descend_by_updated_at:
|
619
628
|
name: Descend by actualization date
|
620
629
|
in_name:
|
@@ -882,6 +891,7 @@ de-CH:
|
|
882
891
|
use_as_shipping_address: Use as Shipping Address
|
883
892
|
use_billing_address: Use Billing Address
|
884
893
|
use_different_shipping_address: "Andere Lieferaddresse verwenden"
|
894
|
+
use_new_cc: "Use a new card"
|
885
895
|
user: Benutzer
|
886
896
|
user_account: User Account
|
887
897
|
user_created_successfully: "User created successfully"
|
data/config/locales/de.yml
CHANGED
@@ -515,6 +515,15 @@ de:
|
|
515
515
|
none_available: "keine verfügbar"
|
516
516
|
not: not
|
517
517
|
note: Note
|
518
|
+
notice_messages:
|
519
|
+
option_type_removed: "Succesfully removed option type."
|
520
|
+
product_cloned: "Product has been cloned"
|
521
|
+
product_deleted: "Product has been deleted"
|
522
|
+
product_not_cloned: "Product could not be cloned"
|
523
|
+
product_not_deleted: "Product could not be deleted"
|
524
|
+
track_me_in_GA: "Track Me in GA"
|
525
|
+
variant_deleted: "Variant has been deleted"
|
526
|
+
variant_not_deleted: "Variant could not be deleted"
|
518
527
|
on_hand: "Auf Lager"
|
519
528
|
operation: Operation
|
520
529
|
option_Values: "Options Werte"
|
@@ -609,12 +618,12 @@ de:
|
|
609
618
|
name: "Aufsteigend nach Produktname"
|
610
619
|
ascend_by_updated_at:
|
611
620
|
name: "Aufsteigend nach Bearbeitungsdatum"
|
612
|
-
descend_by_popularity:
|
613
|
-
name: "Nach Beliebtheit sortieren (beliebteste zuerst)"
|
614
621
|
descend_by_master_price:
|
615
622
|
name: "Absteigend nach Grundpreis"
|
616
623
|
descend_by_name:
|
617
624
|
name: "Absteigend nach Produktname"
|
625
|
+
descend_by_popularity:
|
626
|
+
name: "Nach Beliebtheit sortieren (beliebteste zuerst)"
|
618
627
|
descend_by_updated_at:
|
619
628
|
name: "Absteigend nach Bearbeitungsdatum"
|
620
629
|
in_name:
|
@@ -882,6 +891,7 @@ de:
|
|
882
891
|
use_as_shipping_address: "Als Lieferadresse verwenden"
|
883
892
|
use_billing_address: "Rechnungsadresse verwenden"
|
884
893
|
use_different_shipping_address: "Andere Lieferaddresse verwenden"
|
894
|
+
use_new_cc: "Use a new card"
|
885
895
|
user: Benutzer
|
886
896
|
user_account: "Benutzerkonto"
|
887
897
|
user_created_successfully: "Benutzer erfolgreich angelegt"
|