[#4420] Add a Javascript prompt when extending or shrinking a Deliverable's period.

This commit is contained in:
Eric Davis
2010-09-08 10:57:09 -07:00
parent df53f27114
commit 9f8f1238aa
3 changed files with 19 additions and 0 deletions

View File

@@ -1,8 +1,11 @@
<%= 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)}'") %>
<div class="box tabular">
<% form.inputs :name => l(:text_deliverable_details_legend) do %>
<%# Used by jquery to check if this is a new or existing record %>
<%= hidden_field_tag('deliverable_id', h(resource.id), :id => 'deliverable_stored_id') %>
<%= form.input :title, :required => true %>
<% if resource.new_record? %>
<li class="select required" id="deliverable_type_input">
@@ -13,8 +16,13 @@
<%= form.input :type, :as => :hidden, :class => 'type' %>
<% end %>
<%= form.input :manager, :required => true, :collection => @project.users.sort %>
<%= form.input :start_date, :as => :string, :input_html => {:size => 10, :class => 'start-date'}, :hint => calendar_for('deliverable_start_date') %>
<%= hidden_field_tag('deliverable_stored_start_date', h(resource.start_date), :id => 'deliverable_stored_start_date') %>
<%= form.input :end_date, :as => :string, :input_html => {:size => 10, :class => 'end-date'}, :hint => calendar_for('deliverable_end_date') %>
<%= hidden_field_tag('deliverable_stored_end_date', h(resource.end_date), :id => 'deliverable_stored_end_date') %>
<%= form.input :notes, :input_html => {:class => 'wiki-edit', :rows => '5'} %>
<% unless resource.new_record? %>

View File

@@ -71,6 +71,16 @@ jQuery(function($) {
if ($('form.deliverable .end-date[value!=""]').length == 0) {
return confirm(i18nEndDateEmpty);
}
if ($('form.deliverable #deliverable_stored_id').val() != '') {
if ($('form.deliverable .start-date').val() != $('#deliverable_stored_start_date').val()) {
return confirm(i18nChangedPeriodMessage);
}
if ($('form.deliverable .end-date').val() != $('#deliverable_stored_end_date').val()) {
return confirm(i18nChangedPeriodMessage);
}
}
}
});
});

View File

@@ -64,4 +64,5 @@ en:
text_start_date_empty: "The start date is empty. If this form is submitted, no budget items will be created."
text_end_date_empty: "The end date is empty. If this form is submitted, no budget items will be created."
text_missing_period: "This deliverable is missing a date range so it cannot have budget items. Please save start and end dates before adding any budget items."
text_changed_period_message: "The period for this deliverable has been changed. Would you like to expand/shrink the Deliverable Finances?"
field_current_period: "Current period"