spree_correios_shipping 1.0.0

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.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +5 -0
  5. data/Gemfile.lock +270 -0
  6. data/LICENSE +26 -0
  7. data/README.md +45 -0
  8. data/Rakefile +29 -0
  9. data/Versionfile +14 -0
  10. data/app/assets/javascripts/spree/backend/product_packages/edit.js.coffee +4 -0
  11. data/app/assets/javascripts/spree/backend/product_packages/index.js.coffee +28 -0
  12. data/app/assets/javascripts/spree/backend/product_packages/new.js.coffee +7 -0
  13. data/app/controllers/spree/admin/correios_shipping_settings_controller.rb +18 -0
  14. data/app/controllers/spree/admin/product_packages_controller.rb +12 -0
  15. data/app/controllers/spree/checkout_controller_decorator.rb +9 -0
  16. data/app/models/spree/calculator/shipping/correios/base.rb +165 -0
  17. data/app/models/spree/calculator/shipping/correios/e_sedex.rb +16 -0
  18. data/app/models/spree/calculator/shipping/correios/e_sedex_express.rb +17 -0
  19. data/app/models/spree/calculator/shipping/correios/e_sedex_grupo1.rb +17 -0
  20. data/app/models/spree/calculator/shipping/correios/e_sedex_grupo2.rb +17 -0
  21. data/app/models/spree/calculator/shipping/correios/e_sedex_grupo3.rb +17 -0
  22. data/app/models/spree/calculator/shipping/correios/e_sedex_prioritario.rb +17 -0
  23. data/app/models/spree/calculator/shipping/correios/overweight.rb +25 -0
  24. data/app/models/spree/calculator/shipping/correios/pac.rb +17 -0
  25. data/app/models/spree/calculator/shipping/correios/pac_com_contrato.rb +17 -0
  26. data/app/models/spree/calculator/shipping/correios/sedex.rb +17 -0
  27. data/app/models/spree/calculator/shipping/correios/sedex10.rb +17 -0
  28. data/app/models/spree/calculator/shipping/correios/sedex_a_cobrar.rb +17 -0
  29. data/app/models/spree/calculator/shipping/correios/sedex_a_cobrar_com_contrato.rb +17 -0
  30. data/app/models/spree/calculator/shipping/correios/sedex_com_contrato1.rb +17 -0
  31. data/app/models/spree/calculator/shipping/correios/sedex_com_contrato2.rb +17 -0
  32. data/app/models/spree/calculator/shipping/correios/sedex_com_contrato3.rb +17 -0
  33. data/app/models/spree/calculator/shipping/correios/sedex_com_contrato4.rb +17 -0
  34. data/app/models/spree/calculator/shipping/correios/sedex_com_contrato5.rb +17 -0
  35. data/app/models/spree/calculator/shipping/correios/sedex_hoje.rb +17 -0
  36. data/app/models/spree/product_package.rb +9 -0
  37. data/app/models/spree/stock/splitter/correios_package.rb +51 -0
  38. data/app/models/spree/stock/splitter/correios_weight.rb +31 -0
  39. data/app/models/spree/stock_location_decorator.rb +10 -0
  40. data/app/overrides/spree/admin/shared/sub_menu/_configuration/add_correios_shipping_settings_tab.html.erb.deface +3 -0
  41. data/app/views/spree/admin/correios_shipping_settings/edit.html.erb +28 -0
  42. data/app/views/spree/admin/product_packages/_form.html.erb +31 -0
  43. data/app/views/spree/admin/product_packages/edit.html.erb +20 -0
  44. data/app/views/spree/admin/product_packages/index.html.erb +49 -0
  45. data/app/views/spree/admin/product_packages/new.html.erb +14 -0
  46. data/app/views/spree/admin/shared/_correios_tabs.html.erb +11 -0
  47. data/config/locales/en.yml +7 -0
  48. data/config/locales/pt-BR.yml +19 -0
  49. data/config/routes.rb +7 -0
  50. data/db/migrate/20150303111955_create_product_packages.rb +11 -0
  51. data/lib/generators/spree_correios_shipping/install/install_generator.rb +19 -0
  52. data/lib/spree/correios_shipping_configuration.rb +10 -0
  53. data/lib/spree/shipping_error.rb +3 -0
  54. data/lib/spree_correios_shipping/engine.rb +69 -0
  55. data/lib/spree_correios_shipping/version.rb +3 -0
  56. data/lib/spree_correios_shipping.rb +3 -0
  57. data/script/rails +7 -0
  58. data/spec/spec_helper.rb +44 -0
  59. data/spree_correios_shipping.gemspec +30 -0
  60. metadata +201 -0
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class ESedexExpress < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "e-Sedex Express - 81035"
8
+ end
9
+
10
+ def self.service_code
11
+ :e_sedex_express
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class ESedexGrupo1 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "e-Sedex Grupo 1 - 81868"
8
+ end
9
+
10
+ def self.service_code
11
+ :e_sedex_grupo_1
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class ESedexGrupo2 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "e-Sedex Grupo 2 - 81833"
8
+ end
9
+
10
+ def self.service_code
11
+ :e_sedex_grupo_2
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class ESedexGrupo3 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "e-Sedex Grupo 3 - 81850"
8
+ end
9
+
10
+ def self.service_code
11
+ :e_sedex_grupo_3
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class ESedexPrioritario < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "e-Sedex Prioritario - 81027"
8
+ end
9
+
10
+ def self.service_code
11
+ :e_sedex_prioritario
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class Overweight < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Acima de 30kg"
8
+ end
9
+
10
+ def available?(package)
11
+ package_weight > 30 ? true : false
12
+ end
13
+
14
+ def compute_package(package)
15
+ 0.00
16
+ end
17
+
18
+ def deliver_time(package)
19
+ nil
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class Pac < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Pac sem contrato - 41106"
8
+ end
9
+
10
+ def self.service_code
11
+ :pac
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class PacComContrato < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Pac com contrato - 41068"
8
+ end
9
+
10
+ def self.service_code
11
+ :pac_com_contrato
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class Sedex < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex sem contrato - 40010"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class Sedex10 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex 10 sem contrato - 40215"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_10
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexACobrar < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex a cobrar sem contrato - 40045"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_a_cobrar
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexACobrarComContrato < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex a cobrar com contrato - 40126"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_a_cobrar_com_contrato
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexComContrato1 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex com Contrato 1 - 40096"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_com_contrato_1
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexComContrato2 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex com Contrato 2 - 40436"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_com_contrato_2
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexComContrato3 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex com Contrato 3 - 40444"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_com_contrato_3
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexComContrato4 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex com Contrato 4 - 40568"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_com_contrato_4
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexComContrato5 < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex com Contrato 5 - 40606"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_com_contrato_5
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Spree
2
+ module Calculator::Shipping
3
+ module Correios
4
+ class SedexHoje < Spree::Calculator::Shipping::Correios::Base
5
+
6
+ def self.description
7
+ "Sedex hoje sem contrato - 40290"
8
+ end
9
+
10
+ def self.service_code
11
+ :sedex_hoje
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,9 @@
1
+ module Spree
2
+ class ProductPackage < ActiveRecord::Base
3
+
4
+ validates :length, :width, :height, :weight,
5
+ :numericality => { :only_integer => true,
6
+ :message => Spree.t('validation.must_be_int'),
7
+ :greater_than => 0 }
8
+ end
9
+ end
@@ -0,0 +1,51 @@
1
+ module Spree
2
+ module Stock
3
+ module Splitter
4
+ class CorreiosPackage < Spree::Stock::Splitter::Base
5
+ attr_reader :packer, :next_splitter
6
+
7
+ def available_product_packages
8
+ ProductPackage.all
9
+ end
10
+
11
+ def split(packages)
12
+ packages.each do |package|
13
+ removed_contents = reduce package
14
+ packages << build_package(removed_contents) unless removed_contents.empty?
15
+ end
16
+ return_next packages
17
+ end
18
+
19
+ private
20
+ def reduce(package)
21
+ removed = []
22
+ while package.weight > self.threshold.to_f
23
+ break if package.contents.size == 1
24
+ removed << package.contents.shift
25
+ end
26
+ removed
27
+ end
28
+
29
+
30
+ def organize_packages(packages)
31
+
32
+ end
33
+
34
+ def boxes_volume
35
+ boxes_array = available_product_packages.inject([]) { |arr, box| arr << (box.widht * box.height * box.depth) }
36
+ boxes_array.sort
37
+ end
38
+
39
+ def total_package_volume(package)
40
+ package.contents.inject(0.0) { |volume, item| volume += (item.width * item.height * item.depth ) }
41
+ end
42
+
43
+ def package_fits_inside_box(package)
44
+ package_volume = total_package_volume(package)
45
+ box = boxes_volume.detect { |box| package_volume <= box }
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,31 @@
1
+ module Spree
2
+ module Stock
3
+ module Splitter
4
+ class CorreiosWeight < Spree::Stock::Splitter::Base
5
+ attr_reader :packer, :next_splitter
6
+
7
+ cattr_accessor :threshold do
8
+ Spree::CorreiosShipping::Config[:max_shipping_weight]
9
+ end
10
+
11
+ def split(packages)
12
+ packages.each do |package|
13
+ removed_contents = reduce package
14
+ packages << build_package(removed_contents) unless removed_contents.empty?
15
+ end
16
+ return_next packages
17
+ end
18
+
19
+ private
20
+ def reduce(package)
21
+ removed = []
22
+ while package.weight > self.threshold.to_f
23
+ break if package.contents.size == 1
24
+ removed << package.contents.shift
25
+ end
26
+ removed
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,10 @@
1
+ Spree::StockLocation.class_eval do
2
+ validates_presence_of :address1, :city, :zipcode, :country_id
3
+ validate :state_id_or_state_name_is_present
4
+
5
+ def state_id_or_state_name_is_present
6
+ if state_id.nil? && state_name.nil?
7
+ errors.add(:state_name, "can't be blank")
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ <!-- insert_bottom "[data-hook='admin_configurations_sidebar_menu'], #admin_configurations_sidebar_menu[data-hook]" -->
2
+
3
+ <%= configurations_sidebar_menu_item t(:correios_shipping_settings), edit_admin_correios_shipping_settings_path %>
@@ -0,0 +1,28 @@
1
+ <% content_for :page_title do %>
2
+ <%= Spree.t(:correios_shipping_settings) %>
3
+ <% end %>
4
+
5
+ <%= render 'spree/admin/shared/correios_tabs', current: 'Correios Settings' %>
6
+
7
+ <%= form_tag admin_correios_shipping_settings_path, :method => :put do %>
8
+ <fieldset class="no-border-top">
9
+ <div data-hook="admin_correios_shipping_settings_form_fields">
10
+ <div class="row">
11
+ <div class="col-md-12" data-hook="preferences_fields">
12
+ <% @preferences.each do |key|
13
+ type = @config.preference_type(key) %>
14
+
15
+ <%= label_tag(key, t(key, scope: :correios_shipping) + ': ') + tag(:br) if type != :boolean %>
16
+ <%= preference_field_tag(key,@config[key], :type => type) %>
17
+ <%= label_tag(key, t(key, scope: :correios_shipping)) + tag(:br) if type == :boolean %>
18
+
19
+ <% end %>
20
+ </div>
21
+ </div>
22
+
23
+ </fieldset>
24
+ <div class="form-actions" data-hook="buttons">
25
+ <%= button Spree.t('actions.update') %>
26
+ </div>
27
+ <% end %>
28
+
@@ -0,0 +1,31 @@
1
+ <div data-hook="admin_product_package_form_fields" class="row">
2
+
3
+ <div class="col-md-3">
4
+ <div data-hook="length" class="form-group">
5
+ <%= f.label Spree.t(:length) %>
6
+ <%= f.text_field :length, class: 'form-control' %>
7
+ </div>
8
+ </div>
9
+
10
+ <div class="col-md-3">
11
+ <div data-hook="width" class="form-group">
12
+ <%= f.label Spree.t(:width) %>
13
+ <%= f.text_field :width, class: 'form-control' %>
14
+ </div>
15
+ </div>
16
+
17
+ <div class="col-md-3">
18
+ <div data-hook="height" class="form-group">
19
+ <%= f.label Spree.t(:height) %>
20
+ <%= f.text_field :height, class: 'form-control' %>
21
+ </div>
22
+ </div>
23
+
24
+ <div class="col-md-3">
25
+ <div data-hook="weight" class="form-group">
26
+ <%= f.label Spree.t(:weight) %>
27
+ <%= f.text_field :weight, class: 'form-control' %>
28
+ </div>
29
+ </div>
30
+
31
+ </div>
@@ -0,0 +1,20 @@
1
+ <% content_for :page_title do %>
2
+ <%= Spree.t(:product_packages) %>
3
+ <% end %>
4
+
5
+ <%= render :partial => 'spree/admin/shared/correios_tabs', :locals => { :current => 'Product Packages' } %>
6
+ <%= render 'spree/admin/shared/error_messages', :target => @product_package %>
7
+
8
+ <%= form_for [:admin, @product_package], :html => { :multipart => true } do |f| %>
9
+ <div class="well">
10
+ <fieldset data-hook="edit_product_package">
11
+ <legend align="center"><%= Spree.t(:edit_package) %></legend>
12
+ <%= render :partial => 'form', :locals => { :f => f } %>
13
+ <%= render :partial => 'spree/admin/shared/edit_resource_links' %>
14
+ </fieldset>
15
+ </div>
16
+ <% end %>
17
+
18
+ <% content_for :head do %>
19
+ <%= javascript_include_tag 'spree/backend/product_packages/edit.js' %>
20
+ <% end %>
@@ -0,0 +1,49 @@
1
+ <% content_for :head do %>
2
+ <%= javascript_include_tag 'spree/backend/product_packages/index.js' %>
3
+ <% end %>
4
+
5
+ <%= render 'spree/admin/shared/correios_tabs', current: 'Product Packages' %>
6
+ <%= render 'spree/admin/shared/error_messages', :target => @product_package %>
7
+
8
+ <% content_for :page_title do %>
9
+ <%= Spree.t(:product_packages) %>
10
+ <% end %>
11
+
12
+ <% content_for :page_actions do %>
13
+ <%= button_link_to(Spree.t(:new_package), new_admin_product_package_url(@product_package), :id => 'new_product_package_link', :class => 'btn-success spree_add_fields pull-right', icon: 'add') %>
14
+ <% end %>
15
+ <div id="product_packages" data-hook></div>
16
+
17
+ <% unless @product_packages.any? %>
18
+ <div class="no-objects-found alert alert-info">
19
+ <%= Spree.t(:no_product_package_found) %>,
20
+ <%= link_to(Spree.t(:add_one), spree.new_admin_product_package_path(@product_package)) if can? :create, Spree::Product %>!
21
+ </div>
22
+ <% else %>
23
+ <table class="table">
24
+ <thead data-hook="option_header">
25
+ <tr data-hook="product_packages_header">
26
+ <th><%= Spree.t(:length) %></th>
27
+ <th><%= Spree.t(:width) %></th>
28
+ <th><%= Spree.t(:height) %></th>
29
+ <th><%= Spree.t(:weight) %></th>
30
+ <th class="actions"></th>
31
+ </tr>
32
+ </thead>
33
+ <tbody id="product_packages" data-hook>
34
+ <% @product_packages.each do |package| %>
35
+ <tr id="<%= dom_id(package) %>" data-hook="product_package_row">
36
+ <td><%= package.length %></td>
37
+ <td><%= package.width %></td>
38
+ <td><%= package.height %></td>
39
+ <td><%= package.weight %></td>
40
+ <td class="actions actions-2 text-right">
41
+ <%= link_to_edit package, :no_text => true, :data => {:action => 'edit'} %>
42
+ &nbsp;
43
+ <%= link_to_delete package, { :url => admin_product_package_url(package), :no_text => true }%>
44
+ </td>
45
+ </tr>
46
+ <% end %>
47
+ </tbody>
48
+ </table>
49
+ <% end %>
@@ -0,0 +1,14 @@
1
+ <%= render :partial => 'spree/admin/shared/correios_tabs', :locals => { :current => 'Product Packages' } %>
2
+ <%= render 'spree/admin/shared/error_messages', :target => @product_package %>
3
+
4
+ <%= form_for [:admin, @product_package], :html => { :multipart => true } do |f| %>
5
+ <div class="well">
6
+ <fieldset data-hook="new_product_package">
7
+ <legend align="center"><%= Spree.t(:new_package) %></legend>
8
+ <%= render :partial => 'form', :locals => { :f => f } %>
9
+ <%= render :partial => 'spree/admin/shared/new_resource_links' %>
10
+ </fieldset>
11
+ </div>
12
+ <% end %>
13
+
14
+ <%= javascript_include_tag 'spree/backend/product_packages/new.js' %>
@@ -0,0 +1,11 @@
1
+ <% content_for :sidebar do %>
2
+ <ul class="nav nav-pills nav-stacked" data-hook="admin_correios_settings_tabs">
3
+ <%= content_tag :li, :class => ('active' if current == 'Correios Settings') do %>
4
+ <%= link_to_with_icon 'edit', Spree.t(:correios_settings), edit_admin_correios_shipping_settings_path %>
5
+ <% end if can?(:admin, current_store) %>
6
+
7
+ <%= content_tag :li, :class => ('active' if current == 'Product Packages') do %>
8
+ <%= link_to_with_icon 'gift', Spree.t(:product_packages), admin_product_packages_path %>
9
+ <% end if can?(:admin, current_store) %>
10
+ </ul>
11
+ <% end %>
@@ -0,0 +1,7 @@
1
+ en:
2
+ correios_shipping_settings: 'Correios Shipping Preferences'
3
+ correios_shipping:
4
+ id_correios: Correios ID
5
+ password_correios: Password (Supplied by ECT)
6
+ services: Services (separated by comma)
7
+ default_item_weight: Default item weight
@@ -0,0 +1,19 @@
1
+ pt-BR:
2
+ or: ou
3
+ correios_shipping_settings: 'Preferências dos Correios (ECT)'
4
+ spree:
5
+ edit_package: Editar Embalagem
6
+ correios_shipping_settings: 'Preferências dos Correios (ECT)'
7
+ correios_settings: Preferências
8
+ product_packages: Embalagens de Produto
9
+ new_package: Nova Embalagem
10
+ no_product_package_found: Nenhuma embalagem encontrada
11
+ length: Comprimento
12
+ correios_shipping:
13
+ id_correios: Identificação Correios
14
+ password_correios: Senha (Fornecida pela ECT)
15
+ services: Serviços (utilize "_" ao invés de espaços e separe por vírgula). Não altera a menos que tenha certeza do que está fazendo!
16
+ default_item_weight: Peso do item padrão (quando peso não for fornecido)
17
+ split_shipments: Permitir criar mais de um pacote para envio (Se o pedido passar das confs máximas da ECT)
18
+ max_shipping_weight: Peso máximo aceito pela ECT
19
+
data/config/routes.rb ADDED
@@ -0,0 +1,7 @@
1
+ Spree::Core::Engine.routes.draw do
2
+ namespace :admin do
3
+ resource :correios_shipping_settings, only: ['update', 'edit']
4
+
5
+ resources :product_packages
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ class CreateProductPackages < ActiveRecord::Migration
2
+ def change
3
+ create_table :spree_product_packages do |t|
4
+ t.integer "length", :default => 0, :null => false
5
+ t.integer "width", :default => 0, :null => false
6
+ t.integer "height", :default => 0, :null => false
7
+ t.integer "weight", :default => 0, :null => false
8
+ t.timestamps
9
+ end
10
+ end
11
+ end