tienda 1.1.2 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/tienda/application.coffee +114 -84
  3. data/app/assets/javascripts/tienda/custom-scripts.js +182 -0
  4. data/app/assets/javascripts/tienda/custom.js +200 -0
  5. data/app/assets/javascripts/tienda/jquery.metisMenu.js +45 -0
  6. data/app/assets/javascripts/tienda/morris.js +1913 -0
  7. data/app/assets/javascripts/tienda/raphael-2.1.0.min.js +10 -0
  8. data/app/assets/stylesheets/tienda/application.scss +2 -577
  9. data/app/assets/stylesheets/tienda/custom-styles.scss +518 -0
  10. data/app/assets/stylesheets/tienda/morris-0.4.3.min.css +2 -0
  11. data/app/controllers/tienda/dashboard_controller.rb +11 -1
  12. data/app/controllers/tienda/products_controller.rb +7 -3
  13. data/app/controllers/tienda/sessions_controller.rb +1 -1
  14. data/app/controllers/tienda/stock_level_adjustments_controller.rb +1 -5
  15. data/app/helpers/tienda/application_helper.rb +10 -4
  16. data/app/models/tienda/country.rb +3 -5
  17. data/app/models/tienda/delivery_service.rb +5 -7
  18. data/app/models/tienda/order/actions.rb +3 -3
  19. data/app/models/tienda/order/delivery.rb +1 -1
  20. data/app/models/tienda/order.rb +8 -8
  21. data/app/models/tienda/order_item.rb +11 -11
  22. data/app/models/tienda/product.rb +38 -54
  23. data/app/models/tienda/stock_level_adjustment.rb +9 -7
  24. data/app/models/tienda/tax_rate.rb +5 -7
  25. data/app/models/tienda/user.rb +4 -4
  26. data/app/validators/permalink_validator.rb +1 -1
  27. data/app/views/layouts/tienda/application.html.haml +29 -22
  28. data/app/views/layouts/tienda/sub.html.haml +44 -6
  29. data/app/views/tienda/application/_navbar.html.haml +164 -0
  30. data/app/views/tienda/application/_sidebar.html.haml +6 -0
  31. data/app/views/tienda/countries/_form.html.haml +40 -34
  32. data/app/views/tienda/countries/edit.html.haml +12 -3
  33. data/app/views/tienda/countries/index.html.haml +31 -21
  34. data/app/views/tienda/countries/new.html.haml +11 -3
  35. data/app/views/tienda/dashboard/home.html.haml +156 -0
  36. data/app/views/tienda/delivery_service_prices/_form.html.haml +53 -39
  37. data/app/views/tienda/delivery_service_prices/edit.html.haml +12 -3
  38. data/app/views/tienda/delivery_service_prices/index.html.haml +28 -19
  39. data/app/views/tienda/delivery_service_prices/new.html.haml +12 -3
  40. data/app/views/tienda/delivery_services/_form.html.haml +48 -35
  41. data/app/views/tienda/delivery_services/edit.html.haml +11 -5
  42. data/app/views/tienda/delivery_services/index.html.haml +34 -24
  43. data/app/views/tienda/delivery_services/new.html.haml +12 -3
  44. data/app/views/tienda/orders/_form.html.haml +78 -53
  45. data/app/views/tienda/orders/_order_details.html.haml +57 -54
  46. data/app/views/tienda/orders/_order_items.html.haml +5 -3
  47. data/app/views/tienda/orders/_payments_form.html.haml +18 -14
  48. data/app/views/tienda/orders/_payments_table.html.haml +6 -5
  49. data/app/views/tienda/orders/_search_form.html.haml +40 -24
  50. data/app/views/tienda/orders/_status_bar.html.haml +36 -32
  51. data/app/views/tienda/orders/index.html.haml +41 -34
  52. data/app/views/tienda/orders/new.html.haml +22 -11
  53. data/app/views/tienda/orders/show.html.haml +24 -18
  54. data/app/views/tienda/product_categories/_form.html.haml +34 -22
  55. data/app/views/tienda/product_categories/edit.html.haml +12 -4
  56. data/app/views/tienda/product_categories/index.html.haml +26 -16
  57. data/app/views/tienda/product_categories/new.html.haml +11 -3
  58. data/app/views/tienda/products/_form.html.haml +163 -126
  59. data/app/views/tienda/products/_table.html.haml +49 -40
  60. data/app/views/tienda/products/edit.html.haml +14 -6
  61. data/app/views/tienda/products/index.html.haml +35 -7
  62. data/app/views/tienda/sessions/new.html.haml +8 -6
  63. data/app/views/tienda/sessions/reset.html.haml +5 -5
  64. data/app/views/tienda/settings/edit.html.haml +20 -14
  65. data/app/views/tienda/stock_level_adjustments/_table.html.haml +33 -0
  66. data/app/views/tienda/stock_level_adjustments/index.html.haml +20 -39
  67. data/app/views/tienda/tax_rates/form.html.haml +41 -25
  68. data/app/views/tienda/tax_rates/index.html.haml +23 -13
  69. data/app/views/tienda/users/_form.html.haml +36 -24
  70. data/app/views/tienda/users/edit.html.haml +12 -3
  71. data/app/views/tienda/users/index.html.haml +23 -13
  72. data/app/views/tienda/users/new.html.haml +10 -3
  73. data/app/views/tienda/variants/form.html.haml +98 -57
  74. data/app/views/tienda/variants/index.html.haml +47 -29
  75. data/config/initializers/assets.rb +9 -0
  76. data/config/locales/en.yml +3 -2
  77. data/config/routes.rb +1 -1
  78. data/db/migrate/20150517191600_add_stock_counter_cache.rb +5 -0
  79. data/db/migrate/20150517195800_remove_stock_level_item_polymorphism.rb +6 -0
  80. data/db/migrate/20150517212100_update_stock_counter_cache.rb +5 -0
  81. data/db/migrate/20150603235417_add_document_to_orders.rb +5 -0
  82. data/lib/tienda/default_navigation.rb +9 -8
  83. data/lib/tienda/navigation_manager.rb +2 -5
  84. data/lib/tienda/version.rb +1 -1
  85. data/lib/tienda.rb +2 -6
  86. metadata +54 -65
@@ -1,66 +1,107 @@
1
1
  - @page_title = "#{t('tienda.variants.variants')} - #{@product.name}"
2
- = content_for :header do
3
- %p.buttons= link_to t('tienda.variants.back_to_variants'), [@product, :variants], :class => 'button'
4
- %h2.products= t('tienda.variants.variants_of', product:@product.name)
2
+
3
+ .row
4
+ .col-md-12
5
+ %h1.page-header
6
+ = t('tienda.variants.variants_of', product:@product.name)
7
+ -# %small Lorem ipsum dolor
8
+ / /. ROW
9
+ .row
10
+ .col-md-12
11
+ %p.pull-right
12
+ = link_to t('tienda.variants.back_to_variants'), [@product, :variants], class: 'btn btn-default'
5
13
 
6
14
  = form_for [@product, @variant], :url => @variant.new_record? ? product_variants_path(@product) : product_variant_path(@product, @variant), :html => {:multipart => true} do |f|
7
15
  = f.error_messages
8
- = field_set_tag t('tienda.variants.product_information') do
9
- .splitContainer
10
- %dl.third
11
- %dt= f.label :name, t('tienda.variants.name')
12
- %dd= f.text_field :name, :class => 'text focus'
13
- %dl.third
14
- %dt= f.label :permalink, t('tienda.variants.permalink')
15
- %dd= f.text_field :permalink, :class => 'text'
16
- %dl.third
17
- %dt= f.label :sku, t('tienda.variants.sku')
18
- %dd= f.text_field :sku, :class => 'text'
16
+ .panel.panel-default
17
+ .panel-heading
18
+ = t('tienda.variants.product_information')
19
+ .panel-body
20
+ .row
21
+ .col-md-4
22
+ .form-group
23
+ = f.label :name, t('tienda.variants.name')
24
+ = f.text_field :name, class: 'form-control focus'
25
+ .col-md-4
26
+ .form-group
27
+ = f.label :permalink, t('tienda.variants.permalink')
28
+ = f.text_field :permalink, class: 'form-control'
29
+ .col-md-4
30
+ .form-group
31
+ = f.label :sku, t('tienda.variants.sku')
32
+ = f.text_field :sku, class: 'form-control'
33
+
34
+ .panel.panel-default
35
+ .panel-heading
36
+ = t('tienda.variants.image')
37
+ .panel-body
38
+ .row
39
+ .col-md-12
40
+ .form-group
41
+ = attachment_preview @variant.default_image, hide_if_blank: true
42
+ = f.file_field :default_image_file, class: 'form-control'
19
43
 
20
- = field_set_tag t('tienda.variants.image') do
21
- %dl
22
- %dd
23
- = attachment_preview @variant.default_image, :hide_if_blank => true
24
- %p= f.file_field :default_image_file
25
- = field_set_tag t("tienda.variants.pricing") do
26
- .splitContainer
27
- %dl.third
28
- %dt= f.label :price, t('tienda.variants.price')
29
- %dd= f.text_field :price, :class => 'text'
30
- %dl.third
31
- %dt= f.label :cost_price, t('tienda.variants.cost_price')
32
- %dd= f.text_field :cost_price, :class => 'text'
33
- %dl.third
34
- %dt= f.label :tax_rate_id, t('tienda.variants.tax_rate')
35
- %dd= f.collection_select :tax_rate_id, Tienda::TaxRate.ordered, :id, :description, {:include_blank => true}, {:class => 'chosen-with-deselect', :data => {:placeholder => t('tienda.variants.no_tax')}}
44
+ .panel.panel-default
45
+ .panel-heading
46
+ = t("tienda.variants.pricing")
47
+ .panel-body
48
+ .row
49
+ .col-md-4
50
+ .form-group
51
+ = f.label :price, t('tienda.variants.price')
52
+ .form-group.input-group
53
+ %span.input-group-addon= Tienda.settings.currency_unit.html_safe
54
+ = f.text_field :price, class: 'form-control'
55
+ .col-md-4
56
+ .form-group
57
+ = f.label :cost_price, t('tienda.variants.cost_price')
58
+ .form-group.input-group
59
+ %span.input-group-addon= Tienda.settings.currency_unit.html_safe
60
+ = f.text_field :cost_price, class: 'form-control'
61
+ .col-md-4
62
+ .form-group
63
+ = f.label :tax_rate_id, t('tienda.variants.tax_rate')
64
+ = f.collection_select :tax_rate_id, Tienda::TaxRate.ordered, :id, :description, {include_blank: true}, {class: 'form-control', data: {placeholder: t('tienda.variants.no_tax')}}
36
65
 
37
- = field_set_tag t('tienda.variants.stock_control') do
38
- .splitContainer
39
- %dl.half
40
- %dt= f.label :weight, t('tienda.variants.weight')
41
- %dd= f.text_field :weight, :class => 'text'
66
+ .panel.panel-default
67
+ .panel-heading
68
+ = t('tienda.variants.stock_control')
69
+ .panel-body
70
+ .row
71
+ .col-md-6
72
+ .form-group
73
+ = f.label :weight, t('tienda.variants.weight')
74
+ = f.text_field :weight, class: 'form-control'
42
75
 
43
- %dl.half
44
- %dt= f.label :stock_control, t('tienda.variants.stock_control')
45
- %dd.checkbox
46
- = f.check_box :stock_control
47
- = f.label :stock_control, t('tienda.variants.enable_stock_control?')
76
+ .col-md-6
77
+ .form-group
78
+ = f.label :stock_control, t('tienda.variants.stock_control')
79
+ .checkbox
80
+ %label
81
+ = f.check_box :stock_control
82
+ = t('tienda.variants.enable_stock_control?')
48
83
 
49
- = field_set_tag t('tienda.variants.website_properties') do
50
- .splitContainer
51
- %dl.half
52
- %dt= f.label :active, t('tienda.variants.on_sale?')
53
- %dd.checkbox
54
- = f.check_box :active
55
- = f.label :active, t('tienda.variants.on_sale_info')
56
- %dl.half
57
- %dt= f.label :default, t('tienda.variants.default_variant?')
58
- %dd.checkbox
59
- = f.check_box :default
60
- = f.label :default, t('tienda.variants.default_variant_info')
84
+ .panel.panel-default
85
+ .panel-heading
86
+ = t('tienda.variants.website_properties')
87
+ .panel-body
88
+ .row
89
+ .col-md-6
90
+ = f.label :active, t('tienda.variants.on_sale?')
91
+ .checkbox
92
+ %label
93
+ = f.check_box :active
94
+ = t('tienda.variants.on_sale_info')
95
+ .col-md-6
96
+ = f.label :default, t('tienda.variants.default_variant?')
97
+ .checkbox
98
+ %label
99
+ = f.check_box :default
100
+ = t('tienda.variants.default_variant_info')
61
101
 
62
- %p.submit
63
- - unless @variant.new_record?
64
- %span.right= link_to t('tienda.delete'), product_variant_path(@product, @variant), :class => 'button purple', :method => :delete, :data => {:confirm => t('tienda.variants.delete_confirmation')}
65
- = f.submit t('tienda.variants.save_variant'), :class => 'button green'
66
- = link_to t('tienda.cancel'), :products, :class => 'button'
102
+ .panel.panel-default
103
+ .panel-body
104
+ - unless @variant.new_record?
105
+ %span.right= link_to t('tienda.delete'), product_variant_path(@product, @variant), class: 'btn btn-danger', method: :delete, data: {confirm: t('tienda.variants.delete_confirmation')}
106
+ = f.submit t('tienda.variants.save_variant'), class: 'btn btn-primary'
107
+ = link_to t('tienda.cancel'), :products, class: 'btn btn-default'
@@ -1,33 +1,51 @@
1
1
  - @page_title = "#{t('tienda.variants.variants')} - #{@product.name}"
2
2
 
3
- = content_for :header do
4
- %p.buttons
5
- = link_to t('tienda.variants.edit_product'), [:edit, @product], :class => 'button'
6
- = link_to t('tienda.variants.new_variant'), [:new, @product, :variant], :class => 'button green'
3
+ .row
4
+ .col-md-12
5
+ %h1.page-header
6
+ = t('tienda.variants.variants_of', product: @product.name)
7
+ -# %small Lorem ipsum dolor
8
+ / /. ROW
9
+ .row
10
+ .col-md-12
11
+ %p.pull-right
12
+ = link_to t('tienda.variants.edit_product'), [:edit, @product], class: 'btn btn-default'
13
+ = link_to t('tienda.variants.new_variant'), [:new, @product, :variant], class: 'btn btn-primary'
7
14
 
8
- %h2.products= t('tienda.variants.variants_of', product: @product.name)
15
+ .panel.panel-default
16
+ .panel-heading
17
+ Listing delivery services
18
+ .panel-body
19
+ %table.table.table-hover
20
+ %thead
21
+ %tr
22
+ %th{width: '20%'}= t('tienda.variants.sku')
23
+ %th{width: '50%'}= t('tienda.variants.name')
24
+ %th{width: '15%'}= t('tienda.variants.price')
25
+ %th{width: '15%'}= t('tienda.variants.stock')
26
+ %tbody
27
+ - if @variants.empty?
28
+ %tr.empty
29
+ %td{colspan: 4}= t('tienda.variants.no_products')
30
+ - else
31
+ - for variant in @variants
32
+ %tr
33
+ %td= variant.sku
34
+ %td= link_to variant.name, edit_product_variant_path(@product, variant)
35
+ %td= number_to_currency variant.price
36
+ %td
37
+ - if variant.stock_control?
38
+ %span.float-right= link_to t('tienda.edit'), stock_level_adjustments_path(item_type: variant.class, item_id: variant.id), class: 'btn btn-default btn-sm', rel: 'dialog', data: {toggle: 'modal', target: '#stockModal'}
39
+ %span.label{class: "#{variant.in_stock? ? 'label-default' : 'label-danger'}"}
40
+ = boolean_tag(variant.in_stock?, nil, true_text: variant.stock, false_text: t('tienda.variants.no_stock'))
41
+ - else
42
+ ∞
9
43
 
10
- .table
11
- %table.data
12
- %thead
13
- %tr
14
- %th{:width => '20%'}= t('tienda.variants.sku')
15
- %th{:width => '50%'}= t('tienda.variants.name')
16
- %th{:width => '15%'}= t('tienda.variants.price')
17
- %th{:width => '15%'}= t('tienda.variants.stock')
18
- %tbody
19
- - if @variants.empty?
20
- %tr.empty
21
- %td{:colspan => 4}= t('tienda.variants.no_products')
22
- - else
23
- - for variant in @variants
24
- %tr
25
- %td= variant.sku
26
- %td= link_to variant.name, edit_product_variant_path(@product, variant)
27
- %td= number_to_currency variant.price
28
- %td
29
- - if variant.stock_control?
30
- %span.float-right= link_to t('tienda.edit'), stock_level_adjustments_path(:item_type => variant.class, :item_id => variant.id), :class => 'edit', :rel => 'dialog', :data => {:dialog_width => 700, :dialog_behavior => 'stockLevelAdjustments'}
31
- = boolean_tag(variant.in_stock?, nil, :true_text => variant.stock, :false_text => t('tienda.variants.no_stock'))
32
- - else
33
- ∞
44
+ / Modal
45
+ #stockModal.modal.fade{"aria-hidden" => "true", "aria-labelledby" => "myModalLabel", :role => "dialog", :tabindex => "-1"}
46
+ .modal-dialog
47
+ .modal-content
48
+
49
+ / /.modal-content
50
+ / /.modal-dialog
51
+ / /.modal
@@ -0,0 +1,9 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Version of your assets, change this if you want to expire all your assets.
4
+ Rails.application.config.assets.version = '1.0'
5
+
6
+ # Precompile additional assets.
7
+ # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
8
+ Rails.application.config.assets.precompile += %w( tienda/morris-0.4.3.min.css tienda/custom-styles.css )
9
+ Rails.application.config.assets.precompile += %w( tienda/jquery.metisMenu.js tienda/raphael-2.1.0.min.js tienda/morris.js tienda/custom-scripts.js )
@@ -445,8 +445,8 @@ en:
445
445
  website_properties: Website Properties
446
446
  weight: Weight
447
447
 
448
- imports:
449
- help: Products and Categories are matched by name. If no product is found, a new one will be created with all the attributes on the line. If a product is found, only the quantity will be updated and all other fields will be ignored. If no category is found, one with that name will be created . One product per line.
448
+ imports:
449
+ help: Products and Categories are matched by name. If no product is found, a new one will be created with all the attributes on the line. If a product is found, only the quantity will be updated and all other fields will be ignored. If no category is found, one with that name will be created . One product per line.
450
450
  success: Products imported successfully
451
451
  examples:
452
452
  first:
@@ -590,6 +590,7 @@ en:
590
590
 
591
591
  navigation:
592
592
  admin_primary:
593
+ root: Dashboard
593
594
  orders: Orders
594
595
  products: Products
595
596
  product_categories: Product Categories
data/config/routes.rb CHANGED
@@ -36,7 +36,7 @@ Tienda::Engine.routes.draw do
36
36
  get 'login' => 'sessions#new'
37
37
  post 'login' => 'sessions#create'
38
38
  match 'login/reset' => 'sessions#reset', via: [:get, :post]
39
-
40
39
  delete 'logout' => 'sessions#destroy'
40
+
41
41
  root to: 'dashboard#home'
42
42
  end
@@ -0,0 +1,5 @@
1
+ class AddStockCounterCache < ActiveRecord::Migration
2
+ def change
3
+ add_column :tienda_products, :stock_count, :integer, null: false, default: 0
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class RemoveStockLevelItemPolymorphism < ActiveRecord::Migration
2
+ def change
3
+ rename_column :tienda_stock_level_adjustments, :item_id, :product_id
4
+ remove_column :tienda_stock_level_adjustments, :item_type
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class UpdateStockCounterCache < ActiveRecord::Migration
2
+ def change
3
+ Tienda::StockLevelAdjustment.counter_culture_fix_counts
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddDocumentToOrders < ActiveRecord::Migration
2
+ def change
3
+ add_column :tienda_orders, :document, :integer
4
+ end
5
+ end
@@ -9,12 +9,13 @@ require 'tienda/navigation_manager'
9
9
  # This is the default navigation manager for the admin interface.
10
10
  #
11
11
  Tienda::NavigationManager.build(:admin_primary) do
12
- add_item :orders
13
- add_item :products
14
- add_item :product_categories
15
- add_item :delivery_services
16
- add_item :tax_rates
17
- add_item :users
18
- add_item :countries
19
- add_item :settings
12
+ add_item :root, icon: 'fa fa-dashboard'
13
+ add_item :orders, icon: 'fa fa-money'
14
+ add_item :products, icon: 'fa fa-barcode'
15
+ add_item :product_categories, icon: 'fa fa-tags'
16
+ add_item :delivery_services, icon: 'fa fa-truck'
17
+ add_item :tax_rates, icon: 'fa fa-calculator'
18
+ add_item :users, icon: 'fa fa-users'
19
+ add_item :countries, icon: 'fa fa-flag'
20
+ add_item :settings, icon: 'fa fa-gear'
20
21
  end
@@ -38,6 +38,7 @@ module Tienda
38
38
  item.identifier = identifier.to_s
39
39
  item.url = options[:url] if options[:url]
40
40
  item.link_options = options[:link_options] if options[:link_options]
41
+ item.icon = options[:icon] if options[:icon]
41
42
  item.active_if = block if block_given?
42
43
  items << item
43
44
  end
@@ -47,11 +48,7 @@ module Tienda
47
48
  end
48
49
 
49
50
  class NavigationItem
50
- attr_accessor :manager
51
- attr_accessor :identifier
52
- attr_accessor :url
53
- attr_accessor :link_options
54
- attr_accessor :active_if
51
+ attr_accessor :manager, :identifier, :url, :link_options, :active_if, :icon
55
52
 
56
53
  def description
57
54
  I18n.translate("tienda.navigation.#{manager.identifier}.#{identifier}")
@@ -1,3 +1,3 @@
1
1
  module Tienda
2
- VERSION = '1.1.2'
2
+ VERSION = '2.0.1'
3
3
  end
data/lib/tienda.rb CHANGED
@@ -1,21 +1,17 @@
1
- require 'coffee-rails'
2
- require 'sass-rails'
3
- require 'jquery-rails'
4
1
  require 'haml'
5
2
  require 'bcrypt'
6
3
  require 'dynamic_form'
7
4
  require 'kaminari'
8
5
  require 'ransack'
6
+ require 'counter_culture'
9
7
 
10
8
  require 'nifty/utils'
11
9
  require 'nifty/key_value_store'
12
10
  require 'nifty/attachments'
13
- require 'nifty/dialog'
14
11
 
15
12
  module Tienda
16
13
  class << self
17
-
18
- # The path to the root of the Tienda applicatinio
14
+ # The path to the root of the Tienda application
19
15
  #
20
16
  # @return [String]
21
17
  def root
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tienda
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gonzalo Robaina
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-15 00:00:00.000000000 Z
11
+ date: 2015-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -138,48 +138,6 @@ dependencies:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: 1.1.4
141
- - !ruby/object:Gem::Dependency
142
- name: jquery-rails
143
- requirement: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '3'
148
- type: :runtime
149
- prerelease: false
150
- version_requirements: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: '3'
155
- - !ruby/object:Gem::Dependency
156
- name: coffee-rails
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '4'
162
- type: :runtime
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '4'
169
- - !ruby/object:Gem::Dependency
170
- name: sass-rails
171
- requirement: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '4.0'
176
- type: :runtime
177
- prerelease: false
178
- version_requirements: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - "~>"
181
- - !ruby/object:Gem::Version
182
- version: '4.0'
183
141
  - !ruby/object:Gem::Dependency
184
142
  name: uglifier
185
143
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +178,26 @@ dependencies:
220
178
  - - "<"
221
179
  - !ruby/object:Gem::Version
222
180
  version: '1.14'
181
+ - !ruby/object:Gem::Dependency
182
+ name: counter_culture
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.1'
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: 0.1.23
191
+ type: :runtime
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: '0.1'
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 0.1.23
223
201
  - !ruby/object:Gem::Dependency
224
202
  name: nifty-key-value-store
225
203
  requirement: !ruby/object:Gem::Requirement
@@ -274,26 +252,6 @@ dependencies:
274
252
  - - "<"
275
253
  - !ruby/object:Gem::Version
276
254
  version: 2.0.0
277
- - !ruby/object:Gem::Dependency
278
- name: nifty-dialog
279
- requirement: !ruby/object:Gem::Requirement
280
- requirements:
281
- - - "~>"
282
- - !ruby/object:Gem::Version
283
- version: 1.0.7
284
- - - ">="
285
- - !ruby/object:Gem::Version
286
- version: 1.0.7
287
- type: :runtime
288
- prerelease: false
289
- version_requirements: !ruby/object:Gem::Requirement
290
- requirements:
291
- - - "~>"
292
- - !ruby/object:Gem::Version
293
- version: 1.0.7
294
- - - ">="
295
- - !ruby/object:Gem::Version
296
- version: 1.0.7
297
255
  - !ruby/object:Gem::Dependency
298
256
  name: sqlite3
299
257
  requirement: !ruby/object:Gem::Requirement
@@ -378,6 +336,20 @@ dependencies:
378
336
  - - "~>"
379
337
  - !ruby/object:Gem::Version
380
338
  version: '4.0'
339
+ - !ruby/object:Gem::Dependency
340
+ name: rspec
341
+ requirement: !ruby/object:Gem::Requirement
342
+ requirements:
343
+ - - "~>"
344
+ - !ruby/object:Gem::Version
345
+ version: '3.2'
346
+ type: :development
347
+ prerelease: false
348
+ version_requirements: !ruby/object:Gem::Requirement
349
+ requirements:
350
+ - - "~>"
351
+ - !ruby/object:Gem::Version
352
+ version: '3.2'
381
353
  description: A full Rails engine providing e-commerce functionality for any Rails
382
354
  4 application. Based on Shoppe Rails Gem.
383
355
  email:
@@ -429,13 +401,20 @@ files:
429
401
  - app/assets/images/tienda/table-tear-off.png
430
402
  - app/assets/javascripts/tienda/application.coffee
431
403
  - app/assets/javascripts/tienda/chosen.jquery.js
404
+ - app/assets/javascripts/tienda/custom-scripts.js
405
+ - app/assets/javascripts/tienda/custom.js
406
+ - app/assets/javascripts/tienda/jquery.metisMenu.js
432
407
  - app/assets/javascripts/tienda/jquery_ui.js
408
+ - app/assets/javascripts/tienda/morris.js
433
409
  - app/assets/javascripts/tienda/mousetrap.js
434
410
  - app/assets/javascripts/tienda/order_form.coffee
411
+ - app/assets/javascripts/tienda/raphael-2.1.0.min.js
435
412
  - app/assets/stylesheets/tienda/application.scss
436
413
  - app/assets/stylesheets/tienda/chosen.scss
414
+ - app/assets/stylesheets/tienda/custom-styles.scss
437
415
  - app/assets/stylesheets/tienda/dialog.scss
438
416
  - app/assets/stylesheets/tienda/elements.scss
417
+ - app/assets/stylesheets/tienda/morris-0.4.3.min.css
439
418
  - app/assets/stylesheets/tienda/printable.scss
440
419
  - app/assets/stylesheets/tienda/reset.scss
441
420
  - app/assets/stylesheets/tienda/sub.scss
@@ -482,10 +461,13 @@ files:
482
461
  - app/views/layouts/tienda/application.html.haml
483
462
  - app/views/layouts/tienda/printable.html.haml
484
463
  - app/views/layouts/tienda/sub.html.haml
464
+ - app/views/tienda/application/_navbar.html.haml
465
+ - app/views/tienda/application/_sidebar.html.haml
485
466
  - app/views/tienda/countries/_form.html.haml
486
467
  - app/views/tienda/countries/edit.html.haml
487
468
  - app/views/tienda/countries/index.html.haml
488
469
  - app/views/tienda/countries/new.html.haml
470
+ - app/views/tienda/dashboard/home.html.haml
489
471
  - app/views/tienda/delivery_service_prices/_form.html.haml
490
472
  - app/views/tienda/delivery_service_prices/edit.html.haml
491
473
  - app/views/tienda/delivery_service_prices/index.html.haml
@@ -526,6 +508,7 @@ files:
526
508
  - app/views/tienda/sessions/reset.html.haml
527
509
  - app/views/tienda/settings/edit.html.haml
528
510
  - app/views/tienda/shared/error.html.haml
511
+ - app/views/tienda/stock_level_adjustments/_table.html.haml
529
512
  - app/views/tienda/stock_level_adjustments/index.html.haml
530
513
  - app/views/tienda/tax_rates/form.html.haml
531
514
  - app/views/tienda/tax_rates/index.html.haml
@@ -536,12 +519,17 @@ files:
536
519
  - app/views/tienda/users/new.html.haml
537
520
  - app/views/tienda/variants/form.html.haml
538
521
  - app/views/tienda/variants/index.html.haml
522
+ - config/initializers/assets.rb
539
523
  - config/locales/en.yml
540
524
  - config/locales/pl.yml
541
525
  - config/locales/pt-BR.yml
542
526
  - config/routes.rb
543
527
  - db/countries.txt
544
528
  - db/migrate/20150124094549_create_tienda_initial_schema.rb
529
+ - db/migrate/20150517191600_add_stock_counter_cache.rb
530
+ - db/migrate/20150517195800_remove_stock_level_item_polymorphism.rb
531
+ - db/migrate/20150517212100_update_stock_counter_cache.rb
532
+ - db/migrate/20150603235417_add_document_to_orders.rb
545
533
  - db/seeds.rb
546
534
  - db/seeds_data/poe400.jpg
547
535
  - db/seeds_data/snom-870-blk.jpg
@@ -597,8 +585,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
597
585
  version: '0'
598
586
  requirements: []
599
587
  rubyforge_project:
600
- rubygems_version: 2.4.3
588
+ rubygems_version: 2.2.2
601
589
  signing_key:
602
590
  specification_version: 4
603
591
  summary: Just an e-commerce platform.
604
592
  test_files: []
593
+ has_rdoc: