address saving now works - masallah, la hawle we la kuwette ila billah :)

This commit is contained in:
Senad Uka
2015-02-27 07:33:17 +01:00
parent 1ca7d4509a
commit 2b1d0fbbc1
3 changed files with 29 additions and 25 deletions

View File

@@ -1,4 +1,4 @@
helpers do
def anonymous_id
@@ -55,7 +55,7 @@ update_delivery_destination = ->() {
params = @json_params.reject { |key,_| !allowed_keys.include?(key) }
cart.delivery_destination.update_attributes(params)
cart.delivery_destination.save!
cart.delivery_destination.to_json
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

View File

@@ -40,7 +40,7 @@ var CartActions = {
changeDeliveryDestinationProperty: function(property, value) {
AppDispatcher.handleAction({
actionType: CartConstants.CHANGE_DELIVERY_DESTINATION_PROPERTY,
property: property,
propertyName: property,
value: value
});
},

View File

@@ -30,20 +30,22 @@ var loadCart = function() {
});
_itemsForDisplay.fetch({
success: function() {
CartActions.dataLoaded();
}
})
_deliveryDestination.fetch({
success: function() {
success: function() {
CartActions.dataLoaded();
}
})
if (!_deliveryDestination.get('id')) {
_deliveryDestination.fetch({
success: function() {
CartActions.dataLoaded();
}
});
}
};
var addItem = function(itemId) {
var state = states[itemId] || new ItemInCart({
item_id: itemId,
count: 0
@@ -54,13 +56,13 @@ var addItem = function(itemId) {
};
var takeItemOut = function(itemId) {
var state = states[itemId] || new ItemInCart({
item_id: itemId,
count: 0
})
if (state.get('count') > 0) {
state.set('count', state.get('count') - 1);
state.set('count', state.get('count') - 1);
}
states[itemId] = state;
saveCartStateForItem(itemId);
@@ -69,13 +71,13 @@ var takeItemOut = function(itemId) {
var saveCartStateForItem = function(itemId) {
var item = CartStore.getStateFor(itemId);
item.save({
success: function () {
success: function() {
CartActions.dataLoaded();
}
});
};
var changeDeliveryDestinationProperty = function (property, value) {
var changeDeliveryDestinationProperty = function(property, value) {
_deliveryDestination.set(property, value);
};
@@ -92,7 +94,7 @@ var saveDeliveryDestination = function() {
var CartStore = _.extend({}, EventEmitter.prototype, {
getStateFor: function(itemId) {
var state = states[itemId] || new ItemInCart({
item_id: itemId,
count: 0
@@ -102,16 +104,16 @@ var CartStore = _.extend({}, EventEmitter.prototype, {
getWholeCartState: function() {
var numberOfItems = 0;
var numberOfItems = 0;
for (key in states) {
if(states.hasOwnProperty(key)){
var value = states[key];
if (value.get('count') > 0) {
if (states.hasOwnProperty(key)) {
var value = states[key];
if (value.get('count') > 0) {
numberOfItems += value.get('count');
}
}
};
}
}
};
var state = {
count: numberOfItems,
@@ -144,7 +146,7 @@ var CartStore = _.extend({}, EventEmitter.prototype, {
// Register callback with AppDispatcher
AppDispatcher.register(function(payload) {
var action = payload.action;
var text;
var text;
switch (action.actionType) {
@@ -163,12 +165,14 @@ AppDispatcher.register(function(payload) {
// do nothing - jsut emmit change
break;
case CartConstants.SAVE_CART_STATE_FOR_ITEM:
// saveCartStateForItem(action.itemId);
saveCartStateForItem(action.itemId);
break;
case CartConstants.CHANGE_DELIVERY_DESTINATION_PROPERTY:
changeDeliveryDestinationProperty(action.propety, action.value)
changeDeliveryDestinationProperty(action.propertyName, action.value)
break;
case CartConstants.CONFIRM_DELIVERY:
saveDeliveryDestination();
break;
default:
return true;
}