From 9142e0c4db065d55a2f7443e82346aa0272f2fec Mon Sep 17 00:00:00 2001
From: "adam.harbas@a-net.ba"
Ovo je poklon
+
Ime primaoca: <%= dd.recipient_name %>
+
Adresa primaoca: <%= dd.recipient_address %>
+
Postanski broj primaoca: <%= dd.recipient_postal_code %>
+
Grad primaoca: <%= dd.recipient_place %>
+
Email primaoca: <%= dd.recipient_email %>
+
Telefon primaoca: <%= dd.recipient_phone %>
+<% end %>
+
Naručeno: <%= c.confirmed_at.in_time_zone("Europe/Sarajevo").strftime("%A %d.%m.%Y. %H:%M") %>
diff --git a/front-api/controllers/cart.rb b/front-api/controllers/cart.rb
index 791de1c..1d71057 100644
--- a/front-api/controllers/cart.rb
+++ b/front-api/controllers/cart.rb
@@ -44,7 +44,9 @@ 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"]
+ 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!
@@ -53,22 +55,6 @@ update_delivery_destination = ->() {
put '/cart/delivery_destination', &update_delivery_destination
post '/cart/delivery_destination', &update_delivery_destination
-get '/cart/recipient_destination' do
- cart = Cart.just_find(anonymous_id, logged_in_user_id)
- cart.recipient.to_json(:except => [:created_at, :email_verification_code, :phone_verification_code])
-end
-
-update_recipient_destination = ->() {
- cart = Cart.just_find(anonymous_id, logged_in_user_id)
- allowed_keys = ["name", "address", "place", "postal_code", "phone", "email"]
- params = @json_params.reject { |key,_| !allowed_keys.include?(key) }
- cart.recipient_destination.update_attributes(params)
- cart.recipient_destination.save!
- cart.recipient_destination.to_json(:except => [:created_at, :email_verification_code, :phone_verification_code])
-}
-put '/cart/recipient_destination', &update_delivery_destination
-post '/cart/recipient_destination', &update_delivery_destination
-
def report_to_trello(cart)
Thread.new do
@cart = cart
diff --git a/front-api/db/migrate/20160112091903_add_recipient_destination_to_delivery_destination.rb b/front-api/db/migrate/20160112091903_add_recipient_destination_to_delivery_destination.rb
new file mode 100644
index 0000000..a85dd88
--- /dev/null
+++ b/front-api/db/migrate/20160112091903_add_recipient_destination_to_delivery_destination.rb
@@ -0,0 +1,10 @@
+class AddRecipientDestinationToDeliveryDestination < ActiveRecord::Migration
+ def change
+ add_column :delivery_destinations, :recipient_name, :string
+ add_column :delivery_destinations, :recipient_address, :string
+ add_column :delivery_destinations, :recipient_place, :string
+ add_column :delivery_destinations, :recipient_postal_code, :string
+ add_column :delivery_destinations, :recipient_phone, :string
+ add_column :delivery_destinations, :recipient_email, :string
+ end
+end
diff --git a/front-api/db/schema.rb b/front-api/db/schema.rb
index 638d080..3695b4b 100644
--- a/front-api/db/schema.rb
+++ b/front-api/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20160111105607) do
+ActiveRecord::Schema.define(version: 20160112091903) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -22,18 +22,17 @@ ActiveRecord::Schema.define(version: 20160111105607) do
create_table "carts", force: :cascade do |t|
t.integer "user_id"
- t.boolean "ordered", default: false
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.boolean "ordered", default: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
t.string "anonymous_id_string"
t.integer "delivery_destination_id"
- t.boolean "confirmed", default: false
- t.boolean "packed", default: false
- t.boolean "canceled_on_check", default: false
- t.boolean "canceled_on_delivery", default: false
- t.boolean "delivered", default: false
+ t.boolean "confirmed", default: false
+ t.boolean "packed", default: false
+ t.boolean "canceled_on_check", default: false
+ t.boolean "canceled_on_delivery", default: false
+ t.boolean "delivered", default: false
t.text "internal_note"
- t.integer "recipient_destination_id"
end
create_table "categories", force: :cascade do |t|
@@ -70,6 +69,12 @@ ActiveRecord::Schema.define(version: 20160111105607) do
t.boolean "instant_delivery", default: false
t.string "payment_method"
t.boolean "gift", default: false
+ t.string "recipient_name"
+ t.string "recipient_address"
+ t.string "recipient_place"
+ t.string "recipient_postal_code"
+ t.string "recipient_phone"
+ t.string "recipient_email"
end
create_table "delivery_time_estimations", force: :cascade do |t|
diff --git a/front-api/models/cart.rb b/front-api/models/cart.rb
index 31236bc..44eb33b 100644
--- a/front-api/models/cart.rb
+++ b/front-api/models/cart.rb
@@ -1,8 +1,6 @@
class Cart < ActiveRecord::Base
- has_many :item_in_carts, -> { order "created_at" }
-
- belongs_to :delivery_destination, :class_name => 'DeliveryDestination', :foreign_key => 'delivery_destination_id'
- belongs_to :delivery_destination, :class_name => 'DeliveryDestination', :foreign_key => 'recipient_destination_id'
+ has_many :item_in_carts, -> { order "created_at" }
+ belongs_to :delivery_destination
def self.find_or_create(anonymous_id, user_id)
cart = nil
diff --git a/front-api/models/delivery_destination.rb b/front-api/models/delivery_destination.rb
index 7e51f0d..f84e23c 100644
--- a/front-api/models/delivery_destination.rb
+++ b/front-api/models/delivery_destination.rb
@@ -1,12 +1,21 @@
class DeliveryDestination < ActiveRecord::Base
- has_many :carts
+ has_one :cart
belongs_to :user
def self.create_from_last(anonymous_id, user_id)
dd = DeliveryDestination.where(["user_id is not null and user_id = ?", user_id]).order("id desc").first
dd ||= DeliveryDestination.where(["anonymous_id_string is not null and anonymous_id_string = ?", anonymous_id]).order("id desc").first
dd ||= DeliveryDestination.new({user_id: user_id, anonymous_id_string: anonymous_id })
+
dd.payment_method ||= "cash_on_delivery"
+ dd.gift = false
+ dd.recipient_name = ""
+ dd.recipient_phone = ""
+ dd.recipient_email = ""
+ dd.recipient_address = ""
+ dd.recipient_place = ""
+ dd.recipient_postal_code = ""
+
attributes = dd.as_json
attributes.delete("id")
result = DeliveryDestination.create!(attributes)
diff --git a/front-ui/app/actions/cartActions.js b/front-ui/app/actions/cartActions.js
index aec5b04..c85de07 100644
--- a/front-ui/app/actions/cartActions.js
+++ b/front-ui/app/actions/cartActions.js
@@ -47,13 +47,6 @@ var CartActions = {
value: value
});
},
- changeRecipientDestinationProperty: function(property, value) {
- AppDispatcher.handleAction({
- actionType: CartConstants.CHANGE_RECIPIENT_DESTINATION_PROPERTY,
- propertyName: property,
- value: value
- });
- },
confirmDelivery: function() {
AppDispatcher.handleAction({
actionType: CartConstants.CONFIRM_DELIVERY,
diff --git a/front-ui/app/components/cart/checkoutPage.js b/front-ui/app/components/cart/checkoutPage.js
index 90a47d4..eb270c4 100644
--- a/front-ui/app/components/cart/checkoutPage.js
+++ b/front-ui/app/components/cart/checkoutPage.js
@@ -127,30 +127,29 @@ var CheckoutPage = React.createClass({
-
broj mobitela - mora biti sa jedne od mreža u BiH