comable_frontend 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 10dec2ca9318ce2ef297d434cf57ac8ea50030d7
4
- data.tar.gz: a8126652a4b4f513adb207a636e123ea7625abde
3
+ metadata.gz: 818130115846669a1166faed5413d2ae2ed988e9
4
+ data.tar.gz: d024d10b74212e576fe0b68d3776e4875ea6a5e7
5
5
  SHA512:
6
- metadata.gz: 27c637c54425d5507b2af9594931de4aa6785eddc1f9a587d41f781e1b216d421c9dc30b752eb70b1ab9bd2a0947a4f5a10966751ae2df56abc5fc166e02f627
7
- data.tar.gz: c97d2246135a7e13881928e8e29ff9ef572506c35c97dc278ca11c79509c79525ac5cce23cd8b0314afd71fad6cd148857b68c0dc0ec3a52eba339b74471c109
6
+ metadata.gz: 2fef8557e1d66e73985642526013ee0d7532f873c897b0b6f8e87cf993cbc2970746f46bea364c55e3172c4741dc1ff98453122a334ac26fd7d15bf71bd16e40
7
+ data.tar.gz: 24d80b8c5c0f182eaa586ceeadcdab503b3841b6b21a5f41e612dfdeb2603beccd5daa3bc246d1207eba241fc03102af5c280f71a156d17a01251734f0a9c92c
data/Rakefile CHANGED
@@ -6,9 +6,6 @@ end
6
6
 
7
7
  require 'rdoc/task'
8
8
 
9
- $LOAD_PATH.unshift File.expand_path('..', __FILE__)
10
- require 'tasks/release'
11
-
12
9
  RDoc::Task.new(:rdoc) do |rdoc|
13
10
  rdoc.rdoc_dir = 'rdoc'
14
11
  rdoc.title = 'Comable'
@@ -16,11 +13,12 @@ RDoc::Task.new(:rdoc) do |rdoc|
16
13
  rdoc.rdoc_files.include('lib/**/*.rb')
17
14
  end
18
15
 
19
- if ENV['COMABLE_NESTED']
20
- task default: ['app:spec', 'rubocop']
21
- else
22
- APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
23
- load 'rails/tasks/engine.rake'
16
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
17
+ load 'rails/tasks/engine.rake'
18
+
19
+ if File.exist?('comable.gemspec')
20
+ $LOAD_PATH.unshift File.expand_path('..', __FILE__)
21
+ require 'tasks/release'
24
22
 
25
23
  namespace :app do
26
24
  namespace :spec do
@@ -47,7 +45,7 @@ else
47
45
  namespace :migrate do
48
46
  task :all do
49
47
  FRAMEWORKS.each do |framework|
50
- command = "cd #{framework} && test -d db && bundle exec rake db:migrate RAILS_ENV=#{Rails.env} COMABLE_NESTED=true"
48
+ command = "cd #{framework} && test -d db && bundle exec rake db:migrate RAILS_ENV=#{Rails.env}"
51
49
  puts command
52
50
  system command
53
51
  end
@@ -62,7 +60,7 @@ else
62
60
  namespace :reset do
63
61
  task :all do
64
62
  FRAMEWORKS.each do |framework|
65
- command = "cd #{framework} && test -d db && bundle exec rake db:migrate:reset RAILS_ENV=#{Rails.env} COMABLE_NESTED=true"
63
+ command = "cd #{framework} && test -d db && bundle exec rake db:migrate:reset RAILS_ENV=#{Rails.env}"
66
64
  puts command
67
65
  system command
68
66
  end
@@ -74,6 +72,8 @@ else
74
72
  task default: ['app:spec:all', 'rubocop']
75
73
  end
76
74
 
75
+ task default: ['app:spec', 'rubocop']
76
+
77
77
  Bundler::GemHelper.install_tasks
78
78
 
79
79
  # from https://github.com/rspec/rspec-rails/issues/936
@@ -1,5 +1,8 @@
1
1
  module Comable
2
2
  class OrdersController < ApplicationController
3
+ prepend Comable::ShipmentAction
4
+ prepend Comable::PaymentAction
5
+
3
6
  before_filter :load_order
4
7
  before_filter :verify
5
8
  before_filter :redirect_for_logged_in_customer, only: [:new, :orderer]
@@ -8,8 +11,6 @@ module Comable
8
11
  rescue_from ActiveRecord::RecordInvalid, with: :record_invalid
9
12
  rescue_from Comable::InvalidOrder, with: :order_invalid
10
13
 
11
- include Decoratable
12
-
13
14
  def new
14
15
  end
15
16
 
@@ -23,14 +24,7 @@ module Comable
23
24
  def delivery
24
25
  case request.method_symbol
25
26
  when :post
26
- redirect_to comable.payment_order_path
27
- end
28
- end
29
-
30
- def payment
31
- case request.method_symbol
32
- when :post
33
- redirect_to comable.confirm_order_path
27
+ redirect_to next_order_path
34
28
  end
35
29
  end
36
30
 
@@ -40,6 +34,7 @@ module Comable
40
34
  def create
41
35
  order = current_customer.order
42
36
  if order.complete?
37
+ Comable::OrderMailer.complete(order).deliver if current_store.email_activate?
43
38
  flash[:notice] = I18n.t('comable.orders.success')
44
39
  else
45
40
  flash[:alert] = I18n.t('comable.orders.failure')
@@ -49,6 +44,17 @@ module Comable
49
44
 
50
45
  private
51
46
 
47
+ def next_order_path(target_action_name = nil)
48
+ case (target_action_name || action_name).to_sym
49
+ when :delivery
50
+ shipment_required? ? comable.shipment_order_path : next_order_path(:shipment)
51
+ when :shipment
52
+ payment_required? ? comable.payment_order_path : next_order_path(:payment)
53
+ else
54
+ comable.confirm_order_path
55
+ end
56
+ end
57
+
52
58
  def verify
53
59
  return if current_customer.cart.any?
54
60
  flash[:alert] = I18n.t('comable.carts.empty')
@@ -70,15 +76,14 @@ module Comable
70
76
  order_params_for_orderer
71
77
  when :delivery
72
78
  order_params_for_delivery
73
- when :payment
74
- order_params_for_payment
75
79
  end
76
80
  end
77
81
 
78
82
  def order_params_for_orderer
79
83
  params.require(:order).permit(
80
84
  :family_name,
81
- :first_name
85
+ :first_name,
86
+ :email
82
87
  )
83
88
  end
84
89
 
@@ -92,12 +97,6 @@ module Comable
92
97
  )
93
98
  end
94
99
 
95
- def order_params_for_payment
96
- params.require(:order).permit(
97
- Comable::Payment.table_name.singularize.foreign_key.to_sym
98
- )
99
- end
100
-
101
100
  def redirect_for_logged_in_customer
102
101
  return redirect_to delivery_order_path if current_customer.logged_in?
103
102
  end
@@ -0,0 +1,27 @@
1
+ module Comable
2
+ module PaymentAction
3
+ def payment
4
+ case request.method_symbol
5
+ when :post
6
+ redirect_to next_order_path
7
+ end
8
+ end
9
+
10
+ private
11
+
12
+ # orderride OrdersController#order_params
13
+ def order_params
14
+ (action_name.to_sym == :payment) ? order_params_for_payment : super
15
+ end
16
+
17
+ def payment_required?
18
+ Comable::Payment.exists?
19
+ end
20
+
21
+ def order_params_for_payment
22
+ params.fetch(:order, {}).permit(
23
+ :comable_payment_id
24
+ )
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ module Comable
2
+ module ShipmentAction
3
+ def shipment
4
+ case request.method_symbol
5
+ when :post
6
+ redirect_to next_order_path
7
+ end
8
+ end
9
+
10
+ private
11
+
12
+ # orderride OrdersController#order_params
13
+ def order_params
14
+ (action_name.to_sym == :shipment) ? order_params_for_shipment : super
15
+ end
16
+
17
+ def shipment_required?
18
+ Comable::ShipmentMethod.activated.exists?
19
+ end
20
+
21
+ def order_params_for_shipment
22
+ params.fetch(:order, {}).permit(
23
+ :shipment_method_id
24
+ )
25
+ end
26
+ end
27
+ end
@@ -7,7 +7,7 @@ ul.cart
7
7
  - product = stock.product
8
8
  li.product
9
9
  h2.name
10
- = link_to stock.name, comable.product_path(product)
10
+ = link_to stock.name_with_sku, comable.product_path(product)
11
11
  .caption
12
12
  = product.caption
13
13
  .price
@@ -2,12 +2,15 @@ h1 注文情報確認
2
2
 
3
3
  .order
4
4
  .orderer
5
+ h2 注文者
5
6
  .family_name
6
7
  = @order.family_name
7
8
  .first_name
8
9
  = @order.first_name
10
+
9
11
  .deliveries
10
- - @order.order_deliveries.each do |order_delivery|
12
+ - @order.order_deliveries.each.with_index(1) do |order_delivery, index|
13
+ h2 = "配送先[#{index}]"
11
14
  .first_name
12
15
  = order_delivery.family_name
13
16
  .first_name
@@ -21,5 +24,14 @@ h1 注文情報確認
21
24
  .quantity
22
25
  = order_detail.quantity
23
26
 
27
+ .total
28
+ h2 お会計
29
+ .item_total_price
30
+ = @order.current_item_total_price
31
+ .shipment_fee
32
+ = @order.current_shipment_fee
33
+ .total_price
34
+ = @order.current_total_price
35
+
24
36
  = form_for @order, as: :order, url: comable.order_path, method: :post do |f|
25
37
  = f.submit
@@ -4,4 +4,5 @@ h1 注文者情報入力
4
4
  = form_for @order, as: :order, url: comable.orderer_order_path, method: :put do |f|
5
5
  = f.text_field :family_name, placeholder: '姓'
6
6
  = f.text_field :first_name, placeholder: '名'
7
+ = f.email_field :email, placeholder: @order.class.human_attribute_name(:email)
7
8
  = f.submit
@@ -0,0 +1,11 @@
1
+ h1 発送方法
2
+
3
+ .order.shipment
4
+ = form_for @order, as: :order, url: comable.shipment_order_path, method: :put do |f|
5
+ ul
6
+ - Comable::ShipmentMethod.activated.each.with_index do |shipment_method, index|
7
+ li
8
+ - checked_flag = @order.shipment_method ? (@order.shipment_method.id == shipment_method.id) : index.zero?
9
+ = f.radio_button :shipment_method_id, shipment_method.id, checked: checked_flag
10
+ = f.label :shipment_method_id, shipment_method.name, value: shipment_method.id
11
+ = f.submit
@@ -1,7 +1,14 @@
1
1
  doctype html
2
2
  html
3
3
  head
4
- title Comable
4
+ title = current_store.name
5
+
6
+ - if current_store.meta_keyword.present?
7
+ meta name="keywords" content="#{current_store.meta_keyword}"
8
+
9
+ - if current_store.meta_description.present?
10
+ meta name="description" content="#{current_store.meta_description}"
11
+
5
12
  = stylesheet_link_tag "comable/application", media: "all"
6
13
  = javascript_include_tag "comable/application"
7
14
  = csrf_meta_tags
data/config/routes.rb CHANGED
@@ -15,6 +15,8 @@ Comable::Core::Engine.routes.draw do
15
15
  put :orderer
16
16
  get :delivery
17
17
  put :delivery
18
+ get :shipment
19
+ put :shipment
18
20
  get :payment
19
21
  put :payment
20
22
  get :confirm
@@ -13,6 +13,8 @@ module Comable
13
13
 
14
14
  # XXX: a code below to delegate comable:install:migrations to comable_core
15
15
  config.paths['db/migrate'] = []
16
+
17
+ config.autoload_paths << "#{config.root}/app/controllers/concerns" if Rails::VERSION::MAJOR == 3
16
18
  end
17
19
  end
18
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comable_frontend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - YOSHIDA Hiroki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-18 00:00:00.000000000 Z
11
+ date: 2014-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: comable_core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.0
19
+ version: 0.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.0
26
+ version: 0.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +65,8 @@ files:
65
65
  - app/controllers/comable/carts_controller.rb
66
66
  - app/controllers/comable/orders_controller.rb
67
67
  - app/controllers/comable/products_controller.rb
68
+ - app/controllers/concerns/comable/payment_action.rb
69
+ - app/controllers/concerns/comable/shipment_action.rb
68
70
  - app/views/comable/carts/show.slim
69
71
  - app/views/comable/orders/confirm.slim
70
72
  - app/views/comable/orders/create.slim
@@ -72,6 +74,7 @@ files:
72
74
  - app/views/comable/orders/new.slim
73
75
  - app/views/comable/orders/orderer.slim
74
76
  - app/views/comable/orders/payment.slim
77
+ - app/views/comable/orders/shipment.slim
75
78
  - app/views/comable/products/index.slim
76
79
  - app/views/comable/products/show.slim
77
80
  - app/views/layouts/comable/application.slim