ishapi 0.1.8.74 → 0.1.8.75

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: 4fac47d3eaf34f9148446b344c0500078806ddb9
4
- data.tar.gz: e0c0533d160f720fdf43da7aa03e5380a495b488
3
+ metadata.gz: aea33948dc0597f370cec2f06610fa20a092ab0e
4
+ data.tar.gz: b31f137e9c80e29389c89f921cf7196242b9aeda
5
5
  SHA512:
6
- metadata.gz: 90dc18a9da6a19f8545bd074536d6d94e0aac6b6529baedd172c01eb84b4643c104e5bd15cca36dcf5a05c85d3749fda3404334e21926c7e4db965681940803d
7
- data.tar.gz: 5f3e19fea79a69014f2e43159796f5d167e13cdae74640fbc3101a0e929adc035fc5c4ff901fffdb95e39c7d7f6df918dd779e797509d45a6a8ef2a10ba96e2b
6
+ metadata.gz: f57e3ad0855e726c9f28dd42b3fb540ad7d87486054127887e7fea599c5247e4b8e976d04cb76ba23327f3049310a9dfe732df69dd6f41c7fc7c5105f495094d
7
+ data.tar.gz: dc72d641ae76ddede37645d63874fb992713fcd11194f746f547dc7752dd843d806e8fe51251ee95de6adea5b32d4d49a5dff6e537766ca6821507a85412cdfd
@@ -0,0 +1,26 @@
1
+ require_dependency "ishapi/application_controller"
2
+
3
+ module Ishapi
4
+ class MeasurementsController < ApplicationController
5
+ before_action :check_profile, :only => [ :update ]
6
+
7
+ def update
8
+ authorize! :update_measurements, CoTailors::Order
9
+ flag = @current_profile.measurement.update_attributes params[:measurement].permit( CoTailors::Order::MEASUREMENT_PARAMS )
10
+
11
+ # byebug
12
+
13
+ if flag
14
+ render :json => { :status => :ok }
15
+ else
16
+ render :json => { :status => :not_ok, :error => @current_profile.measurement.errors.messages }
17
+ end
18
+ end
19
+
20
+ #
21
+ # private
22
+ #
23
+ private
24
+
25
+ end
26
+ end
@@ -6,22 +6,32 @@ module Ishapi
6
6
 
7
7
  def create
8
8
  authorize! :add, CoTailors::OrderItem
9
- @measurement = CoTailors::ProfileMeasurement.create params['order_item'].permit( :neck_around )
10
9
  @order_item = CoTailors::OrderItem.new params['order_item'].permit( :quantity, :kind, :fabric )
11
10
  @order_item.order_id = @current_order.id
12
11
  @order_item.measurement = @measurement
13
- @measurement.order_item_id = @order_item.id
14
- @measurement.save
12
+ @order_item.cost = case params[:order_item][:kind]
13
+ when CoTailors::OrderItem::KIND_SHIRT
14
+ CoTailors::Product.where( :kind => 'shirt' ).first.cost
15
+ when CoTailors::OrderItem::KIND_PANTS
16
+ CoTailors::Product.where( :kind => 'pants' ).first.cost
17
+ when CoTailors::OrderItem::KIND_SUIT
18
+ CoTailors::Product.where( :kind => 'suit' ).first.cost
19
+ end
20
+ @order_item.measurement = CoTailors::ProfileMeasurement.create params['order_item'].permit( CoTailors::Order::MEASUREMENT_PARAMS )
21
+
22
+ # byebug
15
23
 
16
24
  if params[:order_item][:saveMeasurement]
17
- m = @current_profile.measurements[0] || CoTailors::ProfileMeasurement.create( :profile => @current_profile )
25
+ m = @current_profile.measurement || CoTailors::ProfileMeasurement.create( :profile => @current_profile )
18
26
  flag = m.update_attributes( measurement_params )
19
- render :json => { :statuc => :not_ok, :error => m.errors.messages } and return if !flag
27
+ if !flag
28
+ render :json => { :statuc => :not_ok, :error => m.errors.messages }
29
+ return
30
+ end
20
31
  end
21
32
 
22
33
  flag = @order_item.save
23
34
  if flag
24
- puts! @order_item.measurement, 'ok'
25
35
  render :json => { :status => :ok, :message => 'Successfully put an order item' }
26
36
  else
27
37
  render :json => { :status => :not_ok, :error => @order_item.errors.messages }
@@ -16,6 +16,15 @@ params = {"token"=>{"id"=>"tok_1BoLkRDpn3WurCccVNQK4pfV", "object"=>"token", "ca
16
16
 
17
17
  @order = CoTailors::Order.where( :profile_id => @current_profile.id, :submitted_at => nil ).first
18
18
  @order.submitted_at = Time.now
19
+
20
+ Stripe.api_key = STRIPE_SK
21
+ charge = Stripe::Charge.create :amount => @order.grand_total, :currency => 'usd', :source => params['token']['id']
22
+ flag = charge.outcome[:type] == 'authorized'
23
+ if !flag
24
+ render :json => { :status => :not_ok, :message => "Something went wrong with the charge: " + charge.outcome.to_s }
25
+ return
26
+ end
27
+
19
28
  flag = @order.save
20
29
  if flag
21
30
  render :json => { :status => :ok, :message => 'Successfully placed the order' }
@@ -0,0 +1,12 @@
1
+ require_dependency "ishapi/application_controller"
2
+ module Ishapi
3
+ class ProductsController < ApplicationController
4
+
5
+ def show
6
+ @product = ::CoTailors::Product.where( :kind => params[:kind] ).first
7
+ authorize! :show, @product
8
+ end
9
+
10
+ end
11
+ end
12
+
@@ -17,12 +17,11 @@ class Ishapi::Ability
17
17
  gallery.user == user
18
18
  end
19
19
 
20
-
21
20
  can [ :update ], ::CoTailors::Address do |address|
22
21
  puts [ user.inspect, address.inspect ], '+++ user in cancancan'
23
22
  true
24
23
  end
25
-
24
+
26
25
  end
27
26
  #
28
27
  # anonymous user
@@ -33,8 +32,9 @@ class Ishapi::Ability
33
32
 
34
33
  can [ :update ], ::CoTailors::Address
35
34
  can [ :add ], ::CoTailors::OrderItem
36
- can [ :create ], ::CoTailors::Order
37
-
35
+ can [ :create, :update_measurements ], ::CoTailors::Order
36
+ can [ :show ], ::CoTailors::Product
37
+
38
38
  can [ :index, :show ], Event
39
39
 
40
40
  can [ :index ], Gallery
@@ -1,4 +1,14 @@
1
1
 
2
+ # _vp_ 20180309
3
+ # MEASUREMENT_PARAMS = [ :neck_around, :chest_around, :waist_around, :sleeve_length, :shoulder_width, :shirt_length, :bicep_around ]
4
+ #
5
+
2
6
  json.measurement do
3
- json.neck_around measurement.neck_around
7
+ json.neck_around measurement.neck_around
8
+ json.chest_around measurement.chest_around
9
+ json.waist_around measurement.waist_around
10
+ json.sleeve_length measurement.sleeve_length
11
+ json.shoulder_width measurement.shoulder_width
12
+ json.shirt_length measurement.shirt_length
13
+ json.bicep_around measurement.bicep_around
4
14
  end
@@ -2,6 +2,7 @@
2
2
  json.kind item.kind
3
3
  json.fabric item.fabric
4
4
  json.quantity item.quantity
5
+ json.cost item.cost
5
6
  if item.measurement
6
7
  json.neck_around item.measurement.neck_around
7
8
  end
@@ -1,7 +1,9 @@
1
1
 
2
2
  # ishapi / orders / _show
3
3
 
4
- json.n_items order.items.length
4
+ json.n_items order.items.length
5
+ json.order_total order.items.map { |i| i.cost }.reduce( :+ )
6
+
5
7
  json.order do
6
8
  json.array! order.items do |item|
7
9
  json.partial! 'ishapi/orders/item', :item => item
@@ -0,0 +1,9 @@
1
+
2
+ params.permit!
3
+ json.cache! [ params, @product ] do
4
+ json.cost @product.cost
5
+ json.title @product.title
6
+ json.description @product.description
7
+ json.kind @product.kind
8
+ end
9
+
@@ -11,5 +11,14 @@ json.reports do
11
11
  json.name report.name
12
12
  json.reportname report.name_seo
13
13
  json.description report.descr
14
+
15
+ if report.photo
16
+ json.photo do
17
+ json.thumb_url report.photo.photo.url :thumb
18
+ json.small_url report.photo.photo.url :small
19
+ json.large_url report.photo.photo.url :large
20
+ end
21
+ end
22
+
14
23
  end
15
24
  end
@@ -11,7 +11,12 @@ json.array! @reports do |report|
11
11
  json.subhead report.subhead
12
12
  json.description report.descr
13
13
  if report.photo
14
- json.photo report.photo.photo.url( :thumb )
14
+ json.photo report.photo.photo.url( :thumb ) # @deprecated 20180417
15
+ json.photos do
16
+ json.thumb_url report.photo.photo.url( :thumb )
17
+ json.small_url report.photo.photo.url( :small )
18
+ json.large_url report.photo.photo.url( :large )
19
+ end
15
20
  end
16
21
  end
17
22
 
@@ -24,6 +24,23 @@ json.cache! key do
24
24
 
25
25
  json.subhead @report.subhead
26
26
  json.description @report.descr
27
+
28
+ if @report.photo
29
+ json.photo do
30
+ json.thumb_url @report.photo.photo.url :thumb
31
+ json.small_url @report.photo.photo.url :small
32
+ json.large_url @report.photo.photo.url :large
33
+ end
34
+ end
35
+ end
27
36
 
37
+ # @deprecated, but specs use this _vp_ 20180423
38
+ if @report.photo
39
+ json.photo do
40
+ json.thumb_url @report.photo.photo.url :thumb
41
+ json.small_url @report.photo.photo.url :small
42
+ json.large_url @report.photo.photo.url :large
43
+ end
28
44
  end
45
+
29
46
  end
@@ -19,8 +19,8 @@ if @current_profile.addresses[0]
19
19
  json.partial! 'ishapi/addresses/show', :address => @current_profile.addresses[0]
20
20
  end
21
21
 
22
- if @current_profile.measurements[0]
23
- json.partial! 'ishapi/measurements/show', :measurement => @current_profile.measurements[0]
22
+ if @current_profile.measurement
23
+ json.partial! 'ishapi/measurements/show', :measurement => @current_profile.measurement
24
24
  end
25
25
 
26
26
  json.partial! 'ishapi/orders/show', :order => @current_order
@@ -9,9 +9,11 @@ json.venues do
9
9
  json.id venue.id.to_s
10
10
  json.name venue.name
11
11
  json.name_seo venue.name_seo
12
+ json.subhead venue.subhead
12
13
  json.description venue.descr
13
14
  json.x venue.x
14
15
  json.y venue.y
15
16
  json.photo venue.profile_photo.photo.url( :thumb ) if venue.profile_photo
17
+ json.partial! 'ishapi/tags/index', :tags => venue.tags
16
18
  end
17
19
  end
@@ -7,9 +7,11 @@ Ishapi::Engine.routes.draw do
7
7
  get 'cities', :to => 'cities#index'
8
8
  get 'cities/view/:cityname', :to => 'cities#show'
9
9
  get 'cities/features', :to => 'cities#features'
10
-
11
- post 'co_tailors/orders', :to => 'orders#create'
12
- post 'co_tailors/order_items', :to => 'order_items#create'
10
+
11
+ post 'co_tailors/orders', :to => 'orders#create'
12
+ post 'co_tailors/order_items', :to => 'order_items#create'
13
+ post 'co_tailors/measurements', :to => 'measurements#update'
14
+ get 'co_tailors/products/by-kind/:kind', :to => 'products#show'
13
15
  namespace :co_tailors do
14
16
  end
15
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ishapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.74
4
+ version: 0.1.8.75
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
@@ -188,12 +188,14 @@ files:
188
188
  - app/controllers/ishapi/events_controller.rb
189
189
  - app/controllers/ishapi/galleries_controller.rb
190
190
  - app/controllers/ishapi/invoices_controller.rb
191
+ - app/controllers/ishapi/measurements_controller.rb
191
192
  - app/controllers/ishapi/my/my_controller.rb
192
193
  - app/controllers/ishapi/my/reports_controller.rb
193
194
  - app/controllers/ishapi/newsitems_controller.rb
194
195
  - app/controllers/ishapi/order_items_controller.rb
195
196
  - app/controllers/ishapi/orders_controller.rb
196
197
  - app/controllers/ishapi/payments_controller.rb
198
+ - app/controllers/ishapi/products_controller.rb
197
199
  - app/controllers/ishapi/reports_controller.rb
198
200
  - app/controllers/ishapi/sites_controller.rb
199
201
  - app/controllers/ishapi/tags_controller.rb
@@ -234,6 +236,7 @@ files:
234
236
  - app/views/ishapi/orders/_show.jbuilder
235
237
  - app/views/ishapi/photos/_index.jbuilder
236
238
  - app/views/ishapi/photos/_show.jbuilder
239
+ - app/views/ishapi/products/show.jbuilder
237
240
  - app/views/ishapi/reports/_index.jbuilder
238
241
  - app/views/ishapi/reports/index.jbuilder
239
242
  - app/views/ishapi/reports/show.jbuilder