diff --git a/app/assets/javascripts/views/job_prospects/job_prospect.js.coffee b/app/assets/javascripts/views/job_prospects/job_prospect.js.coffee
index 5e9c974..1228810 100644
--- a/app/assets/javascripts/views/job_prospects/job_prospect.js.coffee
+++ b/app/assets/javascripts/views/job_prospects/job_prospect.js.coffee
@@ -9,6 +9,7 @@ class JobOrg.Views.JobProspect extends Backbone.View
initialize: ->
@model.on('destroy', @unrenderJobProspect, this)
+ @model.on('save', @rerenderJobProspect, this)
render: ->
$(@el).html(@template(job_prospect: @model))
@@ -18,6 +19,28 @@ class JobOrg.Views.JobProspect extends Backbone.View
event.preventDefault
@model.destroy()
+ editJobProspect: (event, job_prospect) ->
+ event.preventDefault()
+ $('form#new_job_prospect').hide()
+ $('form#edit_job_prospect').show()
+ $('#edit_job_prospect_company').val(@model.get('company'))
+ $('#edit_job_prospect_position').val(@model.get('position'))
+ $('#edit_id').val(@model.get('id'))
+
+ handleError: (job_prospect, response) ->
+ if response.status == 422
+ errors = $.parseJSON(response.responseText).errors
+ for attribute, messages of errors
+ for message in messages
+ $('.alert-error').text("#{attribute} #{message}.")
+ $('.alert-error').show()
+ $('.alert-success').hide()
+ $('.alert-warning').hide()
+ $('.alert-notice').hide()
+
+ rerenderJobProspect: ->
+ $(@el).html(@template(job_prospect: @model))
+ this
unrenderJobProspect: ->
$(@el).remove()
diff --git a/app/assets/javascripts/views/job_prospects/job_prospects_index.js.coffee b/app/assets/javascripts/views/job_prospects/job_prospects_index.js.coffee
index 13072b6..f8dfc5a 100644
--- a/app/assets/javascripts/views/job_prospects/job_prospects_index.js.coffee
+++ b/app/assets/javascripts/views/job_prospects/job_prospects_index.js.coffee
@@ -4,6 +4,8 @@ class JobOrg.Views.JobProspectsIndex extends Backbone.View
events:
'submit #new_job_prospect': 'createJobProspect'
+ 'click input[value="Update Job Prospect"]': 'updateJobProspect'
+
initialize: ->
@collection.on('reset', @render, this)
@@ -33,6 +35,27 @@ class JobOrg.Views.JobProspectsIndex extends Backbone.View
$('.alert-warning').hide()
$('.alert-notice').hide()
error: @handleError
+
+ updateJobProspect: (event, job_prospect) ->
+ event.preventDefault()
+ attributes =
+ company: $('#edit_job_prospect_company').val()
+ position: $('#edit_job_prospect_position').val()
+ editJob = @collection.get($('#edit_id').val())
+ editJob.set attributes
+ editJob.save attributes,
+ wait: true
+ success: ->
+ $('#edit_job_prospect')[0].reset()
+ $('#edit_job_prospect').hide()
+ $('#new_job_prospect').show()
+ $('.alert-success').text "Your job prospect has been successfully updated."
+ $('.alert-error').hide()
+ $('.alert-success').show()
+ $('.alert-warning').hide()
+ $('.alert-notice').hide()
+ editJob.trigger("save")
+ error: @handleError
handleError: (job_prospect, response) ->
if response.status == 422
diff --git a/app/assets/templates/job_prospects/index.jst.eco b/app/assets/templates/job_prospects/index.jst.eco
index 28d686b..147b97f 100644
--- a/app/assets/templates/job_prospects/index.jst.eco
+++ b/app/assets/templates/job_prospects/index.jst.eco
@@ -11,6 +11,7 @@
Position:
+
Company | Position | +Edit | +Delete |
---|