diff --git a/src/app/addPromotion/addPromotion.js b/src/app/addPromotion/addPromotion.js index 0f751e38..1afffa8c 100644 --- a/src/app/addPromotion/addPromotion.js +++ b/src/app/addPromotion/addPromotion.js @@ -12,6 +12,7 @@ function AddPromotionComponentCtrl($exceptionHandler, $rootScope, OrderCloud, to OrderCloud.Orders.AddPromotion(orderID, promoCode) .then(function(promo) { $rootScope.$broadcast('OC:UpdatePromotions', orderID); + $rootScope.$broadcast('OC:UpdateOrder', orderID); toastr.success('Promo code '+ promo.Code + ' added!', 'Success'); }) .catch(function(err) { diff --git a/src/app/app.controller.js b/src/app/app.controller.js index 33b50842..d53155a6 100644 --- a/src/app/app.controller.js +++ b/src/app/app.controller.js @@ -28,10 +28,7 @@ function AppController($q, $rootScope, $state, $ocMedia, toastr, LoginService, a $rootScope.$on('$stateChangeStart', function(e, toState) { cleanLoadingIndicators(); var defer = $q.defer(); - //defer.delay = 200; - defer.wrapperClass = 'indicator-container'; - (toState.data && toState.data.loadingMessage) ? defer.message = toState.data.loadingMessage : defer.message = null; - defer.templateUrl = 'common/templates/view.loading.tpl.html'; + if (toState.data) defer.message = toState.data.loadingMessage; vm.stateLoading = defer; }); diff --git a/src/app/base/base.js b/src/app/base/base.js index 8142c2b8..5e752877 100644 --- a/src/app/base/base.js +++ b/src/app/base/base.js @@ -62,8 +62,11 @@ function BaseController($rootScope, $state, ProductSearch, CurrentUser, CurrentO }); }; - $rootScope.$on('OC:UpdateOrder', function(event, OrderID) { - OrderCloud.Orders.Get(OrderID) + $rootScope.$on('OC:UpdateOrder', function(event, OrderID, message) { + vm.orderLoading = { + message: message + }; + vm.orderLoading.promise = OrderCloud.Orders.Get(OrderID) .then(function(data) { vm.currentOrder = data; }); diff --git a/src/app/cart/cart.js b/src/app/cart/cart.js index 2fc4313b..3d87cb49 100644 --- a/src/app/cart/cart.js +++ b/src/app/cart/cart.js @@ -42,22 +42,25 @@ function CartConfig($stateProvider) { }); } -function CartController($rootScope, $state, OrderCloud, ocLineItems, LineItemsList, CurrentPromotions, ocConfirm) { +function CartController($rootScope, $state, toastr, OrderCloud, LineItemsList, CurrentPromotions, ocConfirm) { var vm = this; vm.lineItems = LineItemsList; vm.promotions = CurrentPromotions.Meta ? CurrentPromotions.Items : CurrentPromotions; - - vm.updateQuantity = function(order, lineItem) { - ocLineItems.UpdateQuantity(order, lineItem); - }; - - vm.removeItem = function(order, lineItem) { - ocLineItems.RemoveItem(order, lineItem); + vm.removeItem = function(order, scope) { + vm.lineLoading = []; + vm.lineLoading[scope.$index] = OrderCloud.LineItems.Delete(order.ID, scope.lineItem.ID) + .then(function () { + $rootScope.$broadcast('OC:UpdateOrder', order.ID); + vm.lineItems.Items.splice(scope.$index, 1); + toastr.success('Line Item Removed'); + }); }; + //TODO: missing unit tests vm.removePromotion = function(order, scope) { OrderCloud.Orders.RemovePromotion(order.ID, scope.promotion.Code) .then(function() { + $rootScope.$broadcast('OC:UpdateOrder', order.ID); vm.promotions.splice(scope.$index, 1); }); }; @@ -72,16 +75,7 @@ function CartController($rootScope, $state, OrderCloud, ocLineItems, LineItemsLi }); }; - $rootScope.$on('OC:UpdateLineItem', function(event,Order) { - OrderCloud.LineItems.List(Order.ID) - .then(function(data) { - ocLineItems.GetProductInfo(data.Items) - .then(function() { - vm.lineItems = data; - }); - }); - }); - + //TODO: missing unit tests $rootScope.$on('OC:UpdatePromotions', function(event, orderid) { OrderCloud.Orders.ListPromotions(orderid) .then(function(data) { @@ -90,7 +84,6 @@ function CartController($rootScope, $state, OrderCloud, ocLineItems, LineItemsLi } else { vm.promotions = data; } - $rootScope.$broadcast('OC:UpdateOrder', orderid); }); }); } diff --git a/src/app/cart/templates/cart.tpl.html b/src/app/cart/templates/cart.tpl.html index 9b6ae66e..f35a10b4 100644 --- a/src/app/cart/templates/cart.tpl.html +++ b/src/app/cart/templates/cart.tpl.html @@ -11,7 +11,7 @@