Author SHA1 Message Date
Eric Davis 492435d560 Merge branch 'master' into 6636-deliverable-report 2011-11-14 11:13:19 -08:00
Eric Davis 62c74885b5 [#6680] Round the hours in the summary 2011-11-14 11:10:55 -08:00
Eric Davis 6957c8a114 [#6574] Work around sorting errors on unsaved records
When the deliverable form isn't saved (validation errors) then
the unsaved budgets would cause sorting errors due to nil ids.
2011-11-14 10:20:24 -08:00
4 changed files with 6 additions and 25 deletions

No files matched your search

+1 -10
View File
@@ -8,7 +8,6 @@ class DeliverablesController < InheritedResources::Base
helper :contracts
helper :contract_formatter
include ContractsHelper
def index
redirect_to contract_url(@project, @contract)
@@ -38,16 +37,8 @@ class DeliverablesController < InheritedResources::Base
end
def finances
@deliverable = @contract.deliverables.find(params[:id])
period = extract_period(params[:period])
if period
@period = validate_period(@deliverable, period)
else
@period = nil
end
respond_to do |format|
format.js { render :partial => 'deliverables/finances', :locals => {:contract => @contract, :deliverable => @deliverable, :period => @period } }
format.js { render :partial => 'deliverables/finances', :locals => {:contract => @contract, :deliverable => @contract.deliverables.find(params[:id])} }
format.html { }
end
@@ -26,7 +26,7 @@
<%= content_tag(:label, l(:field_labor)) %>
<table id="deliverable-labor" class="deliverable_finance_table">
<tbody>
<% form.fields_for :labor_budgets, labor_budgets.sort_by(&:id) do |labor_budget| %>
<% form.fields_for :labor_budgets, labor_budgets.sort_by {|b| b.id || 0 } do |labor_budget| %>
<%= render :partial => 'labor_budget_form', :locals => {:labor_budget => labor_budget} %>
<% end %>
</tbody>
@@ -37,7 +37,7 @@
<%= content_tag(:label, l(:field_overhead)) %>
<table id="deliverable-overhead" class="deliverable_finance_table">
<tbody>
<% form.fields_for :overhead_budgets, overhead_budgets.sort_by(&:id) do |overhead_budget| %>
<% form.fields_for :overhead_budgets, overhead_budgets.sort_by {|b| b.id || 0 } do |overhead_budget| %>
<%= render :partial => 'overhead_budget_form', :locals => {:overhead_budget => overhead_budget} %>
<% end %>
</tbody>
@@ -48,7 +48,7 @@
<div id="deliverable-fixed" class="fixed-item-form">
<label for="contract_discount">Fixed</label>
<% form.fields_for :fixed_budgets, fixed_budgets.sort_by(&:id) do |fixed_budget| %>
<% form.fields_for :fixed_budgets, fixed_budgets.sort_by {|b| b.id || 0 } do |fixed_budget| %>
<%= render :partial => 'fixed_budget_form', :locals => {:fixed_budget => fixed_budget} %>
<%= wikitoolbar_for "fixed-description#{fixed_budget.object.object_id}" %>
<% end %>
+1 -11
View File
@@ -2,21 +2,11 @@
<%= l(:text_deliverable_spending_summary,
:spent => content_tag(:span, h(number_to_currency(deliverable.labor_budget_spent, :precision => Deliverable::ViewPrecision)), :class => 'spent'),
:total => content_tag(:span, h(number_to_currency(deliverable.labor_budget_total, :precision => Deliverable::ViewPrecision)), :class => 'total'),
:hours => content_tag(:span, h(deliverable.labor_hours_spent_total), :class => 'hours')) %>
:hours => content_tag(:span, h(number_with_precision(deliverable.labor_hours_spent_total, :precision => Deliverable::ViewPrecision)), :class => 'hours')) %>
</div>
<h2><%= h(deliverable.title) %></h2>
<% if deliverable.retainer? %>
<div class="deliverable-period">
<form method="get" action="<%= finances_contract_deliverable_path(deliverable.project, contract, deliverable, :format => 'js') %>">
<select name="period" id="retainer_period_change_<%= h(deliverable.id) %>" class="retainer_period_change">
<%= retainer_period_options(deliverable, :selected => period) %>
</select>
</form>
</div>
<% end %>
<% has_categories = deliverable.project.issue_categories.count > 0 %>
<div id="deliverable-activities" class="deliverable-finance-report" style=" width: 48%">
+1 -1
View File
@@ -1 +1 @@
<%= render :partial => 'finances', :locals => {:contract => @contract, :deliverable => @deliverable, :period => @period } %>
<%= render :partial => 'finances', :locals => {:contract => @contract, :deliverable => @contract.deliverables.find(params[:id])} %>