diff --git a/app/views/ingredients/_filters.html.erb b/app/views/ingredients/_filters.html.erb
index a92637e..ff1ff8f 100644
--- a/app/views/ingredients/_filters.html.erb
+++ b/app/views/ingredients/_filters.html.erb
@@ -35,7 +35,8 @@
|
<%= label_tag do %>
- <%= check_box_tag 'formula[zero_nil]', session[:i_filters][:formula][:zero_nil] %>
+ <%= hidden_field_tag 'formula[zero_nil]', 0 %>
+ <%= check_box_tag 'formula[zero_nil]', 1, @formula_q.formula.zero_nil %>
<%= t 'quantities.form.zero_nil' %>
<% end %>
|
diff --git a/app/views/measurements/_filters.html.erb b/app/views/measurements/_filters.html.erb
index cbbe94a..ebaf623 100644
--- a/app/views/measurements/_filters.html.erb
+++ b/app/views/measurements/_filters.html.erb
@@ -30,7 +30,8 @@
|
<%= label_tag do %>
- <%= check_box_tag 'formula[zero_nil]', session[:m_filters][:formula][:zero_nil] %>
+ <%= hidden_field_tag 'formula[zero_nil]', 0 %>
+ <%= check_box_tag 'formula[zero_nil]', 1, @formula_q.formula.zero_nil %>
<%= t 'quantities.form.zero_nil' %>
<% end %>
|
diff --git a/lib/body_tracking/items_with_quantities.rb b/lib/body_tracking/items_with_quantities.rb
index f935e2b..c99cad3 100644
--- a/lib/body_tracking/items_with_quantities.rb
+++ b/lib/body_tracking/items_with_quantities.rb
@@ -86,7 +86,11 @@ module BodyTracking
if deps.empty?
output_ids = items.select { |i| subitems[q.name][i.id].nil? }.map(&:id)
input_q = q.formula.quantities
- inputs = input_q.map { |i_q| [i_q, completed_q[i_q.name].values_at(*output_ids)] }
+ inputs = input_q.map do |i_q|
+ values = completed_q[i_q.name].values_at(*output_ids)
+ values.map! { |v, u| [v || BigDecimal(0), u] } if q.formula.zero_nil
+ [i_q, values]
+ end
begin
calculated = q.formula.calculate(inputs.to_h)
rescue Exception => e