comable-frontend 0.6.0 → 0.7.0.beta1

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: 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