mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-28 21:07:16 +00:00
36 lines
1.1 KiB
CoffeeScript
36 lines
1.1 KiB
CoffeeScript
angular.module("admin.customers").factory "Customers", ($q, InfoDialog, RequestMonitor, CustomerResource, CurrentShop) ->
|
|
new class Customers
|
|
customers: []
|
|
|
|
add: (email) ->
|
|
params =
|
|
enterprise_id: CurrentShop.shop.id
|
|
email: email
|
|
CustomerResource.create params, (customer) =>
|
|
@customers.unshift customer if customer.id
|
|
|
|
remove: (customer) ->
|
|
params = id: customer.id
|
|
CustomerResource.destroy params, =>
|
|
i = @customers.indexOf customer
|
|
@customers.splice i, 1 unless i < 0
|
|
, (response) =>
|
|
errors = response.data.errors
|
|
if errors?
|
|
InfoDialog.open 'error', errors[0]
|
|
else
|
|
InfoDialog.open 'error', "Could not delete customer: #{customer.email}"
|
|
|
|
index: (params) ->
|
|
request = CustomerResource.index(params, (data) => @customers = data)
|
|
RequestMonitor.load(request.$promise)
|
|
request.$promise
|
|
|
|
update: (address, customer, addressType) ->
|
|
params =
|
|
id: customer.id
|
|
customer:
|
|
"#{addressType}_attributes": address
|
|
CustomerResource.update params
|
|
|