From 2653e80a5ffa01b4df8996231dee83fcbc7f2c2a Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Tue, 11 Oct 2011 11:56:25 -0700 Subject: [PATCH] [#6574] Confirm removal in JS and handle removing the last labor item --- app/views/deliverables/_form.html.erb | 1 + .../deliverables/_labor_budget_form.html.erb | 4 +-- assets/javascripts/contracts.js | 28 ++++++++++++------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/views/deliverables/_form.html.erb b/app/views/deliverables/_form.html.erb index e0a1dbc..2b2683b 100644 --- a/app/views/deliverables/_form.html.erb +++ b/app/views/deliverables/_form.html.erb @@ -1,6 +1,7 @@ <%= javascript_tag("var i18nStartDateEmpty = '#{l(:text_start_date_empty)}'") %> <%= javascript_tag("var i18nEndDateEmpty = '#{l(:text_end_date_empty)}'") %> <%= javascript_tag("var i18nChangedPeriodMessage = '#{l(:text_changed_period_message)}'") %> +<%= javascript_tag("var i18nAreYouSure = '#{l(:text_are_you_sure)}'") %> <% if resource.locked? || resource.closed? || resource.contract_locked? || resource.contract_closed? %>
diff --git a/app/views/deliverables/_labor_budget_form.html.erb b/app/views/deliverables/_labor_budget_form.html.erb index 9fe6352..ba99bdd 100644 --- a/app/views/deliverables/_labor_budget_form.html.erb +++ b/app/views/deliverables/_labor_budget_form.html.erb @@ -17,7 +17,7 @@ <%= 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;') %> + <%= link_to_function(l(:button_delete), 'deleteDeliverableFinance(this)', :class => 'delete icon icon-del') %> + <%= link_to_function(l(:button_add), 'addNewDeliverableFinance("labor")', :class => 'add icon icon-add', :style => 'display:none;') %> diff --git a/assets/javascripts/contracts.js b/assets/javascripts/contracts.js index 44200f2..f2c0523 100644 --- a/assets/javascripts/contracts.js +++ b/assets/javascripts/contracts.js @@ -69,7 +69,13 @@ jQuery(function($) { }, showDeliverableAddButton = function() { - $('table .add-labor a.add').hide().last().show(); + var addLinks = $('table .add-labor a.add') + if (addLinks.length == 0) { + // No link, add a blank form + addNewDeliverableFinance("labor"); + } else { + addLinks.hide().last().show(); + } }, addNewDeliverableFinance = function(financeType) { @@ -83,15 +89,17 @@ jQuery(function($) { }, 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(); + if (confirm(i18nAreYouSure)) { + // 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(); + } }, showDeliverableAddButton();