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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e98385eb72b43cc2581f2eaec94c9c7747e08a1a
4
- data.tar.gz: a66e46e4b6d22d42b34f043b90c1ccb14e689cc3
3
+ metadata.gz: bd8d3056a1d712053111167dc1077011461824ac
4
+ data.tar.gz: 533909155a352a26e60ec64901310c293d8b72d3
5
5
  SHA512:
6
- metadata.gz: 7e7f28e268aaefd7239529bcd7aa6fe394a3d12dde754b3c87f315620920ff9c3cd78df566e6885112eef4307ada43696dc32ee7ec0102cad0cab4d203991af5
7
- data.tar.gz: a0b7a73309dae2284202eef19a115fd4a25071663477243651565cc9fc01dfd3ac2d541bfe7547db1f81d66b25e2fbaa2792d820562c5fd59951d5795b4c70fd
6
+ metadata.gz: c866da507485e1170c6f21354a07e07bcc6f79e3c110d2da26a130814dcee10629f0f95e37c6c94c08eb266e92d6cbac7969e501ee4b3bbb50a1c634ebdb8317
7
+ data.tar.gz: 6def5925e8c1e1ba5a8817296f9d4061e66c1075fd9cc6792ee007d1b1ea6c95e3f984f831a505b8e00a9f707e3b57612c3cf0fa79931ca64e03e3c3573b3d9c
@@ -6,7 +6,7 @@ module Comable
6
6
  before_filter :set_view_path
7
7
 
8
8
  def set_view_path
9
- prepend_view_path "themes/#{current_store.theme_name}" if current_store.theme_name
9
+ prepend_view_path current_store.theme.dir if current_store.theme
10
10
  end
11
11
  end
12
12
  end
@@ -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 = find_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
- .sku
37
- = sku_table @product
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
- .col-md-4
15
- h3
16
- = Comable.t('pages')
17
- ul.list-unstyled
18
- li
19
- = link_to Comable.t('home'), comable.root_path
20
- li
21
- = link_to Comable.t('products'), comable.products_path
22
- li
23
- = link_to Comable.t('cart'), comable.cart_path
24
- li
25
- = link_to Comable.t('my_account'), comable.user_path
26
- .col-md-4
27
- h3
28
- = Comable.t('my_account')
29
- ul.list-unstyled
30
- li
31
- = link_to Comable.t('sign_in'), comable.new_user_session_path
32
- li
33
- = link_to Comable.t('my_account'), comable.user_path
34
- li
35
- = link_to Comable.t('change_email_or_password'), comable.edit_user_path
36
- li
37
- = link_to Comable.t('edit_your_address_book'), comable.addresses_user_path
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 :user, path: :member, class_name: Comable::User.name, module: :devise
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.6.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-07-16 00:00:00.000000000 Z
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.6.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.6.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: 3.2.0
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: 3.2.0
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: '0'
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: '0'
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.4
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.4
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.0
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.0
140
+ version: '2.7'
123
141
  - !ruby/object:Gem::Dependency
124
- name: bootstrap-sass
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.3.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.3.3
157
+ version: 3.1.2
158
+ - - "<"
159
+ - !ruby/object:Gem::Version
160
+ version: '4.1'
137
161
  - !ruby/object:Gem::Dependency
138
- name: font-awesome-rails
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: 4.3.0.0
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: 4.3.0.0
177
+ version: '5.0'
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 5.0.3
151
181
  - !ruby/object:Gem::Dependency
152
- name: kaminari
182
+ name: bootstrap-sass
153
183
  requirement: !ruby/object:Gem::Requirement
154
184
  requirements:
155
185
  - - "~>"
156
186
  - !ruby/object:Gem::Version
157
- version: 0.16.2
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: 0.16.2
197
+ version: '3.3'
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 3.3.3
165
201
  - !ruby/object:Gem::Dependency
166
- name: jquery-rails
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.1.2
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.1.2
182
- - - "<"
183
- - !ruby/object:Gem::Version
184
- version: '4.1'
214
+ version: '4.3'
185
215
  - !ruby/object:Gem::Dependency
186
- name: jquery-ui-rails
216
+ name: kaminari
187
217
  requirement: !ruby/object:Gem::Requirement
188
218
  requirements:
189
219
  - - "~>"
190
220
  - !ruby/object:Gem::Version
191
- version: 5.0.3
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: 5.0.3
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.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.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: '0'
324
+ version: 1.3.1
288
325
  requirements: []
289
326
  rubyforge_project:
290
327
  rubygems_version: 2.2.2