mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-01 02:03:22 +00:00
Adding resource service to determine submission request based on object type
This commit is contained in:
@@ -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
|
||||
|
||||
22
app/assets/javascripts/admin/services/resources.js.coffee
Normal file
22
app/assets/javascripts/admin/services/resources.js.coffee
Normal 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)
|
||||
}
|
||||
Reference in New Issue
Block a user