Adding resource service to determine submission request based on object type

This commit is contained in:
Rob Harrington
2015-04-16 08:44:24 +10:00
parent b16fa9cdc1
commit 57dbc33a7b
2 changed files with 25 additions and 4 deletions

View File

@@ -1,11 +1,10 @@
angular.module("ofn.admin").factory "dataSubmitter", ($http, $q) ->
angular.module("ofn.admin").factory "dataSubmitter", ($http, $q, resources) ->
return (change) ->
deferred = $q.defer()
url = "/api/orders/#{change.object.order.number}/line_items/#{change.object.id}?line_item[#{change.attr}]=#{change.value}"
$http.put(url).success((data) ->
resources.update(change).$promise.then (data) ->
change.scope.success()
deferred.resolve data
).error ->
, ->
change.scope.error()
deferred.reject()
deferred.promise

View File

@@ -0,0 +1,22 @@
angular.module("ofn.admin").factory "resources", ($resource) ->
LineItem = $resource '/api/orders/:order_number/line_items/:line_item_id.json',
{ order_number: '@order_cycle_id', line_item_id: '@line_item_id'},
'update': { method: 'PUT' }
return {
update: (change) ->
params = {}
data = {}
resource = null
switch change.type
when "line_item"
resource = LineItem;
params.order_number = change.object.order.number
params.line_item_id = change.object.id
data.line_item = {}
data.line_item[change.attr] = change.value
else ""
resource.update(params, data)
}