Skip to content

Instantly share code, notes, and snippets.

@jacobh
Created November 6, 2013 05:58
Show Gist options
  • Save jacobh/7331613 to your computer and use it in GitHub Desktop.
Save jacobh/7331613 to your computer and use it in GitHub Desktop.
GizmagAdmin.factory "proposalUtils", ($http) ->
base_url = '/api/proposal/'
transitions = ['submit', 'request_changes', 'reject', 'approve', 'accept']
output =
save: (proposal, opts={}) ->
if proposal.id
if opts.partial
return $http
method: 'PATCH',
url: "#{base_url}#{proposal.id}/",
data: proposal,
headers: 'Content-Type': 'application/json'
else
return $http.put("#{base_url}#{proposal.id}/", proposal)
else
return $http.post(base_url, proposal)
for transition in transitions
output[transition] = (proposal) ->
return $http.post("#{base_url}#{proposal.id}/#{transition}/")
return output
@jacobh
Copy link
Author

jacobh commented Nov 6, 2013

you're then able to do

proposal = id: 123
proposalUtils.submit(proposal)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment