comable-frontend 0.6.0 → 0.7.0.beta1
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.
- checksums.yaml +4 -4
- data/app/controllers/comable/application_controller.rb +1 -1
- data/app/controllers/comable/carts_controller.rb +10 -6
- data/app/controllers/comable/orders_controller.rb +1 -1
- data/app/controllers/comable/products_controller.rb +8 -3
- data/app/views/comable/products/show.slim +5 -2
- data/app/views/comable/shared/_footer.slim +29 -24
- data/app/views/comable/shared/_navigation.slim +15 -0
- data/config/routes.rb +1 -1
- metadata +76 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd8d3056a1d712053111167dc1077011461824ac
|
4
|
+
data.tar.gz: 533909155a352a26e60ec64901310c293d8b72d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c866da507485e1170c6f21354a07e07bcc6f79e3c110d2da26a130814dcee10629f0f95e37c6c94c08eb266e92d6cbac7969e501ee4b3bbb50a1c634ebdb8317
|
7
|
+
data.tar.gz: 6def5925e8c1e1ba5a8817296f9d4061e66c1075fd9cc6792ee007d1b1ea6c95e3f984f831a505b8e00a9f707e3b57612c3cf0fa79931ca64e03e3c3573b3d9c
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Comable
|
2
2
|
class CartsController < Comable::ApplicationController
|
3
|
-
before_filter :set_cart_item, only: [:add, :update]
|
4
|
-
before_filter :ensure_found_cart_item, only: [:add, :update]
|
3
|
+
before_filter :set_cart_item, only: [:add, :update, :destroy]
|
4
|
+
before_filter :ensure_found_cart_item, only: [:add, :update, :destroy]
|
5
5
|
|
6
6
|
def add
|
7
7
|
if current_comable_user.add_cart_item(@cart_item, cart_item_options)
|
@@ -22,10 +22,7 @@ module Comable
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def destroy
|
25
|
-
cart_item
|
26
|
-
return redirect_by_product_not_found unless cart_item
|
27
|
-
|
28
|
-
if current_comable_user.reset_cart_item(cart_item)
|
25
|
+
if current_comable_user.reset_cart_item(@cart_item)
|
29
26
|
redirect_to comable.cart_path, notice: Comable.t('carts.updated')
|
30
27
|
else
|
31
28
|
flash.now[:alert] = Comable.t('carts.invalid')
|
@@ -51,12 +48,19 @@ module Comable
|
|
51
48
|
|
52
49
|
def find_cart_item
|
53
50
|
cart_item = Comable::Stock.where(id: params[:stock_id]).first
|
51
|
+
cart_item ||= find_variant
|
54
52
|
cart_item ||= Comable::Product.where(id: params[:product_id]).first
|
55
53
|
return unless cart_item
|
56
54
|
return if cart_item.is_a?(Comable::Product) && cart_item.sku?
|
57
55
|
cart_item
|
58
56
|
end
|
59
57
|
|
58
|
+
def find_variant
|
59
|
+
Comable::Variant.joins(:option_values).where(
|
60
|
+
Comable::OptionValue.table_name => { id: params[:option_values] }
|
61
|
+
).first
|
62
|
+
end
|
63
|
+
|
60
64
|
def cart_item_options
|
61
65
|
options = {}
|
62
66
|
options.update(quantity: params[:quantity].to_i) if params[:quantity]
|
@@ -32,7 +32,7 @@ module Comable
|
|
32
32
|
|
33
33
|
flash.now[:notice] = Comable.t('orders.success')
|
34
34
|
send_order_complete_mail
|
35
|
-
rescue ActiveRecord::RecordInvalid
|
35
|
+
rescue ActiveRecord::RecordInvalid, Comable::PaymentError
|
36
36
|
flash[:alert] = @order.errors.full_messages.join
|
37
37
|
redirect_to next_order_path
|
38
38
|
end
|
@@ -7,7 +7,7 @@ module Comable
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def show
|
10
|
-
@product = Comable::Product.find(params[:id])
|
10
|
+
@product = preview? ? Comable::Product.find(params[:id]) : Comable::Product.published.find(params[:id])
|
11
11
|
end
|
12
12
|
|
13
13
|
private
|
@@ -16,10 +16,15 @@ module Comable
|
|
16
16
|
@category = Comable::Category.where(id: params[:category_id]).first
|
17
17
|
if @category
|
18
18
|
subtree_of_category = Comable::Category.subtree_of(@category)
|
19
|
-
@products = Comable::Product.eager_load(:categories).merge(subtree_of_category)
|
19
|
+
@products = Comable::Product.published.eager_load(:categories).merge(subtree_of_category)
|
20
20
|
else
|
21
|
-
@products = Comable::Product.search(params[:q])
|
21
|
+
@products = Comable::Product.published.search(params[:q])
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
def preview?
|
26
|
+
session[Comable::Product::PREVIEW_SESSION_KEY] ||= {}
|
27
|
+
session[Comable::Product::PREVIEW_SESSION_KEY][params[:id]]
|
28
|
+
end
|
24
29
|
end
|
25
30
|
end
|
@@ -33,8 +33,11 @@
|
|
33
33
|
|
34
34
|
= form_tag comable.add_cart_path do
|
35
35
|
- if @product.sku?
|
36
|
-
.
|
37
|
-
|
36
|
+
- @product.variants.map(&:option_values).flatten.uniq.group_by(&:option_type).each_pair.with_index do |(option_type, option_values), index|
|
37
|
+
.sku
|
38
|
+
label for="option_values_#{index}"
|
39
|
+
= option_type.name
|
40
|
+
= select_tag "option_values[]", options_for_select(option_values.map { |o| [o.name, o.id] }), id: "option_values_#{index}"
|
38
41
|
|
39
42
|
- if @product.stocked?
|
40
43
|
.add_cart.form-inline.form-group
|
@@ -11,29 +11,34 @@ footer
|
|
11
11
|
li
|
12
12
|
i.glyphicon.glyphicon-envelope>
|
13
13
|
| comable@example.com
|
14
|
-
.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
=
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
=
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
14
|
+
- if current_navigations.any?
|
15
|
+
= render 'comable/shared/navigation'
|
16
|
+
- else
|
17
|
+
.col-md-4
|
18
|
+
h3
|
19
|
+
= Comable.t('pages')
|
20
|
+
ul.list-unstyled
|
21
|
+
li
|
22
|
+
= link_to Comable.t('home'), comable.root_path
|
23
|
+
li
|
24
|
+
= link_to Comable.t('products'), comable.products_path
|
25
|
+
li
|
26
|
+
= link_to Comable.t('cart'), comable.cart_path
|
27
|
+
li
|
28
|
+
= link_to Comable.t('my_account'), comable.user_path
|
29
|
+
.col-md-4
|
30
|
+
h3
|
31
|
+
= Comable.t('my_account')
|
32
|
+
ul.list-unstyled
|
33
|
+
li
|
34
|
+
= link_to Comable.t('sign_in'), comable.new_user_session_path
|
35
|
+
li
|
36
|
+
= link_to Comable.t('my_account'), comable.user_path
|
37
|
+
li
|
38
|
+
= link_to Comable.t('change_email_or_password'), comable.edit_user_path
|
39
|
+
li
|
40
|
+
= link_to Comable.t('edit_your_address_book'), comable.addresses_user_path
|
41
|
+
|
42
|
+
|
38
43
|
.credit
|
39
44
|
| Powered by #{link_to Comable.app_name, Comable.homepage}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
- current_navigations.each do |navigation|
|
2
|
+
.col-md-4
|
3
|
+
h3
|
4
|
+
= navigation.name
|
5
|
+
ul.list-unstyled
|
6
|
+
- navigation.navigation_items.each do |navigation_item|
|
7
|
+
li
|
8
|
+
- if navigation_item.url?
|
9
|
+
= link_to navigation_item.name, navigation_item.url
|
10
|
+
|
11
|
+
- elsif navigation_item.linkable.present?
|
12
|
+
= link_to navigation_item.name, polymorphic_url(navigation_item.linkable)
|
13
|
+
|
14
|
+
- else
|
15
|
+
= link_to navigation_item.name, polymorphic_url(navigation_item.linkable_type.constantize)
|
data/config/routes.rb
CHANGED
@@ -23,7 +23,7 @@ Comable::Core::Engine.routes.draw do
|
|
23
23
|
|
24
24
|
resources :pages, only: [:show]
|
25
25
|
|
26
|
-
devise_for :
|
26
|
+
devise_for :users, path: :member, class_name: Comable::User.name, module: :devise, router_name: :comable
|
27
27
|
|
28
28
|
resource :user, path: :member do
|
29
29
|
member do
|
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.
|
4
|
+
version: 0.7.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YOSHIDA Hiroki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: comable-core
|
@@ -16,21 +16,21 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.7.0.beta1
|
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.
|
26
|
+
version: 0.7.0.beta1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 4.0.0
|
34
34
|
- - "<"
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: '5'
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 4.0.0
|
44
44
|
- - "<"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '5'
|
@@ -49,6 +49,9 @@ dependencies:
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
- - ">="
|
52
55
|
- !ruby/object:Gem::Version
|
53
56
|
version: 3.0.1
|
54
57
|
type: :runtime
|
@@ -56,6 +59,9 @@ dependencies:
|
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
61
|
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '3.0'
|
64
|
+
- - ">="
|
59
65
|
- !ruby/object:Gem::Version
|
60
66
|
version: 3.0.1
|
61
67
|
- !ruby/object:Gem::Dependency
|
@@ -64,14 +70,20 @@ dependencies:
|
|
64
70
|
requirements:
|
65
71
|
- - ">="
|
66
72
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
73
|
+
version: 5.0.3
|
74
|
+
- - "<"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '5.1'
|
68
77
|
type: :runtime
|
69
78
|
prerelease: false
|
70
79
|
version_requirements: !ruby/object:Gem::Requirement
|
71
80
|
requirements:
|
72
81
|
- - ">="
|
73
82
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
83
|
+
version: 5.0.3
|
84
|
+
- - "<"
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '5.1'
|
75
87
|
- !ruby/object:Gem::Dependency
|
76
88
|
name: coffee-rails
|
77
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,118 +110,142 @@ dependencies:
|
|
98
110
|
requirements:
|
99
111
|
- - "~>"
|
100
112
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.0
|
113
|
+
version: '2.0'
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 2.0.5
|
102
117
|
type: :runtime
|
103
118
|
prerelease: false
|
104
119
|
version_requirements: !ruby/object:Gem::Requirement
|
105
120
|
requirements:
|
106
121
|
- - "~>"
|
107
122
|
- !ruby/object:Gem::Version
|
108
|
-
version: 2.0
|
123
|
+
version: '2.0'
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 2.0.5
|
109
127
|
- !ruby/object:Gem::Dependency
|
110
128
|
name: uglifier
|
111
129
|
requirement: !ruby/object:Gem::Requirement
|
112
130
|
requirements:
|
113
131
|
- - "~>"
|
114
132
|
- !ruby/object:Gem::Version
|
115
|
-
version: 2.7
|
133
|
+
version: '2.7'
|
116
134
|
type: :runtime
|
117
135
|
prerelease: false
|
118
136
|
version_requirements: !ruby/object:Gem::Requirement
|
119
137
|
requirements:
|
120
138
|
- - "~>"
|
121
139
|
- !ruby/object:Gem::Version
|
122
|
-
version: 2.7
|
140
|
+
version: '2.7'
|
123
141
|
- !ruby/object:Gem::Dependency
|
124
|
-
name:
|
142
|
+
name: jquery-rails
|
125
143
|
requirement: !ruby/object:Gem::Requirement
|
126
144
|
requirements:
|
127
|
-
- - "
|
145
|
+
- - ">="
|
128
146
|
- !ruby/object:Gem::Version
|
129
|
-
version: 3.
|
147
|
+
version: 3.1.2
|
148
|
+
- - "<"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '4.1'
|
130
151
|
type: :runtime
|
131
152
|
prerelease: false
|
132
153
|
version_requirements: !ruby/object:Gem::Requirement
|
133
154
|
requirements:
|
134
|
-
- - "
|
155
|
+
- - ">="
|
135
156
|
- !ruby/object:Gem::Version
|
136
|
-
version: 3.
|
157
|
+
version: 3.1.2
|
158
|
+
- - "<"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '4.1'
|
137
161
|
- !ruby/object:Gem::Dependency
|
138
|
-
name:
|
162
|
+
name: jquery-ui-rails
|
139
163
|
requirement: !ruby/object:Gem::Requirement
|
140
164
|
requirements:
|
141
165
|
- - "~>"
|
142
166
|
- !ruby/object:Gem::Version
|
143
|
-
version:
|
167
|
+
version: '5.0'
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: 5.0.3
|
144
171
|
type: :runtime
|
145
172
|
prerelease: false
|
146
173
|
version_requirements: !ruby/object:Gem::Requirement
|
147
174
|
requirements:
|
148
175
|
- - "~>"
|
149
176
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
177
|
+
version: '5.0'
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 5.0.3
|
151
181
|
- !ruby/object:Gem::Dependency
|
152
|
-
name:
|
182
|
+
name: bootstrap-sass
|
153
183
|
requirement: !ruby/object:Gem::Requirement
|
154
184
|
requirements:
|
155
185
|
- - "~>"
|
156
186
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
187
|
+
version: '3.3'
|
188
|
+
- - ">="
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: 3.3.3
|
158
191
|
type: :runtime
|
159
192
|
prerelease: false
|
160
193
|
version_requirements: !ruby/object:Gem::Requirement
|
161
194
|
requirements:
|
162
195
|
- - "~>"
|
163
196
|
- !ruby/object:Gem::Version
|
164
|
-
version:
|
197
|
+
version: '3.3'
|
198
|
+
- - ">="
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 3.3.3
|
165
201
|
- !ruby/object:Gem::Dependency
|
166
|
-
name:
|
202
|
+
name: font-awesome-rails
|
167
203
|
requirement: !ruby/object:Gem::Requirement
|
168
204
|
requirements:
|
169
205
|
- - "~>"
|
170
206
|
- !ruby/object:Gem::Version
|
171
|
-
version: 3
|
172
|
-
- - "<"
|
173
|
-
- !ruby/object:Gem::Version
|
174
|
-
version: '4.1'
|
207
|
+
version: '4.3'
|
175
208
|
type: :runtime
|
176
209
|
prerelease: false
|
177
210
|
version_requirements: !ruby/object:Gem::Requirement
|
178
211
|
requirements:
|
179
212
|
- - "~>"
|
180
213
|
- !ruby/object:Gem::Version
|
181
|
-
version: 3
|
182
|
-
- - "<"
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
version: '4.1'
|
214
|
+
version: '4.3'
|
185
215
|
- !ruby/object:Gem::Dependency
|
186
|
-
name:
|
216
|
+
name: kaminari
|
187
217
|
requirement: !ruby/object:Gem::Requirement
|
188
218
|
requirements:
|
189
219
|
- - "~>"
|
190
220
|
- !ruby/object:Gem::Version
|
191
|
-
version:
|
221
|
+
version: '0.16'
|
222
|
+
- - ">="
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: 0.16.2
|
192
225
|
type: :runtime
|
193
226
|
prerelease: false
|
194
227
|
version_requirements: !ruby/object:Gem::Requirement
|
195
228
|
requirements:
|
196
229
|
- - "~>"
|
197
230
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
231
|
+
version: '0.16'
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: 0.16.2
|
199
235
|
- !ruby/object:Gem::Dependency
|
200
236
|
name: meta-tags
|
201
237
|
requirement: !ruby/object:Gem::Requirement
|
202
238
|
requirements:
|
203
239
|
- - "~>"
|
204
240
|
- !ruby/object:Gem::Version
|
205
|
-
version: 2.0
|
241
|
+
version: '2.0'
|
206
242
|
type: :runtime
|
207
243
|
prerelease: false
|
208
244
|
version_requirements: !ruby/object:Gem::Requirement
|
209
245
|
requirements:
|
210
246
|
- - "~>"
|
211
247
|
- !ruby/object:Gem::Version
|
212
|
-
version: 2.0
|
248
|
+
version: '2.0'
|
213
249
|
description: Provide frontend functions for Comable.
|
214
250
|
email:
|
215
251
|
- hyoshida@appirits.com
|
@@ -252,6 +288,7 @@ files:
|
|
252
288
|
- app/views/comable/shared/_footer.slim
|
253
289
|
- app/views/comable/shared/_header.slim
|
254
290
|
- app/views/comable/shared/_header_for_checkout.slim
|
291
|
+
- app/views/comable/shared/_navigation.slim
|
255
292
|
- app/views/comable/shared/_products.slim
|
256
293
|
- app/views/comable/shared/_tracker.slim
|
257
294
|
- app/views/comable/users/_address.slim
|
@@ -282,9 +319,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
319
|
version: '0'
|
283
320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
284
321
|
requirements:
|
285
|
-
- - "
|
322
|
+
- - ">"
|
286
323
|
- !ruby/object:Gem::Version
|
287
|
-
version:
|
324
|
+
version: 1.3.1
|
288
325
|
requirements: []
|
289
326
|
rubyforge_project:
|
290
327
|
rubygems_version: 2.2.2
|