shoppe 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/shoppe/table-tear-off.png +0 -0
- data/app/assets/javascripts/shoppe/application.coffee +2 -2
- data/app/assets/stylesheets/shoppe/application.scss +80 -37
- data/app/assets/stylesheets/shoppe/elements.scss +1 -2
- data/app/controllers/shoppe/attachments_controller.rb +3 -3
- data/app/controllers/shoppe/countries_controller.rb +13 -13
- data/app/controllers/shoppe/delivery_service_prices_controller.rb +11 -11
- data/app/controllers/shoppe/delivery_services_controller.rb +13 -13
- data/app/controllers/shoppe/orders_controller.rb +20 -20
- data/app/controllers/shoppe/payments_controller.rb +8 -8
- data/app/controllers/shoppe/product_categories_controller.rb +13 -13
- data/app/controllers/shoppe/products_controller.rb +24 -13
- data/app/controllers/shoppe/sessions_controller.rb +7 -7
- data/app/controllers/shoppe/settings_controller.rb +6 -6
- data/app/controllers/shoppe/stock_level_adjustments_controller.rb +5 -5
- data/app/controllers/shoppe/tax_rates_controller.rb +13 -13
- data/app/controllers/shoppe/users_controller.rb +15 -15
- data/app/controllers/shoppe/variants_controller.rb +13 -13
- data/app/helpers/shoppe/application_helper.rb +12 -12
- data/app/models/shoppe/order/actions.rb +17 -3
- data/app/models/shoppe/order/billing.rb +18 -18
- data/app/models/shoppe/order/delivery.rb +30 -31
- data/app/models/shoppe/order_item.rb +33 -34
- data/app/models/shoppe/payment.rb +15 -15
- data/app/models/shoppe/product.rb +82 -21
- data/app/models/shoppe/product/variants.rb +10 -10
- data/app/models/shoppe/product_category.rb +7 -7
- data/app/models/shoppe/stock_level_adjustment.rb +6 -6
- data/app/validators/permalink_validator.rb +7 -0
- data/app/views/layouts/shoppe/application.html.haml +10 -20
- data/app/views/shoppe/countries/_form.html.haml +15 -11
- data/app/views/shoppe/countries/edit.html.haml +5 -4
- data/app/views/shoppe/countries/index.html.haml +9 -9
- data/app/views/shoppe/countries/new.html.haml +6 -4
- data/app/views/shoppe/delivery_service_prices/_form.html.haml +16 -16
- data/app/views/shoppe/delivery_service_prices/edit.html.haml +5 -4
- data/app/views/shoppe/delivery_service_prices/index.html.haml +8 -9
- data/app/views/shoppe/delivery_service_prices/new.html.haml +5 -4
- data/app/views/shoppe/delivery_services/_form.html.haml +15 -14
- data/app/views/shoppe/delivery_services/edit.html.haml +7 -5
- data/app/views/shoppe/delivery_services/index.html.haml +11 -12
- data/app/views/shoppe/delivery_services/new.html.haml +5 -4
- data/app/views/shoppe/orders/_form.html.haml +19 -19
- data/app/views/shoppe/orders/_order_details.html.haml +20 -15
- data/app/views/shoppe/orders/_order_items.html.haml +6 -6
- data/app/views/shoppe/orders/_order_items_form.html.haml +11 -11
- data/app/views/shoppe/orders/_payments_form.html.haml +4 -4
- data/app/views/shoppe/orders/_payments_table.html.haml +12 -12
- data/app/views/shoppe/orders/_search_form.html.haml +10 -10
- data/app/views/shoppe/orders/_status_bar.html.haml +17 -13
- data/app/views/shoppe/orders/despatch_note.html.haml +15 -15
- data/app/views/shoppe/orders/edit.html.haml +8 -8
- data/app/views/shoppe/orders/index.html.haml +12 -12
- data/app/views/shoppe/orders/new.html.haml +7 -7
- data/app/views/shoppe/orders/show.html.haml +9 -12
- data/app/views/shoppe/payments/refund.html.haml +6 -7
- data/app/views/shoppe/product_categories/_form.html.haml +9 -9
- data/app/views/shoppe/product_categories/edit.html.haml +4 -4
- data/app/views/shoppe/product_categories/index.html.haml +5 -5
- data/app/views/shoppe/product_categories/new.html.haml +4 -3
- data/app/views/shoppe/products/_form.html.haml +49 -50
- data/app/views/shoppe/products/_table.html.haml +10 -10
- data/app/views/shoppe/products/edit.html.haml +6 -6
- data/app/views/shoppe/products/import.html.haml +63 -0
- data/app/views/shoppe/products/index.html.haml +6 -4
- data/app/views/shoppe/products/new.html.haml +6 -4
- data/app/views/shoppe/sessions/new.html.haml +5 -5
- data/app/views/shoppe/sessions/reset.html.haml +6 -5
- data/app/views/shoppe/settings/edit.html.haml +5 -5
- data/app/views/shoppe/shared/error.html.haml +3 -3
- data/app/views/shoppe/stock_level_adjustments/index.html.haml +13 -12
- data/app/views/shoppe/tax_rates/form.html.haml +13 -13
- data/app/views/shoppe/tax_rates/index.html.haml +5 -5
- data/app/views/shoppe/users/_form.html.haml +10 -11
- data/app/views/shoppe/users/edit.html.haml +4 -4
- data/app/views/shoppe/users/index.html.haml +5 -5
- data/app/views/shoppe/users/new.html.haml +6 -4
- data/app/views/shoppe/variants/form.html.haml +27 -29
- data/app/views/shoppe/variants/index.html.haml +11 -11
- data/config/locales/en.yml +619 -14
- data/config/locales/es.yml +650 -0
- data/config/locales/pl.yml +650 -0
- data/config/locales/pt-BR.yml +643 -0
- data/config/routes.rb +16 -8
- data/db/migrate/20141026175622_add_indexes_to_shoppe_order_items.rb +6 -0
- data/db/migrate/20141026175943_add_indexes_to_shoppe_orders.rb +7 -0
- data/db/migrate/20141026180333_add_indexes_to_shoppe_payments.rb +6 -0
- data/db/migrate/20141026180835_add_indexes_to_shoppe_product_attributes.rb +7 -0
- data/db/migrate/20141026180952_add_indexes_to_shoppe_product_categories.rb +5 -0
- data/db/migrate/20141026181040_add_indexes_to_shoppe_products.rb +8 -0
- data/db/migrate/20141026181312_add_indexes_to_shoppe_settings.rb +5 -0
- data/db/migrate/20141026181354_add_indexes_to_shoppe_stock_level_adjustments.rb +6 -0
- data/db/migrate/20141026181559_add_indexes_to_shoppe_users.rb +5 -0
- data/db/migrate/20141026181716_add_indexes_to_shoppe_delivery_services.rb +9 -0
- data/db/schema.rb +36 -1
- data/lib/shoppe/engine.rb +6 -0
- data/lib/shoppe/navigation_manager.rb +1 -1
- data/lib/shoppe/version.rb +1 -1
- metadata +67 -5
@@ -1,18 +1,18 @@
|
|
1
1
|
module Shoppe
|
2
2
|
class Product < ActiveRecord::Base
|
3
|
-
|
3
|
+
|
4
4
|
# Validations
|
5
|
-
validate { errors.add :base,
|
6
|
-
|
5
|
+
validate { errors.add :base, :can_belong_to_root if self.parent && self.parent.parent }
|
6
|
+
|
7
7
|
# Variants of the product
|
8
8
|
has_many :variants, -> { order(:default => :desc, :name => :asc) }, :class_name => 'Shoppe::Product', :foreign_key => 'parent_id', :dependent => :destroy
|
9
|
-
|
9
|
+
|
10
10
|
# The parent product (only applies to variants)
|
11
11
|
belongs_to :parent, :class_name => 'Shoppe::Product', :foreign_key => 'parent_id'
|
12
|
-
|
12
|
+
|
13
13
|
# All products which are not variants
|
14
14
|
scope :root, -> { where(:parent_id => nil) }
|
15
|
-
|
15
|
+
|
16
16
|
# If a variant is created, the base product should be updated so that it doesn't have stock control enabled
|
17
17
|
after_save do
|
18
18
|
if self.parent
|
@@ -24,14 +24,14 @@ module Shoppe
|
|
24
24
|
self.parent.save if self.parent.changed?
|
25
25
|
end
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
# Does this product have any variants?
|
29
29
|
#
|
30
30
|
# @return [Boolean]
|
31
31
|
def has_variants?
|
32
32
|
!variants.empty?
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
# Returns the default variant for the product or nil if none exists.
|
36
36
|
#
|
37
37
|
# @return [Shoppe::Product]
|
@@ -39,13 +39,13 @@ module Shoppe
|
|
39
39
|
return nil if self.parent
|
40
40
|
@default_variant ||= self.variants.select { |v| v.default? }.first
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
# Is this product a variant of another?
|
44
44
|
#
|
45
45
|
# @return [Boolean]
|
46
46
|
def variant?
|
47
47
|
!self.parent_id.blank?
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
end
|
51
51
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
module Shoppe
|
2
2
|
class ProductCategory < ActiveRecord::Base
|
3
|
-
|
3
|
+
|
4
4
|
self.table_name = 'shoppe_product_categories'
|
5
|
-
|
5
|
+
|
6
6
|
# Categories have an image attachment
|
7
7
|
attachment :image
|
8
|
-
|
8
|
+
|
9
9
|
# All products within this category
|
10
10
|
has_many :products, :dependent => :restrict_with_exception, :class_name => 'Shoppe::Product'
|
11
|
-
|
11
|
+
|
12
12
|
# Validations
|
13
13
|
validates :name, :presence => true
|
14
|
-
validates :permalink, :presence => true, :uniqueness => true
|
14
|
+
validates :permalink, :presence => true, :uniqueness => true, :permalink => true
|
15
15
|
|
16
16
|
# All categories ordered by their name ascending
|
17
17
|
scope :ordered, -> { order(:name) }
|
18
|
-
|
18
|
+
|
19
19
|
# Set the permalink on callback
|
20
20
|
before_validation { self.permalink = self.name.parameterize if self.permalink.blank? && self.name.is_a?(String) }
|
21
|
-
|
21
|
+
|
22
22
|
end
|
23
23
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
module Shoppe
|
2
2
|
class StockLevelAdjustment < ActiveRecord::Base
|
3
|
-
|
3
|
+
|
4
4
|
# The orderable item which the stock level adjustment belongs to
|
5
5
|
belongs_to :item, :polymorphic => true
|
6
|
-
|
6
|
+
|
7
7
|
# The parent (OrderItem) which the stock level adjustment belongs to
|
8
8
|
belongs_to :parent, :polymorphic => true
|
9
|
-
|
9
|
+
|
10
10
|
# Validations
|
11
11
|
validates :description, :presence => true
|
12
12
|
validates :adjustment, :numericality => true
|
13
|
-
validate { errors.add(:adjustment,
|
14
|
-
|
13
|
+
validate { errors.add(:adjustment, I18n.t('shoppe.activerecord.attributes.stock_level_adjustment.must_be_greater_or_equal_zero')) if adjustment == 0 }
|
14
|
+
|
15
15
|
# All stock level adjustments ordered by their created date desending
|
16
16
|
scope :ordered, -> { order(:id => :desc) }
|
17
|
-
|
17
|
+
|
18
18
|
end
|
19
19
|
end
|
@@ -13,32 +13,22 @@
|
|
13
13
|
%header.logo
|
14
14
|
%h1= link_to "Shoppe", root_path
|
15
15
|
%p v#{Shoppe::VERSION}
|
16
|
-
%p.logged
|
17
|
-
|
16
|
+
%p.logged= t('.logged_in_as', user_name: current_user.full_name)
|
17
|
+
|
18
18
|
%ul
|
19
19
|
- for item in Shoppe::NavigationManager.find(:admin_primary).items
|
20
20
|
%li= navigation_manager_link item
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
-# = link_to "Orders", [:orders], :class => @active_nav == :orders ? 'active' : ''
|
25
|
-
-#%li= link_to "Products", [:products], :class => @active_nav == :products ? 'active' : ''
|
26
|
-
-#%li= link_to "Product Categories", :product_categories, :class => @active_nav == :product_categories ? 'active' : ''
|
27
|
-
-#%li= link_to "Delivery Services", [:delivery_services], :class => @active_nav == :delivery_services ? 'active' : ''
|
28
|
-
-#%li= link_to "Tax Rates", :tax_rates, :class => @active_nav == :tax_rates ? 'active' : ''
|
29
|
-
-#%li= link_to "Users", [:users], :class => @active_nav == :users ? 'active' : ''
|
30
|
-
-#%li= link_to "Countries", :countries, :class => @active_nav == :countries ? 'active' : ''
|
31
|
-
-#%li= link_to "Settings", :settings, :class => @active_nav == :settings ? 'active' : ''
|
32
|
-
%li= link_to "Logout", [:logout], :method => :delete
|
33
|
-
|
21
|
+
|
22
|
+
%li= link_to t('.logout'), [:logout], :method => :delete
|
23
|
+
|
34
24
|
%header.main
|
35
25
|
= yield :header
|
36
|
-
|
37
|
-
#content
|
26
|
+
|
27
|
+
#content
|
38
28
|
= display_flash
|
39
29
|
%section.main
|
40
30
|
= yield
|
41
31
|
|
42
|
-
%footer
|
43
|
-
%p.store= link_to "←
|
44
|
-
|
32
|
+
%footer
|
33
|
+
%p.store= link_to "← #{t('.goto')} #{Shoppe.settings.store_name}".html_safe, '/'
|
34
|
+
|
@@ -1,31 +1,35 @@
|
|
1
1
|
= form_for @country do |f|
|
2
2
|
= f.error_messages
|
3
|
-
= field_set_tag
|
3
|
+
= field_set_tag t('shoppe.countries.country_details') do
|
4
|
+
|
4
5
|
.splitContainer
|
5
6
|
%dl.third
|
6
|
-
%dt= f.label :name
|
7
|
+
%dt= f.label :name, t('shoppe.countries.name')
|
7
8
|
%dd= f.text_field :name, :class => 'focus text'
|
8
9
|
%dl.third
|
9
|
-
%dt= f.label :code2,
|
10
|
+
%dt= f.label :code2, t('shoppe.countries.iso_alpha_2')
|
10
11
|
%dd= f.text_field :code2, :class => 'text'
|
11
12
|
%dl.third
|
12
|
-
%dt= f.label :code3,
|
13
|
+
%dt= f.label :code3, t('shoppe.countries.iso_alpha_3')
|
13
14
|
%dd= f.text_field :code3, :class => 'text'
|
15
|
+
|
14
16
|
.splitContainer
|
15
17
|
%dl.third
|
16
|
-
%dt= f.label :continent
|
18
|
+
%dt= f.label :continent, t('shoppe.countries.continent')
|
17
19
|
%dd= f.text_field :continent, :class => 'text'
|
18
20
|
%dl.third
|
19
|
-
%dt= f.label :tld,
|
21
|
+
%dt= f.label :tld, t('shoppe.countries.tld')
|
20
22
|
%dd= f.text_field :tld, :class => 'text'
|
21
23
|
%dl.third
|
22
|
-
%dt= f.label :eu_member,
|
24
|
+
%dt= f.label :eu_member, t('shoppe.countries.eu_member')
|
23
25
|
%dd.checkbox
|
24
26
|
= f.check_box :eu_member
|
25
|
-
= f.label :eu_member, '
|
27
|
+
= f.label :eu_member, t('shoppe.countries.is_eu_member')
|
26
28
|
|
27
29
|
%p.submit
|
28
30
|
- unless @country.new_record?
|
29
|
-
%span.right
|
30
|
-
|
31
|
-
|
31
|
+
%span.right
|
32
|
+
= link_to t('shoppe.delete'), @country, :class => 'button purple',
|
33
|
+
:method => :delete, :data => {:confirm => t('shoppe.countries.delete_confirmation')}
|
34
|
+
= f.submit t('shoppe.submit'), :class => 'button green'
|
35
|
+
= link_to t('shoppe.cancel'), :countries, :class => 'button'
|
@@ -1,5 +1,6 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.countries.countries')
|
2
|
+
|
2
3
|
= content_for :header do
|
3
|
-
%p.buttons= link_to
|
4
|
-
%h2.countries
|
5
|
-
= render 'form'
|
4
|
+
%p.buttons= link_to t('shoppe.countries.back'), :countries, :class => 'button'
|
5
|
+
%h2.countries= t('shoppe.countries.countries')
|
6
|
+
= render 'form'
|
@@ -1,19 +1,19 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.countries.countries')
|
2
2
|
|
3
3
|
= content_for :header do
|
4
|
-
%p.buttons=link_to
|
5
|
-
%h2.countries
|
4
|
+
%p.buttons=link_to t('shoppe.countries.new_country') , :new_country, :class => 'button green'
|
5
|
+
%h2.countries= t('shoppe.countries.countries')
|
6
6
|
|
7
7
|
.table
|
8
8
|
%table.data
|
9
9
|
%thead
|
10
10
|
%tr
|
11
|
-
%th
|
12
|
-
%th
|
13
|
-
%th
|
14
|
-
%th
|
15
|
-
%th
|
16
|
-
%th
|
11
|
+
%th= t('shoppe.countries.name')
|
12
|
+
%th= t('shoppe.countries.iso_alpha_2')
|
13
|
+
%th= t('shoppe.countries.iso_alpha_3')
|
14
|
+
%th= t('shoppe.countries.continent')
|
15
|
+
%th= t('shoppe.countries.tld')
|
16
|
+
%th= t('shoppe.countries.eu?')
|
17
17
|
%tbody
|
18
18
|
- for country in @countries
|
19
19
|
%tr
|
@@ -1,5 +1,7 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.countries.countries')
|
2
|
+
|
2
3
|
= content_for :header do
|
3
|
-
%p.buttons= link_to
|
4
|
-
%h2.countries
|
5
|
-
|
4
|
+
%p.buttons= link_to t('shoppe.countries.back') , :countries, :class => 'button'
|
5
|
+
%h2.countries= t('shoppe.countries.countries')
|
6
|
+
|
7
|
+
= render 'form'
|
@@ -1,44 +1,44 @@
|
|
1
1
|
= form_for [@delivery_service, @delivery_service_price] do |f|
|
2
2
|
= f.error_messages
|
3
|
-
= field_set_tag
|
3
|
+
= field_set_tag t('shoppe.delivery_service_prices.identification_weight') do
|
4
4
|
.splitContainer
|
5
5
|
%dl.third
|
6
|
-
%dt= f.label :code
|
6
|
+
%dt= f.label :code, t('shoppe.delivery_service_prices.code')
|
7
7
|
%dd= f.text_field :code, :class => 'focus text'
|
8
|
-
|
8
|
+
|
9
9
|
%dl.third
|
10
|
-
%dt= f.label :min_weight
|
10
|
+
%dt= f.label :min_weight, t('shoppe.delivery_service_prices.min_weight')
|
11
11
|
%dd= f.text_field :min_weight, :class => 'text'
|
12
12
|
%dl.third
|
13
|
-
%dt= f.label :max_weight
|
13
|
+
%dt= f.label :max_weight, t('shoppe.delivery_service_prices.max_weight')
|
14
14
|
%dd= f.text_field :max_weight, :class => 'text'
|
15
15
|
|
16
|
-
= field_set_tag
|
16
|
+
= field_set_tag t('shoppe.delivery_service_prices.pricing') do
|
17
17
|
.splitContainer
|
18
18
|
%dl.third
|
19
|
-
%dt= f.label :price
|
19
|
+
%dt= f.label :price, t('shoppe.delivery_service_prices.price')
|
20
20
|
%dd
|
21
21
|
.moneyInput
|
22
22
|
.currency= Shoppe.settings.currency_unit.html_safe
|
23
23
|
= f.text_field :price, :class => 'text'
|
24
24
|
%dl.third
|
25
|
-
%dt= f.label :cost_price
|
25
|
+
%dt= f.label :cost_price, t('shoppe.delivery_service_prices.cost_price')
|
26
26
|
%dd
|
27
27
|
.moneyInput
|
28
28
|
.currency= Shoppe.settings.currency_unit.html_safe
|
29
29
|
= f.text_field :cost_price, :class => 'text'
|
30
30
|
%dl.third
|
31
|
-
%dt= f.label :tax_rate_id
|
32
|
-
%dd= f.collection_select :tax_rate_id, Shoppe::TaxRate.ordered, :id, :description, {:include_blank => true}, {:class => 'chosen-with-deselect', :data => {:placeholder =>
|
31
|
+
%dt= f.label :tax_rate_id, t('shoppe.delivery_service_prices.tax_rate')
|
32
|
+
%dd= f.collection_select :tax_rate_id, Shoppe::TaxRate.ordered, :id, :description, {:include_blank => true}, {:class => 'chosen-with-deselect', :data => {:placeholder => t('shoppe.delivery_service_prices.no_tax')}}
|
33
33
|
|
34
|
-
= field_set_tag
|
34
|
+
= field_set_tag t('shoppe.delivery_service_prices.countries') do
|
35
35
|
%dl
|
36
36
|
%dd
|
37
|
-
= f.collection_select :country_ids, Shoppe::Country.ordered, :id, :name, {}, {:class => 'chosen', :multiple => true, :data => {:placeholder =>
|
38
|
-
%p.help
|
37
|
+
= f.collection_select :country_ids, Shoppe::Country.ordered, :id, :name, {}, {:class => 'chosen', :multiple => true, :data => {:placeholder => t('shoppe.delivery_service_prices.all_countries')}}
|
38
|
+
%p.help= t('shoppe.delivery_service_prices.help.countries')
|
39
39
|
|
40
40
|
%p.submit
|
41
41
|
- unless @delivery_service_price.new_record?
|
42
|
-
%span.right= link_to
|
43
|
-
= f.submit :class => 'button green'
|
44
|
-
= link_to
|
42
|
+
%span.right= link_to t('shoppe.delete'), [@delivery_service, @delivery_service_price], :class => 'button purple', :method => :delete, :data => {:confirm => "Are you sure you wish to remove this price?"}
|
43
|
+
= f.submit t('shoppe.submit'), :class => 'button green'
|
44
|
+
= link_to t('shoppe.cancel'), [@delivery_service, :delivery_service_prices], :class => 'button'
|
@@ -1,5 +1,6 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.delivery_service_prices.delivery_services')
|
2
|
+
|
2
3
|
= content_for :header do
|
3
|
-
%p.buttons= link_to
|
4
|
-
%h2.delivery_services
|
5
|
-
= render 'form'
|
4
|
+
%p.buttons= link_to t('shoppe.delivery_service_prices.back'), [@delivery_service, :delivery_service_prices], :class => 'button'
|
5
|
+
%h2.delivery_services= t('shoppe.delivery_service_prices.delivery_services')
|
6
|
+
= render 'form'
|
@@ -1,19 +1,19 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.delivery_service_prices.delivery_services')
|
2
2
|
|
3
3
|
= content_for :header do
|
4
4
|
%p.buttons
|
5
|
-
= link_to
|
6
|
-
= link_to
|
7
|
-
%h2.delivery_services
|
5
|
+
= link_to t('shoppe.delivery_service_prices.new_price'), [:new, @delivery_service, :delivery_service_price], :class => 'button green'
|
6
|
+
= link_to t('shoppe.delivery_service_prices.back_to_delivery_services'), :delivery_services, :class => 'button'
|
7
|
+
%h2.delivery_services= t('shoppe.delivery_service_prices.pricing_for', delivery_name: @delivery_service.name)
|
8
8
|
|
9
9
|
.table
|
10
10
|
%table.data
|
11
11
|
%thead
|
12
12
|
%tr
|
13
|
-
%th
|
14
|
-
%th
|
15
|
-
%th
|
16
|
-
%th
|
13
|
+
%th= t('shoppe.delivery_service_prices.code')
|
14
|
+
%th= t('shoppe.delivery_service_prices.weight_allowance')
|
15
|
+
%th= t('shoppe.delivery_service_prices.price')
|
16
|
+
%th= t('shoppe.delivery_service_prices.cost')
|
17
17
|
%tbody
|
18
18
|
- for price in @delivery_service_prices
|
19
19
|
%tr
|
@@ -21,4 +21,3 @@
|
|
21
21
|
%td #{number_to_weight price.min_weight} → #{number_to_weight price.max_weight}
|
22
22
|
%td= number_to_currency(price.price)
|
23
23
|
%td= number_to_currency price.cost_price
|
24
|
-
|
@@ -1,5 +1,6 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.delivery_service_prices.delivery_services')
|
2
|
+
|
2
3
|
= content_for :header do
|
3
|
-
%p.buttons= link_to
|
4
|
-
%h2.delivery_services
|
5
|
-
= render 'form'
|
4
|
+
%p.buttons= link_to t('shoppe.delivery_service_prices.back') , [@delivery_service, :delivery_service_prices], :class => 'button'
|
5
|
+
%h2.delivery_services= t('shoppe.delivery_service_prices.delivery_services')
|
6
|
+
= render 'form'
|
@@ -1,37 +1,38 @@
|
|
1
1
|
= form_for @delivery_service do |f|
|
2
2
|
= f.error_messages
|
3
|
-
= field_set_tag
|
3
|
+
= field_set_tag t('shoppe.delivery_services.details') do
|
4
4
|
.splitContainer
|
5
5
|
%dl.half
|
6
|
-
%dt= f.label :name
|
6
|
+
%dt= f.label :name, t('shoppe.delivery_services.name')
|
7
7
|
%dd= f.text_field :name, :class => 'focus text'
|
8
8
|
%dl.half
|
9
|
-
%dt= f.label :code
|
9
|
+
%dt= f.label :code, t('shoppe.delivery_services.code')
|
10
10
|
%dd= f.text_field :code, :class => 'text'
|
11
11
|
.splitContainer
|
12
12
|
%dl.half
|
13
|
-
%dt= f.label :active
|
13
|
+
%dt= f.label :active, t('shoppe.delivery_services.active')
|
14
14
|
%dd.checkbox
|
15
15
|
= f.check_box :active
|
16
|
-
= f.label :active,
|
16
|
+
= f.label :active, t('shoppe.delivery_services.active_info')
|
17
17
|
%dl.half
|
18
|
-
%dt= f.label :default
|
18
|
+
%dt= f.label :default, t('shoppe.delivery_services.default')
|
19
19
|
%dd.checkbox
|
20
20
|
= f.check_box :default
|
21
|
-
= f.label :default,
|
22
|
-
|
21
|
+
= f.label :default, t('shoppe.delivery_services.default_info')
|
22
|
+
|
23
|
+
= field_set_tag t('shoppe.delivery_services.courier') do
|
23
24
|
.splitContainer
|
24
25
|
%dl.half
|
25
|
-
%dt= f.label :courier,
|
26
|
+
%dt= f.label :courier, t('shoppe.delivery_services.courier_name')
|
26
27
|
%dd= f.text_field :courier, :class => 'text'
|
27
28
|
%dl.half
|
28
|
-
%dt= f.label :tracking_url,
|
29
|
+
%dt= f.label :tracking_url, t('shoppe.delivery_services.tracking_url')
|
29
30
|
%dd
|
30
31
|
= f.text_field :tracking_url, :class => 'text'
|
31
|
-
%p.help
|
32
|
+
%p.help= t('shoppe.delivery_services.tracking_url_help_html')
|
32
33
|
|
33
34
|
%p.submit
|
34
35
|
- unless @delivery_service.new_record?
|
35
|
-
%span.right= link_to
|
36
|
-
= f.submit :class => 'button green'
|
37
|
-
= link_to
|
36
|
+
%span.right= link_to t('shoppe.delete'), [@delivery_service], :class => 'button purple', :method => :delete, :data => {:confirm => t('shoppe.delivery_services.delete_confirmation')}
|
37
|
+
= f.submit t('shoppe.submit'), :class => 'button green'
|
38
|
+
= link_to t('shoppe.cancel'), :delivery_services, :class => 'button'
|
@@ -1,7 +1,9 @@
|
|
1
|
-
- @page_title =
|
1
|
+
- @page_title = t('shoppe.delivery_services.delivery_services')
|
2
|
+
|
2
3
|
= content_for :header do
|
3
4
|
%p.buttons
|
4
|
-
= link_to
|
5
|
-
= link_to
|
6
|
-
%h2.delivery_services
|
7
|
-
|
5
|
+
= link_to t('shoppe.delivery_services.prices'), [@delivery_service, :delivery_service_prices], :class => 'button'
|
6
|
+
= link_to t('shoppe.delivery_services.back'), :delivery_services, :class => 'button'
|
7
|
+
%h2.delivery_services= t('shoppe.delivery_services.delivery_services')
|
8
|
+
|
9
|
+
= render 'form'
|