diff --git a/app/controllers/budgets/investments_controller.rb b/app/controllers/budgets/investments_controller.rb index aaf65765f..435fae04c 100644 --- a/app/controllers/budgets/investments_controller.rb +++ b/app/controllers/budgets/investments_controller.rb @@ -94,7 +94,7 @@ module Budgets def set_random_seed if params[:order] == 'random' || params[:order].blank? - seed = rand(10..99) / 10.0 + seed = rand(11..99) / 10.0 params[:random_seed] ||= Float(seed) rescue 0 else params[:random_seed] = nil diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb index add7c3587..bd3e5b466 100644 --- a/app/models/budget/investment.rb +++ b/app/models/budget/investment.rb @@ -43,7 +43,7 @@ class Budget scope :sort_by_confidence_score, -> { reorder(confidence_score: :desc, id: :desc) } scope :sort_by_ballots, -> { reorder(ballot_lines_count: :desc, id: :desc) } scope :sort_by_price, -> { reorder(price: :desc, confidence_score: :desc, id: :desc) } - scope :sort_by_random, ->(seed) { reorder("budget_investments.id % #{seed || 1}, budget_investments.id") } + scope :sort_by_random, ->(seed) { reorder("budget_investments.id % #{seed.to_f&.positive? ? seed : 1}, budget_investments.id") } scope :valuation_open, -> { where(valuation_finished: false) } scope :without_admin, -> { valuation_open.where(administrator_id: nil) }