summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2014-11-10 20:14:59 -0700
committermo khan <mo@mokhan.ca>2014-11-10 20:14:59 -0700
commit59dc5a5a76b0bdedfee1f2de609a0a69e2e84061 (patch)
tree9b06cef55a57e1a997663e7050c15a357be10d55 /app
parent9705e4a5b7233df19072d6186dbaf402551b3066 (diff)
add ability to delete a service.
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/controllers/service.js.coffee6
-rw-r--r--app/assets/javascripts/controllers/services_new.js.coffee2
-rw-r--r--app/assets/javascripts/templates/service.hbs2
-rw-r--r--app/controllers/services_controller.rb7
-rw-r--r--app/models/service.rb2
-rw-r--r--app/views/services/create.json.jbuilder2
6 files changed, 16 insertions, 5 deletions
diff --git a/app/assets/javascripts/controllers/service.js.coffee b/app/assets/javascripts/controllers/service.js.coffee
index 057b6ee..7d0fbbc 100644
--- a/app/assets/javascripts/controllers/service.js.coffee
+++ b/app/assets/javascripts/controllers/service.js.coffee
@@ -1 +1,5 @@
-App.ServiceController = Ember.ObjectController.extend()
+App.ServiceController = Ember.ObjectController.extend
+ actions:
+ deleteService: ->
+ @get('model').destroyRecord().then =>
+ @transitionToRoute('services')
diff --git a/app/assets/javascripts/controllers/services_new.js.coffee b/app/assets/javascripts/controllers/services_new.js.coffee
index cbf9f39..4b52a87 100644
--- a/app/assets/javascripts/controllers/services_new.js.coffee
+++ b/app/assets/javascripts/controllers/services_new.js.coffee
@@ -5,6 +5,6 @@ App.ServicesNewController = Ember.Controller.extend
if App.Service.valid(fields)
service = @store.createRecord('service', @get('fields'))
service.save().then =>
- @transitionTo('services', service)
+ @transitionTo('services')
else
@set('showError', true)
diff --git a/app/assets/javascripts/templates/service.hbs b/app/assets/javascripts/templates/service.hbs
index 0e3c38d..64d2012 100644
--- a/app/assets/javascripts/templates/service.hbs
+++ b/app/assets/javascripts/templates/service.hbs
@@ -1,4 +1,6 @@
<h3>{{name}}</h3>
+<a href="#" {{action "deleteService"}}>delete</a>
{{#link-to 'service.environments' this}}environments{{/link-to}}
+
{{outlet}}
diff --git a/app/controllers/services_controller.rb b/app/controllers/services_controller.rb
index d7875fe..b24b1fe 100644
--- a/app/controllers/services_controller.rb
+++ b/app/controllers/services_controller.rb
@@ -4,7 +4,12 @@ class ServicesController < ApplicationController
end
def create
- Service.create!(application_params)
+ @service = Service.create!(application_params)
+ end
+
+ def destroy
+ Service.find(params[:id]).destroy!
+ render json: {}
end
private
diff --git a/app/models/service.rb b/app/models/service.rb
index 1d65f8b..6244cc1 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -1,3 +1,3 @@
class Service < ActiveRecord::Base
- has_many :environments
+ has_many :environments, dependent: :destroy
end
diff --git a/app/views/services/create.json.jbuilder b/app/views/services/create.json.jbuilder
index ada7a83..f19d9c1 100644
--- a/app/views/services/create.json.jbuilder
+++ b/app/views/services/create.json.jbuilder
@@ -1,3 +1,3 @@
json.service do
- json.partial! service, service: @service
+ json.partial! @service, service: @service
end