Submit variant overrides to server

This commit is contained in:
Rohan Mitchell
2014-12-10 11:14:21 +11:00
parent d67e614947
commit 47592cdbd8
3 changed files with 67 additions and 23 deletions

View File

@@ -1,4 +1,4 @@
angular.module("ofn.admin").controller "AdminOverrideVariantsCtrl", ($scope, Indexer, SpreeApiAuth, PagedFetcher, StatusMessage, hubs, producers, hubPermissions, VariantOverrides, DirtyVariantOverrides) ->
angular.module("ofn.admin").controller "AdminOverrideVariantsCtrl", ($scope, $timeout, Indexer, SpreeApiAuth, PagedFetcher, StatusMessage, hubs, producers, hubPermissions, VariantOverrides, DirtyVariantOverrides) ->
$scope.hubs = hubs
$scope.hub = null
$scope.products = []
@@ -39,4 +39,14 @@ angular.module("ofn.admin").controller "AdminOverrideVariantsCtrl", ($scope, Ind
$scope.update = ->
StatusMessage.display 'success', 'Changes saved.'
if DirtyVariantOverrides.count() == 0
StatusMessage.display 'alert', 'No changes to save.'
else
StatusMessage.display 'progress', 'Saving...'
DirtyVariantOverrides.save
success: (data) ->
DirtyVariantOverrides.clear()
#VariantOverrides.update data.variant_overrides
$timeout -> StatusMessage.display 'success', 'Changes saved.'
error: (data, status) ->
$timeout -> StatusMessage.display 'failure', 'Oh no!'

View File

@@ -1,4 +1,4 @@
angular.module("ofn.admin").factory "DirtyVariantOverrides", ->
angular.module("ofn.admin").factory "DirtyVariantOverrides", ($http) ->
new class DirtyVariantOverrides
dirtyVariantOverrides: {}
@@ -11,3 +11,23 @@ angular.module("ofn.admin").factory "DirtyVariantOverrides", ->
for hub_id, vos of @dirtyVariantOverrides
count += Object.keys(vos).length
count
clear: ->
@dirtyVariantOverrides = {}
all: ->
all_vos = []
for hub_id, vos of @dirtyVariantOverrides
all_vos.push vo for variant_id, vo of vos
all_vos
save: (callbacks={}) ->
$http
method: "POST"
url: "/admin/products/override_variants"
data:
variant_overrides: @all()
.success (data) ->
(callbacks.success || Angular.noop) data
.error (data, status) ->
(callbacks.error || Angular.noop) data, status