diff --git a/app/models/deliverable.rb b/app/models/deliverable.rb
index b1d403b..c7084ae 100644
--- a/app/models/deliverable.rb
+++ b/app/models/deliverable.rb
@@ -11,7 +11,7 @@ class Deliverable < ActiveRecord::Base
has_many :fixed_budgets
has_many :issues, :dependent => :nullify
- accepts_nested_attributes_for :labor_budgets
+ accepts_nested_attributes_for :labor_budgets, :allow_destroy => true
accepts_nested_attributes_for :overhead_budgets
accepts_nested_attributes_for :fixed_budgets
diff --git a/app/views/deliverables/_labor_budget_form.html.erb b/app/views/deliverables/_labor_budget_form.html.erb
index efa581a..9fe6352 100644
--- a/app/views/deliverables/_labor_budget_form.html.erb
+++ b/app/views/deliverables/_labor_budget_form.html.erb
@@ -1,5 +1,6 @@
-
+
|
+ <%= labor_budget.hidden_field(:id) unless labor_budget.object.new_record? %>
<%= labor_budget.hidden_field(:year) %>
<%= labor_budget.hidden_field(:month) %>
@@ -15,6 +16,8 @@
<%= labor_budget.text_field(:budget, :value => format_deliverable_value_fields(labor_budget.object.budget), :class => 'financial') %>
|
+ <%= labor_budget.hidden_field "_destroy", :class=> "delete-flag" %>
+ <%= link_to_function("Remove", 'deleteDeliverableFinance(this)', :class => 'delete icon icon-del') %>
<%= link_to_function("Add", 'addNewDeliverableFinance("labor")', :class => 'add icon icon-add', :style => 'display:none;') %>
|
diff --git a/assets/javascripts/contracts.js b/assets/javascripts/contracts.js
index b8e02f6..44200f2 100644
--- a/assets/javascripts/contracts.js
+++ b/assets/javascripts/contracts.js
@@ -69,16 +69,28 @@ jQuery(function($) {
},
showDeliverableAddButton = function() {
- $('.add-labor a.add').hide().last().show();
+ $('table .add-labor a.add').hide().last().show();
},
addNewDeliverableFinance = function(financeType) {
var t = $('#labor-budget-template').tmpl({});
- var countOfExisting = $("#deliverable-labor tbody tr").size();
+ var countOfExisting = $("tr.labor-budget-form").size();
var recordLocation = countOfExisting + 1; // increments the Rails [n] placeholder
var newContent = t.html().replace(/\[0\]/g, "[" + recordLocation + "]");
- $("" + newContent + '
').appendTo('#deliverable-labor tbody');
+ $("" + newContent + '
').appendTo('#deliverable-labor tbody');
+ showDeliverableAddButton();
+ },
+
+ deleteDeliverableFinance = function(deleteLink) {
+ // Set the deleted flag for Rails and move it out of the row
+ $(deleteLink).parent().find('.delete-flag').val('1')
+ $(deleteLink).closest("form").
+ append(
+ $(deleteLink). //
+ parent(). //
+ parent().hide()
+ ) // |
showDeliverableAddButton();
},