<%# TODO: Select field for the Time Entry Activity in a td %>
@@ -31,7 +31,7 @@
<%= content_tag(:label, l(:field_overhead)) %>
- <% form.fields_for :overhead_budgets do |overhead_budget| %>
+ <% form.fields_for :overhead_budgets, overhead_budgets do |overhead_budget| %>
<%# TODO: Select field for the Time Entry Activity in a td %>
|
diff --git a/app/views/deliverables/_form.html.erb b/app/views/deliverables/_form.html.erb
index 46ed70c..6f75c71 100644
--- a/app/views/deliverables/_form.html.erb
+++ b/app/views/deliverables/_form.html.erb
@@ -28,7 +28,13 @@
<% end %>
<% end %>
-<%= render :partial => 'finance_form', :locals => {:form => form, :resource => resource} %>
+<% if resource.retainer? %>
+<% resource.months.each do |month| %>
+<%= render :partial => 'finance_form', :locals => {:form => form, :labor_budgets => resource.labor_budgets_for_date(month), :overhead_budgets => resource.overhead_budgets_for_date(month), :label => l(:text_deliverable_finances_date, :date => month.strftime("%B, %Y")) } %>
+<% end %>
+<% else %>
+<%= render :partial => 'finance_form', :locals => {:form => form, :labor_budgets => resource.labor_budgets, :overhead_budgets => resource.overhead_budgets, :label => l(:text_deliverable_finances) } %>
+<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9b700f5..3adbf14 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -28,6 +28,7 @@ en:
field_feature_sign_off: Feature Sign Off
field_warranty_sign_off: Warranty Sign Off
text_deliverable_finances: Deliverable Finances
+ text_deliverable_finances_date: "Deliverable Finances - {{date}}"
text_short_hours: hrs
text_dollar_sign: '$'
field_client_point_of_contact: "Point of Contact"
diff --git a/test/integration/deliverables_edit_test.rb b/test/integration/deliverables_edit_test.rb
index c00dfc3..cbbf27b 100644
--- a/test/integration/deliverables_edit_test.rb
+++ b/test/integration/deliverables_edit_test.rb
@@ -90,4 +90,21 @@ class DeliverablesEditTest < ActionController::IntegrationTest
assert_equal 10, @overhead_budget.hours
assert_equal 1000.0, @overhead_budget.budget
end
+
+ should "show a Deliverable Finances section for each Retainer period" do
+ @retainer_deliverable = RetainerDeliverable.spawn(:contract => @contract, :manager => @manager, :title => "Retainer")
+ @retainer_deliverable.labor_budgets << @labor_budget = LaborBudget.spawn(:deliverable => @retainer_deliverable, :budget => 1000, :hours => 10)
+ @retainer_deliverable.overhead_budgets << @overhead_budget = OverheadBudget.spawn(:deliverable => @retainer_deliverable, :budget => 1000, :hours => 10)
+ @retainer_deliverable.start_date = '2010-01-01'
+ @retainer_deliverable.end_date = '2010-12-31'
+ @retainer_deliverable.save!
+ assert_equal 12, @retainer_deliverable.months.length
+
+ visit_contract_page(@contract)
+ click_link_within "#deliverable_details_#{@retainer_deliverable.id}", 'Edit'
+ assert_response :success
+ assert_template 'deliverables/edit'
+
+ assert_select 'fieldset.deliverable-finances', :count => 12
+ end
end
| |