diff --git a/front-api/controllers/cart.rb b/front-api/controllers/cart.rb index 08a10f9..a1089cf 100644 --- a/front-api/controllers/cart.rb +++ b/front-api/controllers/cart.rb @@ -52,6 +52,7 @@ end put '/cart/delivery_destination', &update_delivery_destination post '/cart/delivery_destination', &update_delivery_destination + def report_to_trello(cart) Thread.new do @cart = cart @@ -66,6 +67,22 @@ def report_to_trello(cart) end end +update_delivery_destination = ->() { + cart = Cart.just_find(anonymous_id, logged_in_user_id) + allowed_keys = ["name", "address", "place", "postal_code", "phone", "email", "note", "payment_method", "gift", + "recipient_name", "recipient_address", "recipient_place", "recipient_postal_code", "recipient_phone", "recipient_email"] + + params = @json_params.reject { |key,_| !allowed_keys.include?(key) } + cart.delivery_destination.update_attributes(params) + cart.delivery_destination.save! + + report_to_trello(cart) + + cart.delivery_destination.to_json(:except => [:created_at, :email_verification_code, :phone_verification_code]) +} +put '/cart/delivery_destination', &update_delivery_destination +post '/cart/delivery_destination', &update_delivery_destination + def send_order_email(cart) Thread.new do client = SendGrid::Client.new( @@ -91,13 +108,11 @@ post '/cart/confirmation' do cart.ordered = true cart.save! end + report_to_trello(cart) + send_order_email(cart) # since there is no more ordered cart this needs to be done # in order for next call of Cart#just_find to be ready Cart.find_or_create(anonymous, logged_in_user_id) - - report_to_trello(cart) - send_order_email(cart) - 'OK'.to_json end diff --git a/front-api/views/cart_trello.erb b/front-api/views/cart_trello.erb index 75b176a..3346177 100644 --- a/front-api/views/cart_trello.erb +++ b/front-api/views/cart_trello.erb @@ -37,6 +37,8 @@ Bosna i Hercegovina **Naručeno:** <%= @cart.updated_at.in_time_zone("Europe/Sarajevo").strftime("%A %d.%m.%Y. %H:%M") %> +<% end %> + <% if dd.instant_delivery %> ** OVO JE NARUDŽBA ZA INSTANT DOSTAVU ** diff --git a/front-ui/app/components/cart/checkoutPage.js b/front-ui/app/components/cart/checkoutPage.js index cbd1af6..a4a0e2d 100644 --- a/front-ui/app/components/cart/checkoutPage.js +++ b/front-ui/app/components/cart/checkoutPage.js @@ -26,7 +26,7 @@ var CheckoutPage = React.createClass({ disabled={!this.state.isDeliveryDestinationValid} cashOnDeliveryDisabled={!this.state.isDeliveryDestinationValid || this.state.deliveryDestination.get('gift')} onCashClick={this._onOrderClick} - cartId={this.state.cart.get('id')} + cartId={this.state.deliveryDestination.get('id')} /> ); @@ -34,15 +34,15 @@ var CheckoutPage = React.createClass({ var last_used_payment; if(this.state.deliveryDestination.get('payment_method') == 'paypal') { last_used_payment = ( - + ); } else if(this.state.deliveryDestination.get('payment_method') == 'pikpay') { last_used_payment = ( - + ); } else { last_used_payment = ( - + ); } diff --git a/front-ui/app/stores/cartStore.js b/front-ui/app/stores/cartStore.js index ad22b17..f72833f 100644 --- a/front-ui/app/stores/cartStore.js +++ b/front-ui/app/stores/cartStore.js @@ -10,7 +10,6 @@ var DeliveryDestination = require('../models/deliveryDestination'); var OrderConfirmation = require('../models/orderConfirmation'); var Place = require('../models/place'); var Validation = require('../utils/validation'); -var Cart = require('../models/cart'); var _ = require('underscore'); @@ -26,8 +25,6 @@ var _deliveryCosts = new Place({ postalCode: _deliveryDestination.get('place') }); -var _cart = new Cart(); - var _addressColapsed = false; var supportedPlaces = [{ @@ -2571,7 +2568,6 @@ var nameOfThePlace = function(code) { } var loadCart = function() { - _cart.fetch({success: function() { _itemsInCart.fetch({ success: function() { states = {} @@ -2595,7 +2591,6 @@ var loadCart = function() { }); } }); - }}); _cartDataLoadCalled = true; }; @@ -2880,8 +2875,7 @@ var CartStore = _.extend({}, EventEmitter.prototype, { deliveryCosts: _deliveryCosts, destinationValid: isDeliveryDestinationValid(), address_colapsed: _addressColapsed, - deliveryCostsTarget: getDeliveryCostTarget(), - cart: _cart + deliveryCostsTarget: getDeliveryCostTarget() }; return state; },