<% @hours.collect {|h| h[criterias[level]].to_s}.uniq.each do |value| %> <% hours_for_value = select_hours(hours, criterias[level], value) -%> <% next if hours_for_value.empty? -%> <%= '' * level %> <%= h(format_criteria_value(criterias[level], value)) %> <%= '' * (criterias.length - level - 1) -%> <% total = 0 -%> <% @periods.each do |period| -%> <% sum = sum_hours(select_hours(hours_for_value, @columns, period.to_s)); total += sum -%> <%= html_hours("%.2f" % sum) if sum > 0 %> <% end -%> <%= html_hours("%.2f" % total) if total > 0 %> <% if criterias.length > level+1 -%> <%= render(:partial => 'report_criteria', :locals => {:criterias => criterias, :hours => hours_for_value, :level => (level + 1)}) %> <% end -%> <% end %>